On this page

Google Ads

Amplitude Academy

Integrate Google Ads to analyze your marketing data in Amplitude

Learn how to integrate Google Ads as a data source for analyzing marketing performance alongside product usage in Amplitude.

Get started

Amplitude's Google Ads integration lets you import your Google Ads spend, click, and impression data for analysis in Amplitude.

Prerequisites

To set up, you need the following:

  • Google Ads Customer ID of the ad account you want to connect to.
  • If you don't have direct access to the account, the Google Ads Manager ID that you authorized access on, which can view this ad account.

Considerations

  • This source imports campaign level metrics from Google Ads. It doesn't import other types of data such as experiments or user level identifiers. Amplitude ingests metrics at the ad level and doesn't tie them to individual users.
  • Amplitude imports Google Ads data once per day, always for the previous calendar day, using a batch ingestion process. The data appears in Amplitude as a dedicated event called Daily Ad Metrics, which includes properties such as ad_metrics.impressions, ad_metrics.clicks, ad_group_id, and campaign_id.
  • The Daily Ad Metrics event also includes user properties such as utm_source, utm_medium, utm_campaign, utm_content, and utm_term. Campaign analysis often uses these fields and calculations like Customer Acquisition Cost (CAC) and Return on Ad Spend (ROAS).
  • Google Ads doesn't automatically populate UTM parameters. To ensure these fields appear in Amplitude, customers must manually add UTM parameters to their ad URLs using either tracking templates or the Final URL Suffix. Auto tagging, such as using gclid, doesn't populate UTM fields. Some campaign types such as Performance Max may not allow URL level control. This means UTM values may not consistently appear in those cases.
  • To calculate CAC and ROAS correctly, UTM parameters must appear on both the Daily Ad Metrics event and on downstream conversion events such as Sign Up or Purchase. These metrics depend on shared fields, such as utm_campaign, that link ad spend to user behavior.
  • Amplitude's Browser SDK v2 and other SDKs usually capture UTM parameters automatically at the beginning of a user session. However, if your setup uses server side tracking, custom routing, or a single page application, you may need to manually map UTM values as user properties to ensure consistency.
  • If your project uses Schema enforcement, allow the Daily Ad Metrics event and its properties. Otherwise, ingestion may silently block the data.
  • Google Ads collects data at the ad level rather than the user level. As a result, Daily Ad Metrics events aren't associated with individual users and may appear as standalone events in user streams. These are best used for campaign level reporting, not for user level funnels or behavioral analysis.
  • You can't import data directly from a Google Ads Manager Account (MCC). While you can provide an MCC ID to authorize access to a specific Customer ID, Amplitude only imports data from the specified account and not from the MCC or other accounts linked to it.
  • You can connect multiple Google Ads customer accounts (not MCCs) to a single Amplitude project. There's no limit on the number of ad accounts you can connect. Although all campaign data is grouped under the same Daily Ad Metrics event, the ad_account_id property is available on new events as of May 9, 2025 and lets you filter and analyze performance by account.

Amplitude setup

In Amplitude, navigate to Data Sources, then find Google Ads in the I want to import data into Amplitude tab.

  1. Log in to Google and grant Amplitude permission in the consent form.
  2. Enter the Google Ads Customer ID for the ad account you want to import data from.
  3. If you don't have direct access to the account, enter the Manager ID that you authorized access on, which can view this ad account. Otherwise, leave the field blank.
  4. Optional. Import past data for a given period.

Analyze your data

After Amplitude imports your Google Ads data, you can analyze campaign performance using Amplitude's built-in Ad Performance dashboard. This dashboard is available under Marketing Analytics > Ad Performance and displays key metrics such as impressions, clicks, CTR, CPC, CAC, and ad spend. You can break down performance by UTM parameters including UTM Source, UTM Campaign, UTM Medium, UTM Content, and UTM Term. The metrics refresh daily and you can filter them by campaign or time period to help you track trends and optimize ad spend.

For a full list of available advertising metrics and how they work, refer to the Advertising metrics and properties reference.

