Google Measurement Protocol

Browser-based user interaction tracking can potentially be blocked by ad blocking software installed on customer’s computers. As an alternative, you may consider using Google Measurement Protocol (GMP) to track user interactions on the back-end (i.e., on your own server).

When using GMP to track user interactions on the back-end, your server must generate a “client ID” for each customer who lands on your website and persist that ID, so it is tracked throughout your site. For more information, see Google Measurement Protocol.

When the customer initiates a purchase, you can pass the client ID to FastSpring along with any other order data, as an order tag. You can find more information about passing order tags in our article Passing and Capturing Custom Order Tags and Product Attributes.

If you do not already subscribe to the order.completedorder.failed, and order.canceled server webhook events, you should do that, and create a script to parse the posts sent by FastSpring for each order. Upon order completion, the JSON order data sent via the webhooks includes the order tags containing the client ID. You can use the client ID to update your records with order information. You can complete the process by sending the tracking request for the client ID from your server. See Webhooks for more information.


You can optionally subscribe to the return.created webhook event to tie return/refund information to the tracking client ID. Subscription lifecycle tracking can also be tied to the tracking client ID by subscribing to the subscription.activatedsubscription.deactivated, and subscription.canceled webhook events, all of which include order tags for the order that created the subscription.

In this way, the customer’s web browser is not directly involved in the tracking process. By bypassing the browser, you can bypass ad blocking software and ensure that tracking and reporting occur for all customers.