Skip to main content
  1. Home
  2. Integrations
  3. Google Ads Conversions
Upstack Data

Google Ads Conversions integration: identity-resolved conversions, sent server-side

Send identity-resolved conversions to Google Ads with more matched parameters, so Enhanced Conversions actually match.

Role
Destination
Category
Ad platforms
Pre-built connectors
12 sources
Plans
All plans
Spend in
Google Ads

What Upstack sends

Every conversion reaches Google Ads Conversions with the identifiers it matches on. Captured on the server, resolved to a person, then sent.

In: from Shopify1 of 12 sources
  • 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

Storefront events from the Upstack Pixel, orders directly from Shopify.

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.
Out: to Google Ads ConversionsOn every event
  • hashed email / phone / addressEnhanced Conversions matching
  • gclid / wbraidkeep paid search attribution
  • conversion valuevalue-based bidding
  • order_idthe order behind each conversion

Enhanced Conversions that actually match.

About Google Ads Conversions

Enhanced Conversions works when the hashed data is there.

Upstack sends each purchase with whatever it has for that order: the gclid, gbraid or wbraid click ID, hashed email, phone, name, postal code and country, IP address and user agent. Conversions go to conversion actions Upstack creates, so they are never mixed with gtag, Shopify’s own tag or Google Tag Manager, and Smart Bidding learns from one clean purchase action.

What Google Ads Conversions is

Google Ads covers search, shopping, YouTube and Performance Max, the channels where intent is highest and where attribution is hardest to hold onto.

Enhanced Conversions is Google’s mechanism for matching conversions using hashed first-party data. It only works as well as the identifiers you send, which is why server-side capture and Enhanced Conversions are effectively the same project.

How Google Ads Conversions works

Google Ads attributes a conversion by tying it back to a click, historically through the gclid parameter carried in the landing-page URL and stored by the conversion tag. When that identifier is missing or the tag never fires, the conversion is either modeled or lost. Enhanced Conversions is Google’s answer: the advertiser sends hashed first-party data (email, phone, name and address) alongside the conversion, and Google matches it against signed-in users. Offline Conversion Import handles the reverse case, uploading conversions that happened away from the site against the original click.

What you can do with it

Three jobs this connector does inside Google Ads Conversions.

01

Send complete conversions

Purchases reach Google Ads through Google’s Data Manager API with the click ID and hashed customer data attached, and the browser tag can keep running beside them.

02

Optimize on the customer you want

Map New Customer Purchase or Subscription Initial Purchase to its own conversion action and point a campaign at it, or override the value to send profit instead of revenue.

03

One purchase action to bid on

Upstack creates its own conversion actions, so you choose exactly one Primary purchase action and each order is counted once.

How it works

How the Google Ads conversions integration works.

Upstack reports purchases to Google Ads through the Google Ads tag, through Google’s Data Manager API from its own servers, or both. The Tracking Method setting decides which.

Two paths, one Primary goal

The browser tag reports to the Purchase - UpstackData goal set by your Conversion ID and Label. Server-side delivery reports to the conversion actions linked in Event conversion mappings. Google doesn’t deduplicate between them, so keep exactly one purchase action Primary.

Events you can map

Purchase, New Customer Purchase, Subscription Initial Purchase, Subscription Recurring Purchase, Add To Cart and Initiate Checkout. Create & link all makes one conversion action per event, such as Purchase - Upstack (Server-side).

What each conversion carries

The gclid, gbraid or wbraid click ID, SHA-256 hashed email and phone, hashed first and last name with postal code and country, IP address and user agent, plus order ID, value, currency and line items. An event with no click ID, no customer data and no IP address is skipped.

Each order counted once

Upstack sends the Shopify order ID with every purchase, and Google counts each order ID once per conversion action. Upstack creates actions with Count set to One; set purchases to Every so repeat orders after one click are counted.

Customer data needs two account settings

Accept Google’s customer data terms and turn on enhanced conversions for leads under Goals, Conversions, Settings, even if you only send purchases. If Google rejects customer data, Upstack sends later conversions with the click ID and IP address only until support turns customer data back on.

Timing, and orders left out

Google Ads can take a few hours to show a new conversion, and up to 24 to 48 hours for a test order. Zero-value orders, draft orders, POS orders, exchanges and subscription renewals aren’t sent as purchases.

Setup

Set up the Google Ads conversions integration.

What you need

  • Admin access to the Google Ads account, with permission to create conversion actions.
  • For server-side delivery, a Google user with direct access to the ad account. Manager (MCC) and test accounts aren’t listed.
  • For the browser tag, the Conversion ID (AW- plus 9 or 10 digits) and the 11-character Conversion Label.