Supported properties

Property NameTypeDescriptionAvailability
ad_metrics.clicks Event PropertyNumber of clicks on the ad.Always.
ad_metrics.impressionsEvent PropertyNumber of times the ad appeared.Always.
ad_metrics.conversionsEvent PropertyNumber of conversions attributed to the ad.Always.
ad_metrics.costEvent PropertyTotal cost associated with the ad.Always.
ad_nameEvent PropertyName of the ad.Varies by campaign type.
ad_idEvent PropertyUnique ID of the ad.Varies.
ad_group_name Event PropertyName of the ad group.Varies.
ad_group_idEvent PropertyUnique ID of the ad group.Varies.
campaign_nameEvent PropertyName of the campaign.Varies.
campaign_idEvent PropertyUnique ID of the campaign.Varies.
ad_account_idEvent PropertyUnique identifier for the connected Google Ads account.Available for new events only.
utm_sourceUser PropertySource that referred the user.Only if manually tagged.
utm_mediumUser PropertyAdvertising or marketing medium.Only if manually tagged.
utm_campaignUser PropertyCampaign name from UTM tracking.Only if manually tagged.
utm_contentUser PropertyAd content or variation from UTM tracking.Only if manually tagged.
utm_termUser PropertySearch term or keyword from UTM tracking.Only if manually tagged.
  • add_account_id applies to all newly ingested events as of May 9, 2025. It isn't added to already ingested data.
  • To view historical trends by account, create a new project and re-import data from the ad source using a backfill.
  • Campaign-level properties like campaign_id still exist and are helpful for performance analysis, but ad_account_id enables cross-account breakdowns within a single Amplitude project.

Troubleshooting

If you encounter issues with your implementation, keep the following in mind.

Insufficient permissions

Amplitude's Google Ads Import integration requires that your Google Ads Manager account has administrator privileges. This level of permission lets Amplitude add and remove users from specific user lists in Google Ads.

For more information, refer to About access levels in your Google Ads Account in Google's documentation.

Import job ingests no data

  • Unplanned data: check if you reject unplanned events in your Schema settings. If you reject unplanned data, Amplitude doesn't store the event or its properties.
  • Matching users: check if your users have corresponding accounts in Amplitude and Google Ads. Google Ads import tries to match users between platforms based on the key-value pairs you selected. If your import job doesn't find any corresponding values, it fails.

Daily ad metric discrepancies

Google Ads may update advertising metrics several days after the original interaction. This can happen for several reasons, including delayed conversion attribution or the removal of invalid traffic. For instance, a user may click on an ad today but complete a conversion a few days later, which Google then attributes retroactively. Google may later exclude clicks it detects as fraudulent or non-human, resulting in lower reported impressions or spend. These updates can affect key metrics such as conversions, cost, and impressions.

Amplitude imports Google Ads data once per day, and always for the previous calendar day. Because Amplitude schedules this import as a daily batch, the data isn't available in real time and you can't use it for hour-by-hour analysis. If Google revises campaign data after Amplitude's import has completed, those changes don't reflect automatically.

This behavior is important to consider when analyzing campaign performance, particularly when reviewing short-term trends, diagnosing anomalies, or comparing metrics across tools. Data that appears accurate at the time of import may shift days later because of these retrospective updates in Google Ads.

For more information, review About data freshness in Google's documentation.

Ad events don't map to Users

Google Ads doesn't export user-level identifiers such as device ID, email address, or user ID. As a result, Amplitude doesn't link Daily Ad Metrics events to real user profiles and doesn't associate them with known users across other product events.

While these events may appear in a user stream with a synthetic identifier (such as a Google Ads device ID), this doesn't mean successful identity resolution. Amplitude treats the events as standalone entries, and they aren't suitable for user-level reporting.

Daily Ad Metrics events are best used for campaign-level analysis. Don't use them in funnels, cohort definitions, or behavioral journeys that rely on user identity.

These events may appear as standalone events in user streams with only campaign-level context.

Was this helpful?