Common Issues
Here are the most common issues you might run into when working with the Google Ads source in Coupler.io, along with how to fix them.
Connection issues
OAuth token expired
Google access tokens can expire or be revoked. If your imports start failing, go to the Sources page in Coupler.io and reconnect your Google account.
Wrong Google account
If you signed in with a Google account that doesn't have access to your Google Ads account, disconnect and reconnect using the correct account.
Permissions not granted
Make sure you granted the adwords permission during the OAuth flow. If you skipped it, disconnect and reconnect your Google account.
Manager account vs. individual account
If you use a Google Ads Manager (MCC) account, make sure the specific sub-accounts you want to access are linked and accessible under your credentials.
Missing data or accounts
Ad account not showing up
Only active ad accounts you have access to are available for selection. If an account is paused, suspended, or you don't have the right access level, it won't appear. Check your access in Google Ads > Admin > Access and security.
No data returned (empty report)
Check that the selected ad account has campaigns that ran during the date range you specified. An empty report usually means no ads were active during that period. If a campaign, ad, or keyword had zero performance metrics in the selected period, it won't appear in results — the Google Ads API does not return rows with all-zero metrics.
Missing recent data
Google Ads data is typically available within a few hours, but conversion data may take up to 24 hours to finalize. Avoid relying on today's data for reporting.
Missing conversion data
Conversions are attributed to the click date, not the conversion date. If you're looking at very recent dates, conversions may still be processing. Allow 24–72 hours for complete conversion data.
Shopping performance returns 0 rows
If no Shopping campaigns ran during the selected period, the report will be empty. Double-check your date range. For more control, try a Custom GAQL query targeting shopping_performance_view.
Custom columns from Google Ads UI not available
Custom columns created in the Google Ads interface are not supported by the Google Ads API. They cannot be pulled into any report. Recreate the logic using Coupler.io formula columns or in your destination tool.
App Install and Reach metrics missing
These metrics are not available in all report types. For app install metrics, use the Ad group performance with install conversion report. Reach metrics have limited availability — check the Supported Metrics and Dimensions article for which report types include them.
Permission errors
"Insufficient permissions" error
Your Google account must have Standard or Admin access to the ad account. Read-only access may not be sufficient for all report types. Check your access level in Google Ads > Admin > Access and security.
Account access revoked
If someone removed your access to an ad account, imports for that account will fail. Contact the account owner to restore access.
MCC sub-account access
Having Manager (MCC) account access doesn't automatically grant data access to all sub-accounts. You need explicit access to each individual ad account.
Data discrepancies
Numbers don't match Google Ads interface
The most common cause is different date ranges or time zones. Verify that your date range in Coupler.io matches what you're looking at in the Google Ads interface. Also check whether you're comparing the same report segmentation (e.g., by campaign vs. by ad group).
Conversion numbers changing over time
Google Ads uses attribution windows, so conversions can be added to past dates as they are recorded. This is expected behavior — recent conversion data will shift over a few days until the attribution window closes.
Metrics differ from Google Analytics
Google Ads and Google Analytics measure things differently. For example, Google Ads counts clicks while GA4 counts sessions. A single click can result in multiple sessions, or a session may come without a click. These tools also use different attribution models.
Search query data is limited
Google Ads only reports search terms that meet minimum privacy thresholds. Low-volume search terms may be grouped under "Other search terms" and not shown individually.
Rows appear duplicated (hidden dimensions)
If you see what looks like duplicate rows for the same campaign, the most likely cause is hidden dimensions splitting the data. The Campaign performance by ad network type report adds an "Ad network type" column that creates separate rows for Search, Display, YouTube, etc. Similarly, other report types may include "Interaction event type" as a hidden dimension.
How to fix: Switch to the plain Campaign performance report if you don't need the ad-network breakdown. If you're already using it, check for hidden columns in the Transformation step — unhide all columns to identify what's creating the split.
Demand Gen campaign spend appears inflated
If you're using the Campaign performance by ad network type report for Demand Gen campaigns, spending is split across multiple ad network type rows. Summing them in a dashboard without filtering produces an inflated total.
How to fix: Use the plain Campaign performance report, which aggregates across all network types. Remove any filters that may have been applied to the source.
Conversion value discrepancy in Looker Studio
Conversion values in Looker Studio may not match Google Ads because of how data is aggregated. If you pull data split by Date, Looker Studio sums daily values — but if the date range or attribution window differs from the Google Ads UI, the totals won't align.
How to fix: Ensure the date range in Coupler.io matches the Looker Studio filter. Use yesterday's date as the end date to avoid incomplete data. Check that you're comparing the same conversion metric (e.g., "Conversions value" vs. "All conversions value").
PMax campaign conversions missing from GAQL queries
Performance Max campaigns don't have traditional ads or ad groups — they only have asset groups. If your Custom GAQL query targets ad_group or ad_group_ad resources, PMax data will be excluded.
How to fix: Use the Campaign performance or Asset group performance report for PMax data. For Custom GAQL, query the campaign resource instead of ad_group.
Rate limits and API errors
429 "Too many requests" / "Resource has been exhausted"
This error means the Google Ads API quota has been exceeded. It can happen globally (affecting all Coupler.io users) or per-account.
The error message typically includes: 429 Resource has been exhausted (e.g. check quota) and a retry delay (e.g., "Retry in 17997 seconds").
How to fix: Wait approximately 4 hours for Google's quota to reset, then re-run the data flow. Stagger your scheduled refreshes if you have multiple data flows pulling from the same account. Coupler.io has implemented improvements to reduce the likelihood of hitting global quota limits.
Import fails with generic quota error
The Google Ads API has request quotas per developer token and per account. If you have multiple data flows pulling from the same ad account simultaneously, some may hit quota limits. Space out your scheduled refreshes by a few minutes.
Last updated
Was this helpful?