Google Ads server-side setup guide
  1. Step 1

    Turn on the account settings

    In Google Ads, open Goals, Conversions, Settings, Enhanced conversions, accept the customer data terms and turn on enhanced conversions for leads.

  2. Step 2

    Add the Google Ads destination

    In Upstack, open Destinations, click New Destination and choose Google Ads. For the browser tag, paste the Conversion ID and Label from your Purchase - UpstackData goal’s Tag Setup.

  3. Step 3

    Connect for server-side delivery

    Set Tracking Method to Browser + Server or Server, click Connect Google Ads, allow every permission including offline access, then choose the ad account.

  4. Step 4

    Create and link conversion actions

    Remove events you don’t need, click Create & link all, check that every row is linked and save. Only linked rows are sent.

  5. Step 5

    Make one purchase action Primary

    In Goals, Summary, make Purchase - Upstack (Server-side) the only Primary purchase action and set the rest, including Purchase - UpstackData, to Secondary. Then set its Count to Every and its attribution model to data-driven.

Check it

How to verify it’s working, and common fixes.

How to verify it’s working

  • Upstack’s Destinations page shows Google Ads as Healthy.
  • Goals, Conversions, Summary lists the linked actions, with Purchase - Upstack (Server-side) as the only Primary purchase action.
  • A new action shows Inactive until data arrives, then Active. Place a test order and check that it is recorded.
  • The Real-Time Events feed under System, Events Manager shows the test event delivered.

Common problems and fixes

Unhealthy, or no conversions from the browser tag.
The Conversion ID must start with AW- and match Google Ads, the label must be copied without spaces, and the conversion action must be enabled, not paused.
No server-side conversions arriving.
Rows are Not linked or weren’t saved. Link them, save, confirm Healthy and allow a few hours.
The ad account isn’t in the list.
Only active accounts the Google user can open directly are listed. Add that user to the ad account itself, then reopen the list.
“Google did not return a refresh token.”
Connect again and allow every permission, including offline access.
“The name already exists” when creating actions.
Google reserves conversion action names, including removed ones. Use the pencil icon to rename, for example by adding the store name.
Each order counted twice.
Two purchase actions are Primary, usually the browser and server actions. Keep only one Primary.

Pre-built connectors

12 sources connect to Google Ads Conversions. Whichever of these you run, Google Ads Conversions is one switch away.

See all connectors

Documentation

Set-up reference.

Set-up, event schema and field mapping for Google Ads Conversions as a destination, next to the Google Ads Conversions developer docs.

FAQ

Google Ads Conversions integration questions.

What does Upstack send to Google Ads?

Purchases, and optionally new-customer purchases, subscription orders, add-to-carts and checkouts, each to its own conversion action. Every conversion carries the gclid, gbraid or wbraid click ID and hashed customer data when Upstack has them, plus order ID, value and currency.

Why does Upstack create a new conversion goal instead of using my existing one?

Sending Upstack’s conversions into an existing goal would mix them with whatever already fires there (gtag, Shopify’s native tag, Google Tag Manager), which makes deduplication and quality comparison impossible. A dedicated goal keeps the data clean.

Which purchase action should be Primary?

With server-side delivery on, Purchase - Upstack (Server-side). With the browser tag only, Purchase - UpstackData. Set every other purchase action to Secondary, because Google doesn’t deduplicate between actions.

Should purchase conversions count One or Every?

Every. Upstack creates its actions with One, so change it. Every won’t count an order twice, because Upstack sends the Shopify order ID and Google counts each order once per action.

Why doesn’t Upstack support Enhanced Conversions directly?

It already sends the hashed keys Enhanced Conversions uses (email, phone, name, address) with each server-side event, so turning it on for the Upstack goal adds no data. The account-level settings still matter: Google accepts customer data only after you accept its terms and turn on enhanced conversions for leads.

Do I need the Conversion ID and Label for server-side delivery?

No. With Tracking Method set to Server, the Google Ads tag never loads and both fields are optional.

Why isn’t my Google Ads account in the list?

The list shows active accounts the connected Google user can open directly. Manager (MCC) and test accounts aren’t listed, so add the user to the ad account itself.

Can I optimize one campaign for new customers?

Yes. Map New Customer Purchase to its own conversion action, then set that campaign’s own conversion goal to it rather than changing the account default.

Which plans include the Google Ads Conversions integration?

All plans. Upstack has three plans that scale with your order volume, and the same integrations are on every plan.

Can Upstack also pull spend from Google Ads?

Yes, through the Google Ads integration. Pull Google Ads cost and delivery data into Upstack alongside your orders, so blended ROAS and true CAC are computed from both halves of the equation rather than one.

Guides

Guides and related pages.

Background reading for the Google Ads Conversions integration, and the Upstack pages that go with it.

Similar integrations

Other Ad platforms integrations.

See all integrations

Get Google Ads Conversions tracking right.

A 15-minute walkthrough tailored to your stack and channels.