Documentation Index
Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt
Use this file to discover all available pages before exploring further.
Data direction: This is a source — data flows into Upstack from this platform for analytics, reporting, and enrichment.
Prerequisites
Prerequisites:
- An Upstack Data account (sign up for free)
- Access to your workspace in the Upstack dashboard
- A Google Ads account with active or historical campaigns
- Admin or Standard access to the Google Ads account you want to connect
- If you use a Google Ads Manager Account (MCC), you’ll need access to the specific sub-accounts you want to sync
Setup
Authenticate with Google
In the Upstack dashboard, navigate to Integrations → Sources and click Connect Google Ads.Click Sign in with Google to begin the OAuth flow. Log in with the Google account that has access to your Google Ads account and grant Upstack permission to read your advertising data.
Upstack requests read-only access to your Google Ads data. No permissions to create, modify, or spend on campaigns are requested.
Select ad accounts
After authentication, Upstack lists all Google Ads accounts (including sub-accounts under an MCC) accessible to your Google account. Select the account(s) you want to sync.Each selected account appears as a separate data source in the Upstack dashboard with its own sync status and metrics.
What Data Flows In
| Metric | Description | Granularity |
|---|---|---|
| Spend | Total cost per campaign/ad group/ad | Daily |
| Clicks | Total clicks on ads | Daily |
| Impressions | Number of times ads were shown | Daily |
| Conversions | Google-reported conversions (for comparison) | Daily |
| CPC | Cost per click | Daily (calculated) |
| CPM | Cost per thousand impressions | Daily (calculated) |
| CTR | Click-through rate | Daily (calculated) |
Campaign Structure
Upstack imports the full Google Ads hierarchy:- Campaigns — name, type (Search, Shopping, Display, Video, Performance Max), status, budget
- Ad Groups — name, targeting, bid strategy
- Ads — name, type, status
Google Ads data is synced at the ad group level and aggregated up. Performance Max campaigns are reported at the campaign level since Google doesn’t expose ad group details for pMax.
Click ID Tracking
When visitors arrive at your store from Google Ads, thegclid (Google Click ID) parameter is captured by the Upstack Pixel and stored in the visitor’s session. This gclid links the ad click to any subsequent conversion events, enabling deterministic click-to-conversion attribution.
You’ll Know It’s Working When…
- Your Google Ads source shows Connected status in the Upstack dashboard under Integrations → Sources
- Campaign data appears in the Sources → Google Ads detail page within 30 minutes of initial connection
- Spend metrics are visible in Analytics → Attribution reports alongside your conversion data
- ROAS calculations populate for campaigns that have both spend data and attributed conversions
Troubleshooting
No data appearing after connecting
No data appearing after connecting
Check the sync status in Integrations → Sources → Google Ads. The initial 90-day backfill can take up to 30 minutes.If no data appears after 1 hour:
- Verify the connected account has campaigns with spend in the last 90 days
- Confirm you selected the correct account (check the Account ID matches what you see in Google Ads)
- If using an MCC, ensure you selected the sub-account, not the manager account itself
- Try disconnecting and reconnecting the source
Spend numbers don't match Google Ads
Spend numbers don't match Google Ads
Small discrepancies (under 5%) are normal due to timezone normalization and Google’s post-click adjustments.Common causes of larger discrepancies:
- Timezone mismatch — Upstack normalizes spend to UTC. Google Ads accounts may use a different timezone, causing daily totals to shift between days.
- Currency conversion — if your Google Ads account bills in a different currency than your Shopify store, exchange rate timing can cause minor differences.
- Invalid clicks — Google periodically removes invalid click charges. These adjustments may not be reflected in Upstack’s data until the next sync cycle.
Google OAuth token expired
Google OAuth token expired
Google OAuth tokens can expire if you change your Google account password, revoke third-party access, or if the token’s refresh cycle fails.To fix:
- Go to Integrations → Sources → Google Ads
- Click Reconnect to re-authenticate with Google
- Re-select your ad accounts and confirm
Still stuck? Contact support@upstackdata.com with your Pixel ID and a description of the issue. We typically respond within a few hours.
Related
Google Analytics 4 Destination
Send server-side conversion events to GA4 — the outbound counterpart to this inbound source.
Attribution and Reporting
How Upstack blends ad spend data with conversion events to calculate ROAS and CPA.
Connect Facebook Ads
Import Facebook Ads spend data for a complete view of paid media performance.
Integration Catalog
Browse all available sources and destinations.