Skip to main content
  1. Home
  2. Connectors
  3. Shopify - Google Ads Conversions

Send every Shopify event to Google Ads Conversions, server-side

Each event is resolved to a person against a 750M+ device graph before it reaches Google Ads Conversions, with restored click IDs, deduplicated conversions and delivery you can audit.

4.6 out of 5 from 36 reviews on the Shopify App Store

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 token
  • email / phonecustomer contact from checkout
  • customer_idShopify customer record, if they have one
  • line_itemsproducts, variants and quantities
  • total / 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
Upstack DataResolved 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.

Ad platforms accept almost anything and tell you very little. These controls exist so you can see what was sent and what was accepted, rather than inferring it from a reporting gap.

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 matching
  • gclid / wbraidkeep paid search attribution
  • conversion valuevalue-based bidding
  • order_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 dataSent 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
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Related connectors

See all 408 connectors

Get Shopify talking to Google Ads Conversions.

A 15-minute walkthrough of this connector on your own account.

21-day free trial, no card. Month to month.