Google Ads
Use GrowthLoop audiences for Google Ads Customer Match and location targeting.
Connect this destination to export audience membership as Customer Match lists, or to write warehouse rows onto campaign location targets, for use in Google Ads.
This destination writes to your Google Ads account and is a good fit when you want to:
- Make GrowthLoop audiences available for Search, YouTube, or Google partner sites
- Match contacts on contact or device identifiers
- Update campaign location targets from a warehouse table
This maps to GrowthLoop Audiences, Journeys, and Syncs:
| Use it for | Audiences | Journeys | Syncs |
|---|---|---|---|
| Sending GrowthLoop audiences as Customer Match lists | ✓ | ✓ | |
| Updating campaign location targeting from a warehouse table | ✓ |
To send click or offline click conversions, use Google Ads Conversions. To send conversions to Campaign Manager 360, use Google Campaign Manager 360 Conversions. To send mobile app events through GA4, use Google Firebase Conversions. Do not use an audience export to send conversion events.
Prerequisites
Make sure you have:
- A Google account that can access the Google Ads account you will connect.
- The Ad Account that should receive exported audiences or location updates.
- Customer Match enabled on that account if you will export audiences. Contact your Google Ads representative if you are not sure.
- Your Google Workspace admin ready to allowlist GrowthLoop if you see This app is blocked during sign-in. See Troubleshooting.
- A Mobile App ID only if you will match audiences on device IDs.
- The Campaign ID if you will sync location targeting. You can set it on the destination or map it per row. Find it in the Google Ads URL when you open a campaign, for example
campaignId=12345678901.
Set up Google Ads as a destination
- In GrowthLoop, click the Destinations tab on the left sidebar.
- Click New Destination in the upper right corner.
- Search for Google Ads and click Add Google Ads.
- Sign in with the Google account connected to your Google Ads manager.
- Enter the required information, then click Create.
| Field | Description |
|---|---|
| Destination Name | Name this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Google Ads Customer Match". |
| Sync Frequency | Set the default export frequency (for example, daily or weekly). You can override this setting for individual exports and syncs. |
| Select Ad Account | The ad account that should receive audiences or location updates |
| GrowthLoop Managed Account (optional) | Check this box if GrowthLoop manages the Ads account |
| Manager Account ID (optional) | Leave blank if you do not have a Manager Account, or if GrowthLoop manages the account |
| Mobile App ID (optional) | Required later when you match audiences on device IDs. For iOS, use the 9-digit ID at the end of the App Store URL, for example 123456789. For Android, use the package name, for example com.example.app |
| Campaign ID (optional) | Required later for location targeting if you will not map Campaign ID per row |
| Radius (optional) | Default proximity radius for location targeting, for example 1, 5, or 10. Override per row by mapping a radius column |
| Radius Unit (optional) | MILES or KILOMETERS. Override per row by mapping a radius-unit column |
GrowthLoop validates the connection. Google Ads then appears in your list of connected destinations.
Export to Google Ads
From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.
After building or selecting an audience, click Export, then search for Google Ads. In a journey, add a Destination Node under Ads and select Google Ads.

