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

Google Ads integration: ad spend and delivery joined to your orders

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.

Role
Source
Category
Ad platforms
Plans
All plans
Conversions out
Google Ads Conversions

About Google Ads

Upstack brings Google Ads cost into the same reports as your orders, so ROAS and CPA are computed from both.

Spend syncs at the ad group level and rolls up to campaigns. Performance Max is reported at the campaign level, because Google doesn’t expose ad group detail for it. The gclid captured by the Upstack Pixel links a click to the orders that follow.

What Google Ads is

Google Ads spans search, shopping, display, video and Performance Max, surfaces that behave so differently that a single blended cost number hides more than it shows.

The campaign that produced a customer and the campaign that produced a bounce cost the same until its spend is set beside the orders it drove.

How Google Ads works

Google Ads reports cost and delivery through its API against a campaign, ad group and keyword hierarchy, with its own conversion tracking layered on top. Its conversion column reflects what Google matched inside its attribution settings: data-driven or last-click, over a window you chose months ago. Offline and phone orders are absent unless something uploads them, and Performance Max deliberately reports less detail than the other campaign types.

What you can do with it

Three jobs Google Ads does once it is connected.

01

Cost next to revenue

Spend, impressions and clicks arrive daily at campaign, ad group and ad level, so profitability comes from your orders rather than from Google’s own conversion column.

02

Every campaign type

Search, Shopping, Display, Video and Performance Max campaigns come in with their names, status and budgets.

03

Google’s view beside yours

Google-reported conversions are imported for comparison, so Google’s claim sits next to the orders Upstack credits to Google.

How it works

How Google Ads ROAS reporting works.

A read-only connection that pulls your Google Ads cost every 15 minutes and lines it up with the orders your store recorded.

What comes in

Daily spend, clicks, impressions and Google-reported conversions for every campaign, ad group and ad, with CPC, CPM and CTR calculated. The metrics reference lists 25 Google Ads metrics, including video views of 30 seconds or more.

How often it refreshes

The first sync imports up to 36 months of history and usually finishes in 2 to 4 hours. After that Upstack checks every 15 minutes and re-pulls the most recent 2 days for late spend.

Read-only, with MCC support

Upstack can’t create, change or spend on campaigns. Sub-accounts under a manager (MCC) account are listed, and each account you select becomes its own source.

How spend meets orders

The Attribution board shows channel spend, CPA and ROAS beside orders and revenue, and groups campaigns, ad groups and ads by the UTM values on each visit. Upstack’s Google template sets utm_medium=paid, because a click ID alone doesn’t mark a visit as paid.

Measures you can query

google.spend holds Google’s numbers; channel.spend, channel.roas and channel.cpa add up every connected account; orders.total_roas computes ROAS from your orders. Money converts to your reporting currency.

Timezones

Platform data is stored in UTC and shown in your account timezone. Google reports spend by hour in the ad account’s timezone, so a timezone mismatch moves spend between days.

Setup

What you need, and how to connect it.

What you need

  • Admin or Standard access to the Google Ads account.
  • Your Customer ID, in the format 123-456-7890.
  • Access to the sub-accounts, if you use a manager (MCC) account.
Connect Google Ads as a source
  1. Step 1

    Open Data Sources

    In Upstack, go to System, then Data Sources.

  2. Step 2

    Connect Google Ads

    On the Google Ads card, open the three-dot menu, click Connect, choose your Google account and click Continue to grant read-only access.

  3. Step 3

    Select the accounts

    Choose the accounts, or sub-accounts under an MCC, that drive traffic to your store. Each one becomes its own source.

  4. Step 4

    Save

    Click Save. The card shows Connected and the backfill starts.

  5. Step 5

    Tag your ads

    Paste Upstack’s UTM template into your Google Ads URL parameters, so campaigns, ad groups and ads are grouped correctly and counted as paid.

Check it

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

How to verify it’s working

  • The Google Ads source shows Connected under System, Data Sources, with a Last synced time.
  • Campaign data appears on the source’s detail page within 2 to 4 hours.
  • Spend shows in Reports, Attribution, and ROAS fills in for campaigns with both spend and attributed orders.

Common problems and fixes

No data after connecting.
Wait for the 2 to 4 hour backfill. Then check that the account has spend in the last 36 months, that you selected the sub-account rather than the MCC, and reconnect if needed.
Spend doesn’t match Google Ads.
Under 5% is normal. Larger gaps come from a timezone mismatch, currency conversion timing or invalid clicks Google removed after the last sync.
Auth Error or Token Expired.
A password change or revoked access ended the connection. Reconnect with the original account and click Sync Now. A dedicated Google account that won’t change password avoids repeats.
The source disconnects when someone leaves.
The connecting user lost access. Disconnect and reconnect with an account that has access, ideally the brand owner’s.
Google traffic lands in organic.
Ad links have no UTM parameters. Add Upstack’s template so visits are tagged with utm_medium=paid.

Documentation

Set-up reference.

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

FAQ

Google Ads integration questions.

What does Upstack import from Google Ads?

Daily spend, clicks, impressions and Google-reported conversions for Search, Shopping, Display, Video and Performance Max campaigns, with their ad groups and ads. It imports cost only; sending conversions to Google is a separate destination.

How far back does the import go, and how often does it refresh?

Up to 36 months on the first sync, which usually takes 2 to 4 hours. After that Upstack checks every 15 minutes and re-pulls the last 2 days.

Does Upstack get write access to my campaigns?

No. The connection is read-only. Google Ads data in Upstack is used for reporting and attribution and doesn’t affect ad delivery.

Can I connect accounts under a manager (MCC) account?

Yes. Select the sub-accounts rather than the manager account. Each one you select becomes its own source.

How is Performance Max reported?

At the campaign level, because Google doesn’t expose ad group details for Performance Max.

Why doesn’t spend match Google Ads exactly?

A gap under 5% is normal, from timezone normalization and Google’s post-click adjustments. Larger gaps usually mean a timezone mismatch, currency conversion timing, or invalid clicks removed after the last sync.

What do I do when Google Ads spend stops updating?

Check the source for an Auth Error or Token Expired status, reconnect with the original Google account, re-select the accounts and click Sync Now. Missed data is backfilled on the next sync.

Which plans include the Google Ads integration?

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

Can Upstack also send conversions to Google Ads Conversions?

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

Guides

Guides and related pages.

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

Similar integrations

Other sources to connect.

See all integrations

Get Google Ads tracking right.

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