Question from Reddit:
I have a Google Ads campaign that sends traffic to a Chrome Extension. After they install, there are options to upgrade to Premium Users — which ultimately sends them to a landing page on Stripe. This isn’t a custom website of my own, I just use the default Stripe product page.
I cannot seem to figure out how to set it up so my Google Ads campaign can effectively track conversions on that Stripe page. The checkout page URL gets dynamically generated each time and is always unique for each session, so I can’t use that. Are there any options inside of the Stripe dashboard/settings to where, I can link it to my Google Ads or Google Analytics account? If not, is there some other method I can use to effectively track final conversions on Stripe from the initial Google Ads click?
Thanks
Answer from Nabil:
The short answer is:
You are correct that the lack of custom code access on the default Stripe product page and the dynamic, unique URLs make traditional client-side Google Ads conversion tracking impossible for this setup.
There are no built-in dashboard settings in Stripe to directly connect to Google Ads or Google Analytics for conversion tracking.
The only reliable, long-term solution is to completely bypass the Stripe website and implement server-side tracking using the Stripe API to report the conversion directly to Google Ads.
You can track the user’s initial Google Ads Click ID (gclid
) when they install the extension, store it, and then pass it along with the Stripe transaction to a server-side tagging environment like Stape or Google Cloud Platform, which then uses the Google Ads API to attribute the conversion.
The long answer is:
Your challenge is a perfect example of a common data disconnect that occurs when a conversion event happens on a third-party platform that you cannot modify, like a standard Stripe checkout page.
Since you can’t place a Google Tag Manager container or the Google Ads conversion code snippet on Stripe’s domain, you cannot use the standard client-side method of tracking a purchase
or conversion event by firing a tag on the thank-you page.
To effectively track the conversion, you need to follow a multi-step, server-side attribution method.
The first step involves tracking the initial click and user on your Chrome Extension’s landing page.
When the user lands from your Google Ad, the URL contains the Google Click ID (gclid
) from auto-tagging.
You need to capture this gclid
, store it securely in a first-party cookie or the Chrome Extension’s local storage, and ensure it is carried through the upgrade process.
The second step is the conversion itself on Stripe.
Since you can’t track it on Stripe’s page, you must use the Stripe API and Webhooks.
When a user successfully upgrades, Stripe sends an event notification – specifically the checkout.session.completed
event or similar – to an endpoint you control.
This is the moment you confirm the conversion.
The third and final step is attribution.
This is where the Google Ads API combined with a server-side container like Stape or Google Cloud Platform becomes the critical link.
When your backend receives the confirmation from the Stripe API, it retrieves the stored gclid
that belongs to that user.
Your backend then sends a Measurement Protocol hit or server-side request to your GTM Server Container.
The server container is configured to receive this hit, which contains the transaction details and the original gclid
.
The server container then forwards this data using the Google Ads API to the Google Ads system.
By doing this, you are effectively telling Google Ads: “A conversion just happened, and it belongs to the user who clicked on this specific gclid
.”
This process is highly accurate, unaffected by ad blockers or browser restrictions, and is the only way to reliably track conversions on a third-party site where you cannot add custom code.
This setup ensures your campaign is accurately optimizing toward real revenue, not just the upgrade option click.