Map contact identifiers
Select a Match Type, then map at least one match field. If a match field is an array column, GrowthLoop expands it and sends each value.
| Match Type | Use it when |
|---|---|
| Contact | Default. Match with contact identifiers |
| Device | Match with device IDs. Requires a Mobile App ID |
| Contact field | Notes |
|---|---|
| Email address | Enough to export the row on its own |
| Phone | Enough to export the row on its own |
| First Name, Last Name, Country Code, and Postal Code | Optional together. Google uses the full set to improve match |
| Device field | Notes |
|---|---|
| Mobile Device ID | Required for Device match. Also enter a Mobile App ID |
See Enhanced Match Rate if your organization has it enabled.
Configure the export
This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.
| Setting | Audience export | Journey Destination Node |
|---|---|---|
| Export Name | Defaults to {audience name}_GL_Audience_{audience ID}. That is the name GrowthLoop creates in Google Ads unless you change it. | Required. Enter a name so you can find the export in GrowthLoop and Google Ads. |
| Campaign type | Choose a one-time or ongoing export. | The journey schedule controls when the journey runs and contacts are sent to Google Ads. |
| User List Status | Choose New to create a Customer Match list, or Existing and select the user list. | Set this on the audience export. |
| Export Inclusion Criteria | All audience members for a full refresh, or Newly added audience members for additions and removals since the last export. | The journey sends contacts who reach the Destination Node. |
| Mobile App ID | Required when Match Type is Device. | Required when Match Type is Device. |
| Schedule | Set frequency, start date, end date, and days of the week for ongoing exports. | Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing. |
| Google specific consents | Map Ads User Data Consent and Ads Personalization Consent if you target users in the EU. If you omit these fields, Google excludes those users from targeting. | Set this on the audience export. |
Export behavior
This is what GrowthLoop writes when you export an audience.
| Behavior | What happens |
|---|---|
| What GrowthLoop writes | A Customer Match list in Google Ads. Direction is GrowthLoop → Google Ads. |
| When it runs | GrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node. |
| Match type | Contact or Device. Match fields change with the type you choose. |
| New user list | GrowthLoop creates a Customer Match list with the export name and adds members. |
| Existing user list | GrowthLoop adds members to the user list you selected. |
| EU consent | Without Google specific consents, Google excludes EU users from targeting. |
| List expiry | Google Ads removes users from Customer Match lists after 540 days unless the list is updated. |
| One-time exports | GrowthLoop sends current membership once, or the additions and removals since the last export if you chose that inclusion setting. |
| Ongoing adds and removals | Ongoing exports add contacts who enter the audience and remove those who leave. |
| Deletes | GrowthLoop does not delete the Customer Match list. |
This export does not send conversion events or change campaign location targets. To send conversions, use Google Ads Conversions. To change location targets, create a sync.
Create a sync in GrowthLoop
Create a sync from a warehouse table to write rows onto Google Ads campaign location targets. See Syncs for information on how to complete those steps.
Select an Object Type:
| Object | Use it for | Sync modes |
|---|---|---|
| Campaign | Add or remove campaign location targets | Insert |
When you configure the sync:
- Connection: Select your Google Ads destination (labeled Google Adwords in some sync screens).
- Object Type: Select Campaign.
- Update Rule: Choose Insert only. Campaign supports Insert only. See Sync behavior.
- Dataset/Table: Select the warehouse table that holds the locations.
- Match Field: Map the campaign identifier unless you already set Campaign ID on the destination.
After you map fields, click Save Route or Update Route. Enable the sync with the toggle at the top of the page.
When you update mappings on an existing sync, choose Updates only unless you need Back-fill. Back-fill rewrites already synced rows and can be expensive on your warehouse.
Campaign location fields
Google Ads allows no more than 500 radius-based location targets per campaign.
| Destination field | Required | Description |
|---|---|---|
| Campaign ID | Yes, unless set on the destination | The campaign to change |
| Latitude | Yes | Latitude in micro degrees |
| Longitude | Yes | Longitude in micro degrees |
| Radius | Yes, unless set on the destination | Distance around the location |
| Radius Units | Yes, unless set on the destination | MILES or KILOMETERS |
| Street / Address | Yes | Street address |
| City | Yes | City |
| Province Code | Yes | Province or state code |
| Postal Code | Yes | Postal or ZIP code |
| Country Code | Yes | Country code |
| Action | No | TRUE or unmapped adds the location. FALSE removes the existing location |
Sync behavior
| Behavior | What happens |
|---|---|
| When it runs | GrowthLoop sends the sync as a batch on the next successful run. |
| Insert | GrowthLoop applies location rows. |
| Campaign locations | Each row adds a location target unless Action is FALSE, which removes that target. |
| Radius limit | Google Ads rejects more than 500 radius-based location targets on a campaign. |
| Deletes | Location targets are removed only when Action is FALSE. |
Rows without the required fields fail.
Confirm the export was successful
When the run finishes, confirm you can use the data in Google Ads.
- Audience export: Click Tools in the left sidebar, open Audience manager, and look up the exported audience. Look for the
_GL_Audience_name unless you changed Export Name. - Journey Destination Node: Click Tools in the left sidebar, open Audience manager, and look up the Customer Match list named after the export.
- Campaign sync: Open Campaigns, select the campaign, click Settings, and scroll to Locations.


In GrowthLoop, review counts on the audience Exports tab, open the Activity tab on the journey Destination Node, or confirm the sync appears in the Syncs table. See Export an audience, Monitor a journey, or Syncs for more information.
Congrats on successfully exporting to Google Ads!
Troubleshooting
These are the issues we see most often. You can always email us at [email protected] for help.
| Problem | Cause | Resolution |
|---|---|---|
| This app is blocked | GrowthLoop is not on your Workspace allowlist | Have a Google Workspace admin allowlist GrowthLoop |
| Connection fails after sign-in | Customer Match is not enabled | Ask your Google Ads representative to turn on Customer Match |
| Audiences land in the wrong account | The wrong Ad Account is selected | Edit the destination and select the ad account that should receive exports |
| A device export fails | Mobile App ID is missing | Enter the iOS App Store ID or Android package name on the destination or the export |
| Match fields look wrong | The export is set to Contact when you need Device, or the reverse | Open Settings and choose the correct Match Type before you start the export |
| Existing user list does not update | User List Status is New, or the selected list belongs to a different ad account | Choose Existing and select a user list from the connected Ad Account |
| EU users are missing from targeting | Google specific consents are not mapped | Map Ads User Data Consent and Ads Personalization Consent for users in the EU |
| The audience is missing in Google Ads | You are looking in campaigns, or you are searching for the unsuffixed audience name | Open Tools → Audience manager. Search for the _GL_Audience_ name unless you changed Export Name |
| Users disappear from the list | The list was not updated for 540 days | Run an ongoing export or export again before 540 days |
| Location rows fail | A required location field is missing, or the campaign already has 500 radius targets | Map Campaign ID, coordinates, radius, units, and address fields. Keep each campaign under 500 radius targets |
| A location was not removed | Action is not mapped, or the value is not FALSE | Map Action and set it to FALSE for removals |
| A sync did not change Audience manager | Location syncs change campaign settings, not Customer Match lists | Export an audience to create or update a Customer Match list |
Allowlist GrowthLoop
If you see This app is blocked when you sign in, a Google Workspace admin must add GrowthLoop as a trusted app.

- Go to admin.google.com.
- Open Security.

- Scroll down and click API controls.

- Click Configure New App.

- Search for GrowthLoop's Client ID:
983574759527-ukr43reakji8pm7qqent6d9navdikg34.apps.googleusercontent.com. - Select Audience Router.

- Select the Client ID for Audience Router and continue.

- Select Trusted: Can access all Google services.
- Click Configure.

GrowthLoop then appears in App Access Control as a connected app. Sign in again and add the Google Ads destination.
Updated about 18 hours ago
