- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Identity window, per customer
- Lifetime
- Most brands are live
- <20 min
How it flows
How a Shopify event reaches Google Ads Conversions. Captured on the server, resolved to a person, then sent.
01 Capture
Captured from Shopify
One Upstack app setup that captures Shopify storefront and checkout events with the Upstack Pixel, records every order directly from Shopify, and forwards both to every tool you spend on.
See the Shopify integration →
ShopifyWhat it sends order_idShopify order and checkout tokenemail / phonecustomer contact from checkoutcustomer_idShopify customer record, if they have oneline_itemsproducts, variants and quantitiestotal / subtotal / discountorder economics
02 Understand
Resolved to one person before it leaves
Every Shopify event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationThe browser tag and server-side conversions report to separate conversion actions, so keep one purchase action Primary and each order counts once.
- Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
03 Activate
Delivered to Google Ads Conversions
Send identity-resolved conversions to Google Ads with more matched parameters, so Enhanced Conversions actually match.
See the Google Ads Conversions integration →
Google Ads ConversionsWhat it receives hashed email / phone / addressEnhanced Conversions matchinggclid / wbraidkeep paid search attributionconversion valuevalue-based biddingorder_idthe order behind each conversion
Shopify to Google Ads Conversions, in detail
How Shopify purchases reach Google Ads conversions.
Google Ads bids toward whichever purchase action is Primary, and it doesn’t deduplicate the browser tag’s action against a server-side one. So Upstack reports Shopify purchases to a dedicated Purchase - UpstackData goal through the Google Ads tag and, with server-side delivery on, to its own Purchase - Upstack (Server-side) action through Google’s Data Manager API. You keep exactly one of them Primary.
| Shopify data | Sent to Google Ads as |
| Google ad click iPhone clicks often carry gbraid or wbraid instead of gclid. | gclid, gbraid or wbraid |
| Checkout email and phone SHA-256. Google accepts them once enhanced conversions are on for the account. | Hashed email and phone |
| Name and address Used the same way as enhanced conversions. | Hashed first and last name, postal code, country |
| Order ID, total and currency If Google doesn’t accept the order’s currency, the conversion is sent without a value. | Order ID, value, currency |
| Line items Product IDs follow the destination’s Product ID Format field. | Line items |
| New or returning customer Optional, for campaigns that bid toward new customers. | New Customer Purchase action |
| Visitor IP and user agent Sent with every server-side event. | IP address, user agent |
One Primary purchase action
Set Purchase - Upstack (Server-side) to Primary and every other purchase action, Purchase - UpstackData included, to Secondary (observe only). Without server-side delivery, Purchase - UpstackData is the Primary one.
Enhanced conversions at the account level
Accept the customer data terms and turn on Enhanced conversions for leads under Goals, Conversions, Settings before you connect. If Google rejects customer data, Upstack keeps sending that destination’s conversions with only the click ID and IP address until support turns customer data back on.
Events Google can’t match
Upstack skips an event that has no click ID, no customer data and no IP address, because Google can’t match it to anyone.
Shopify’s Google & YouTube channel
If its conversion tracking also reports purchases, pick one method. Pointing two senders at the same goal mixes them, which makes deduplication and quality comparison impossible.
The catch
Shopify brands almost always have a pixel already firing.
Sending server events alongside it without a shared event ID is how a single purchase becomes two conversions and your reported ROAS quietly doubles. Upstack records one Purchase per Shopify order ID, so the pixel's copy and Shopify's own copy of an order count once.
Where to check in Google Ads ConversionsDelivery you can audit
Google Ads › Goals › Conversions › Diagnostics
Enhanced Conversions reports the share of conversions with usable hashed data attached.
What changes
What changes when Shopify feeds Google Ads Conversions. Two gains on the Google Ads Conversions side, two on the Shopify side.
Google Ads Conversions
Enhanced Conversions that match
Email, phone, name and address hashed and attached whenever Upstack has them, so more conversions come back attributed.
Google Ads Conversions
Restored gclid
Click IDs recovered from the graph when the browser drops them, so paid search keeps its attribution.
Shopify
Orders recorded from Shopify itself
Purchases also reach Upstack directly from Shopify, about 10 minutes after the order, so an order still counts when an ad blocker stopped the pixel or the shopper closed the page.
Shopify
Recognize returning customers
Shopify customer IDs, emails and phones are matched against the graph, so repeat buyers are identified across devices.
Setup
Live in under 20 minutes.
App install, no theme edits and no developer. You need admin access to the Google Ads account, with permission to create or edit conversion actions and owner or staff access to Shopify.
Upstack dashboardExample
Shopify Data source Connected
Google Ads Conversions Destination Healthy
Read the full Google Ads Conversions setup guide → -
01
Connect Shopify
In the Upstack dashboard, open System, then Data Sources, and click Connect Shopify. Approve the install in your Shopify Admin: Upstack reads products, orders and customers, and writes only its own pixel.
-
02
Create the Purchase - UpstackData goal
In Google Ads, create a Purchase conversion goal named Purchase - UpstackData, with a 30-day click-through window and enhanced conversions on.
-
03
Add the Google Ads destination
Under Destinations, add Google Ads with the Conversion ID (AW- followed by 9 to 10 digits) and the 11 character Conversion Label from the goal’s tag setup.
-
04
Turn on enhanced conversions for the account
Under Goals, Conversions, Settings, accept the customer data terms and turn on Enhanced conversions for leads. Both apply even if you only send purchases.
-
05
Connect Google Ads for server-side delivery
With Tracking Method on Browser + Server, click Connect Google Ads and sign in as a Google user with direct Admin access to the ad account. Choose the account, click Create & link all, check every event is linked, then save.
-
06
Keep one Primary purchase action
Under Goals, Summary, set Purchase - Upstack (Server-side) to Primary and the rest to Secondary. If its attribution model is Last click, change it to Data-driven.
After setup
What to check in Google Ads.
Upstack shows the Google Ads destination as Healthy.
After you reopen the destination, every event under Event conversion mappings still shows its linked conversion action.
Goals, Conversions, Summary lists Purchase - Upstack (Server-side) as the only Primary purchase action, with the source Website (Import from clicks).
A test order shows up against Purchase - Upstack (Server-side). Google can take a few hours, and up to 24 to 48, to show it.
Troubleshooting
Common problems and fixes.
-
No conversions arriving
Check every event is linked rather than Not linked, that you saved, and that the destination is Healthy. Events with no click ID, customer data or IP address are skipped.
-
Purchases counted twice
Two purchase actions are Primary. Google counts the tag’s action and the server-side action separately, so keep only one Primary.
-
Your ad account isn’t in the list
Only active ad accounts the Google user can open directly are listed, not manager (MCC) or test accounts. Add the user to the ad account itself, then reopen the destination.
-
“Conversion action name already exists”
Google reserves conversion action names, including removed ones, and a second store on the same account hits this too. Rename the action, for example with the store name.
-
Conversions arrive but match few users
Enhanced conversions or the customer data terms are off at the account level. Turn both on, then ask support to turn customer data back on.
FAQ
Questions about Shopify and Google Ads Conversions.
How do I connect Shopify to Google Ads conversions?
Connect Shopify, create a Purchase - UpstackData goal, add the Google Ads destination with its Conversion ID and Label, turn on enhanced conversions for the account, then click Connect Google Ads and link your events. Finally make Purchase - Upstack (Server-side) your only Primary purchase action. Most brands are live in under 20 minutes.
Why does Upstack create a new conversion goal instead of using my existing one?
Pointing Upstack at your existing goal would mix its server-side conversions with whatever already fires into that goal (gtag, Shopify’s native tag, GTM), which makes deduplication and quality comparison impossible. A dedicated Upstack goal keeps the data clean.
Why doesn’t Upstack support Enhanced Conversions directly?
Upstack already sends the hashed match keys Enhanced Conversions uses (email, phone, name, address) on every server-side event, so configuring Enhanced Conversions for web on the Upstack goal would not add data. The account-level setup is separate and still recommended: Google will not accept customer data over the API until the account has agreed to the customer data terms and turned on enhanced conversions for leads.
Which customer parameters are sent to Google Ads Conversions?
Server-side conversions carry the gclid, gbraid or wbraid click ID plus email, phone, first and last name, city, state, zip and country, hashed with SHA-256. Google accepts the customer data only once enhanced conversions are switched on at the account level.
How do I check that Shopify events are reaching Google Ads Conversions?
Upstack marks the destination Healthy, and Goals, Conversions, Summary in Google Ads shows Purchase - Upstack (Server-side) as your only Primary purchase action. Place a test order and check that the conversion appears in Google Ads within 24 to 48 hours.
Do I need a developer to connect Shopify to Google Ads Conversions?
No. Shopify connects as an app install with no theme edits, and most brands are live in under 20 minutes. Headless storefronts add the Upstack Pixel script instead of the theme app extension.
Will Google count a purchase twice with the tag and server-side both running?
Not if only one purchase action is Primary. The tag reports to Purchase - UpstackData and server-side delivery to Purchase - Upstack (Server-side); Google doesn’t match the two, so set one Primary and the other to Secondary (observe only).
Which Shopify events can Upstack send to Google Ads?
Purchase, New Customer Purchase, Subscription Initial Purchase, Subscription Recurring Purchase, Add To Cart and Initiate Checkout, each to its own conversion action. Purchase is the one most stores bid on, and you can add others such as RC Purchase.
Does every conversion need a gclid?
No. Each server-side event carries whatever Upstack has for the visitor or order: the click ID, hashed customer data, IP address and user agent. Upstack only skips an event that has none of the click ID, customer data and IP address.
Keep reading
More on Shopify and Google Ads Conversions.
- Google Ads Conversion Tracking for Shopify How to set up Google Ads conversion tracking on Shopify the right way: Google Tag, enhanced conversions, server-side tracking and the common pitfalls to avoid. Guide
- What Is gclid? The Google Ads Click ID gclid is the click ID Google Ads adds to ad links with auto-tagging. See the _gcl_aw cookie, gbraid and wbraid on iOS, and why Shopify stores lose it. Read on. Guide
- Server-Side Tracking Guide for Shopify Brands Learn what server-side tracking is, how it compares to pixel tracking and how Shopify brands send events to Meta, Google and TikTok from the server. Read on. Guide
- Best Server-Side Tracking Tools for Shopify Compare 12 server-side tracking tools for Shopify, from Elevar, Stape and Littledata to free Meta options, with prices and destinations checked October 2026. Guide
- Shopify integration Integration
- Google Ads Conversions integration Integration
- Upstack Signal: server-side tracking and identity resolution Product
- Upstack vs Elevar for Shopify tracking Comparison
- How Upstack works, from pixel to destination Overview