How should a Shopify store send purchases to Google Ads?
By the HonestTag team ยท Published October 24, 2026
A Shopify store can send purchases to Google Ads with the Google tag or with a server-to-server upload. The reliable setup is the one where each purchase reaches the action you bid on once, with a unique transaction ID such as the Shopify order number: Google says that when two conversions for the same action share a transaction ID, it "will know the second conversion is a duplicate" (Google Ads Help). None of it makes Google's number equal your order count.
The ways in
- A custom pixel with the Google tag. Shopify says custom pixels run "in a Lax sandbox" and that adding and using them "is unsupported by Shopify" (Shopify Help Center). You own the code and its fixes.
- A server upload. A server sends each order to Google through an API such as Google's Data Manager API, which Google calls "A unified ingestion API for data partners, agencies and advertisers to send first-party data to multiple Google advertising products" (Google for Developers).
On new customers: Google says "Shopify advertisers who have migrated to the Google & YouTube app have the parameter set up automatically for them," meaning its customer acquisition parameter (Google Ads Help).
One older route is gone: Shopify says "checkout.liquid and additional scripts were sunset for the Thank you and Order status pages on August 28, 2025" (shopify.dev).
Install HonestTag free and run the Mirror plan beside your current tracking. It sends no purchases or conversions to your ad platforms, so it cannot double-count a sale or change your current setup, and it shows which platform claims hold up against the new customers in your real orders. Free at any store size.
The rule that prevents double counting
Google's rule is short: "If there are 2 conversions for the same conversion action with the same transaction ID, Google Ads will know the second conversion is a duplicate." If the tag and a server both send the same purchase, Google says "the transaction ID should be consistent across both the tag and server-to-server uploads" (Google Ads Help).
Primary and secondary actions
Google calls secondary actions "for observation only," with "one exception": a secondary action that "is part of a custom goal, in which case it's used for bidding" (Google Ads Help). So a second source on a secondary action can report purchases beside your current one without being used for bidding, unless that action is part of a custom goal.
Check what Google Ads claims first. The free Mirror plan shows what Google Ads reports beside the new customers whose first ad click was Google, without changing your bidding.
Hashed customer data, and consent
- Hashed data. Google's enhanced conversions hash customer data "such as email addresses" with SHA256 "before sending to Google," and Google uses it "to match your customers to Google accounts, which were signed-in to when they engaged with one of your ads" (Google Ads Help).
- Consent. Google says the ad_user_data consent type "is required for measurement use cases, such as enhanced conversions and tag-based conversion tracking" (Google Ads Help). Google Consent Mode v2 explains the signals.
What hashed data can and cannot match, and why a setup can send none, is in hashed customer data.
A setup checklist
- List every source that sends purchases into Google Ads: the app, a custom pixel, a tag manager, another app.
- Make sure each primary purchase action gets each order from one source, or from two that share the order number as the transaction ID.
- Keep any new source on a secondary action until you have compared it with your orders.
- Compare Google's purchases with your Shopify orders for the same days before you change bidding. Which columns to compare matters as much as the dates.
What HonestTag does
- The free Mirror plan sends no purchases or conversions to Google Ads. It shows what Google Ads reports beside the new customers whose first recorded ad click was Google, from your own orders.
- On a paid plan, HonestTag creates its own HonestTag_ actions, set to secondary, so they do not change your bidding unless you promote them or add them to a custom goal. HonestTag never changes your campaigns or the settings of your own actions.
- Each order HonestTag delivers goes through Google's Data Manager API with its click id when it has one, the buyer's email and phone hashed where available, the order ID as transaction ID and the recorded consent signals. An order the consent rules block is not sent.
- New and returning customers get their own actions (HonestTag_Purchase_NC and HonestTag_Purchase_RC). Where Google accepts an adjustment, a full refund retracts the conversion and a partial refund restates its value; Google accepts none on a wbraid click.
Details are in the HonestTag conversion actions and Connect Google Ads.
Frequently asked questions
Should I send purchases to Google Ads with the tag or a server upload?
Either can work. What matters is that each order reaches the action you bid on once, with the same transaction ID if both routes send it. Google says the transaction ID should be consistent across the tag and server-to-server uploads.
Why does Google Ads show more purchases than my store?
Check how many sources send purchases into the action, and whether they share a transaction ID. Google says that when two conversions for the same conversion action have the same transaction ID, it will know the second is a duplicate.
Can I add a second source without changing my bidding?
Yes, by keeping its action secondary. Google says secondary actions are for observation only, unless the action is part of a custom goal.
Does hashed customer data need consent?
Google says the ad_user_data consent type is required for measurement use cases such as enhanced conversions.
Check what Google Ads claims first
The free Mirror plan shows what Google Ads reports beside the new customers whose first ad click was Google, without changing your bidding.
- No risk to your setup. The Mirror plan sends no purchases or conversions to your ad platforms, so it cannot double-count a sale or change your current setup.
- Claims against real orders. It shows what Google Ads, Meta, Microsoft Advertising and TikTok claim beside the new customers whose first recorded ad click or ad-tagged link was that platform, counted from your own orders.
- Free at any store size. The Mirror plan stays free whatever your sales.
Related reading: what a conversions API is, and duplicate purchase events.