Data Manager API is a unified API for tracking conversions. Customer actions are first sent to the sGTM container, where data is processed, secured, and attributed. Stape ensures the sGTM container then sends the conversion data directly to Google's servers via an API connection. Such a flow allows for minimizing the impact of browser limitations like ad blockers and cookie restrictions, which leads to more reliable, accurate conversion reporting.
Google Data Manager API is a unified API created to help advertisers connect and manage their first-party data (e.g., data from CRM, behavioral data from the website/app) across Google advertising products. Using the Google Data Manager API, the data can be sent to the required destination (like Google Ads and Display & Video 360) with a single API call.
From October 2025, the Google Data Manager API became available for all users.
If you have a flow where you capture acquisition leads through online interactions and then sell the goods or services offline, sending conversion data back to the advertising platform is essential for performance estimation.
With the Data Manager API, you can automatically send offline/enhanced conversion data (e.g., sales that happened in a physical store or over the phone) from your Customer Relationship Management (CRM) or Point of Sale (POS) System and match the data against the Google ad click a user eventually has made.
Enhanced Conversions for Leads is an upgraded method of Offline Conversion Tracking for lead generation businesses. Below, we highlight the difference between both:
| Offline Conversion Tracking | Enhanced Conversions for Leads | |
|---|---|---|
| Purpose | Supply Google Ads with data on users' offline behavior after interaction with the ad online. | Supply Google Ads with data on users' offline behavior after interaction with the ad online. |
| User identifier(s) | Google Click ID (GCLID) - a unique ID of each ad click. | In addition to GCLID, it uses hashed first-party customer data (such as email address or phone number). |
| How it matches offline conversions with online interactions | Matches the GCLID the platform received from CRM/POS with the GCLID of the original ad click. | Uses the hashed customer data to match the conversion to a logged-in Google user or the data from CRM/POS. |
| Matching accuracy | Less reliable due to browser restrictions and cookie expiration. | More accurate as it uses first-party data, helping to track conversions even when GCLIDs are lost or users switch devices. |
💡Google Data Manager API Conversion Events tag - using the tag, you can configure offline conversion tracking by adding GCLID and/or specifying the first-party customer data (email, phone, address, mobile device ID, third-party user ID).
In this article below, we'll show how to implement the solution.
The Customer Match list in Google Ads/Display & Video 360 is an audience targeting feature that allows advertisers to segment users and target the audience with high conversion intent or exclude a specific segment from advertising.
There are two ways to create and fill Customer Match lists - manual and automatic. The manual method is downloading the first-party data from your CRM in CSV format and uploading it to Google Ads/Display & Video 360. That's an inconvenient way, as you will need to update the data frequently. With the Data Manager API, you can configure automatic Customer Match lists creation and updating.
💡Google Data Manager API Customer Match tag or Stape Conversion Tracking CRM/CMS apps - both solutions can transfer data from your CRM and send data to Google Ads/Display & Video 360, creating Customer Match lists and updating the data in them without any manual actions.
Below in this article, we'll consider the methods in detail.

The Google Data Manager API allows you to send both online and offline conversion events directly to Google Ads. This API is part of a broader shift toward server-side data tracking. It is often used along with the server Google Tag Manager (GTM). It allows advertisers to gain more control over data, bypass browser restrictions, and improve data quality.
💡Google Data Manager API Conversion Events tag - it allows you to send server-side online conversions to Google Ads via the Data Manager API.
Google has released a feature that allows you to enrich the web tag with data from CRM or databases. In this way, you receive a more complete picture of ad campaign performance. We have considered Google's feature, its use cases, and benefits in our other blog post.
💡Google Data Manager API Conversion Events tag - send data from CRM/databases directly to the Google Ads tag environment.

Regardless of the solution you choose to send data to Google Ads/Display & Video 360, you will need the following to get started:
Regardless of the tag you are going to configure (Customer Match or the Conversion tag), you need to set up one of the authentication methods:
Click on the authentication below that fits you the best and follow the instructions:

2. Click the Connections tab.
3. Click Sign-in in the Google Data Manager API section.

4. Sign in with a Google account that has Admin access to the Google Ads account.
5. Set up the Google Customer Match or Google Data Manager API Conversion Events tag.
Using Service Account impersonation is the easiest way to authenticate when using the Own Google Credentials method.
To configure it, follow the instructions below:
1. Go to the API Console in Google Cloud Platform. Select a project → on the left side menu, click Library → search for Data Manager API → click Enable.

2. Create a Service Account in this GCP Project.
Go to Create Service Account → add a service account name (the service account ID is generated based on this name) → (optional) add permissions and/or principals with access → click Done.

3. Add the Service Account Token Creator IAM role (roles/iam.serviceAccountTokenCreator) to the Service Account.
In the Service Accounts section, click on the three dots next to the service account you've created in the previous step → select Manage Permissions → Manage Access → Add role → select Service Account Token Creator and click Save.

4. Generate a JSON Key from this Service Account (how-to) and download it.
In the Service Accounts section, click on the three dots next to the service account you've created in step 2 → select Manage Keys → Add key → Create new key → select JSON and click Create. The key should be automatically downloaded on your computer.

5. Connect the Service Account to the container using the JSON Key file:
6. Grant the Service Account access to the product you're interacting with (Google Ads, DV360, etc.). Please refer to the documentation on the product you connect to.
Click on the solution that meets your tracking needs, find out more about it, and follow the configuration instructions 👇
1. Add the tag to your workspace. Open your server GTM container → go to Templates → under Tag Templates, click Search gallery → find Google Data Manager API Conversion Events → click Add to workspace.

2. Create a new tag. Go to the Tags section → click New → choose Google Data Manager API Conversion Events as the tag type.

3. Configure the tag.
3.1 Event Type - select the type of event you need to track:
_dm_session_attributes cookie when a user starts a new session. This cookie stores session-level information that is later used to attribute conversion events sent through the Data Manager API.3.2 Authentication Type - opt for the option selected in the prerequisites section.
If you haven’t configured one of the authentication types, please refer to the detailed instructions in the prerequisites section of this guide.

If you opt for the Pageview Event Type, the basic configuration is done, and you can change the default settings within Session Attributes Cookie Settings if they don’t correspond to the tracking needs.

To complete the configuration of Conversion Event Type, follow the steps below:
3.3 Product - defaults to Google Ads.
3.4 Operating Customer ID - the Google Ads account ID that should receive the conversion.
To get the value, log in to Google Ads → click your profile icon → copy your account ID.
Note:
Use the same Google account that was used to sign in to the Data Manager API Connection. Remove all hyphens before entering the ID.

3.5 Customer ID - the account ID used for authorization:
Note:
Make sure the same account was used for the Data Manager API Connection.Remove hyphens before entering it.

3.6 Conversion Event ID - the ID of the conversion action you want to track.
Create a conversion event first, then open Goals → Conversions → Summary → open the event.
The ID appears in your browser's URL under the ctId parameter.

Here’s an example of Destination Accounts and Conversion Events configuration within the tag:

If you need to track some more events, click on the “Add Conversion Event” button within the section and specify values for the fields as described above.
3.7 Validate Only - when enabled, the request is validated but not executed. Only validation errors are returned.
3.8 Use Optimistic Scenario - triggers gtmOnSuccess() immediately without waiting for an API response.
This speeds up sGTM but always reports the tag as successfully fired even if the API call later fails.

3.9 Request-level consent - define consent states for Ad User Data and Ad Personalization.
User-level consent (per conversion event) overrides request-level consent when using Multiple Conversion Events.

3.10 Conversion events section.

3.11 User Data Identifiers – specify up to 10 identifiers.
At least one of these must be provided:
Auto-map Conversion Information - when enabled, the tag automatically maps values from event data. Any manually entered value overrides the auto-mapped one.

3.12 The Conversion Information section includes the core details of the conversion you need to send.
Any value manually configured in the corresponding fields takes precedence over the automatically mapped value. Manual configuration always overrides automatic mapping.

These fields are required for most configurations; besides these, you can also configure additional parameters for the recorded conversion within this section in a tag.
4. Add a trigger. Define when the tag should fire.
5. Test the configuration. Open Preview mode in both your web and server GTM containers and verify your setup. For more detailed debugging instructions, refer to our server-side tracking debugging guide.

Stape provides a few solutions to create and fill (or remove) a Customer Match list in Google Ads:
The tag lets you send audience data to Google Ads/Display & Video 360 via the Data Manager API, making it easy to manage your Customer Match lists. The tag eliminates the need for uploading CSV files with data on your users' behavior.
Stape offers a range of CMS/CRM applications that can transmit data from your CMS/CRM directly to Google Ads/Display & Video 360, creating a Customer Match list.
We currently support the following platforms:
👉 For the detailed configuration guidelines, please check our articles on setting up automatic Google Customer Match Lists.
To populate the Customer Match list, you need to accept a few terms of use:
It's a legal agreement within Google Ads where you confirm that any data you upload has been collected in compliance with Google's policies (first-party only, clear opt-in). You can read more about the Customer Match policy on Google's end.
How to fix: the Customer Match terms usually pop up when you create the Customer Match list for the first time. Later, it must reappear; be sure to confirm that you comply with the policy.
Enhanced Conversions sends hashed first-party data (emails, phone numbers) from your website to Google to "fill in the gaps" when cookies are blocked. That's a list of terms that allows Google to use this hashed data to match conversions to signed-in Google accounts.
How to fix: go to the Goals section → Settings → Enhanced Conversions. Check the box next to Turn on enhanced conversions. A window with terms must pop up; be sure to accept the terms.
Note: if your conversions are managed via the Manager Account (MCC), the customer data terms must be accepted from the manager's account.

Enhanced Conversions for Leads (ECfL) is the specific feature that allows Google to attribute conversions using first-party data (like hashed emails) rather than just Google Click ID (GCLID). ECfL provides the framework to match CRM data using hashed first-party identifiers (like emails) instead of cookies or click IDs.
How to fix: go to the Goals section → Settings → Enhanced conversions for leads. Check the box next to Turn on enhanced conversions for leads. A window with terms must pop up; be sure to accept the terms.

To link a third-party tool (like Stape) to your Google Ads account via the API, the user account needs specific permissions. Lower access levels (like Read-only or Billing) cannot grant the necessary scopes for the Data Manager API to "write" or "upload" data to the account.
How to fix: Obtain Standard or Admin access to authorize the OAuth flow.
transaction_id for Google's new feature that allows unifying and recovering lost conversions within Google Ads. The feature is required to match your external source's events with those already tracked by your website tag. For more information on Google's additional sources measurement feature, check our article. |
If you encounter the error says REQUIRED_FIELD_MISSINGThe reason is often that you selected a conversion type that requires a Transaction ID, but didn't provide one in the tag.
The requirement is determined by the Conversion Action Type:
transaction_id is mandatory.transaction_id is optional. For more info on when transaction_id is required, refer to Google's documentation.
If you are reporting an online "Website" conversion, you must provide a transaction_id regardless of whether the event is a purchase, a lead, or any other type.
How to fix: You need to provide the transaction_id.
Be sure to have a variable that will grab transaction_id in your Google Data Manager API Conversion Events tag.

The variable configurations:
transaction_id
The error INVALID_ARGUMENT for ad_personalization or ad_user_data points to consent. It means that the consent signal was either missing or sent in a format the API didn't recognize.
Google can process only three values:
CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIEDAs provided in the tags:

How to fix: check whether you specified the consent status in the Request-level Consent section of the tag.
If you are dynamically viewing the consent status and using a variable in the Request-level Consent section, you need to transform the values into the appropriate ones that will be understandable for Google. For this purpose, use the LookUp variable.
With the Google Data Manager API, you transfer first-party data from CRM/POS systems or server-side online events directly into Google Ads/Display & Video 360. Whether you are tracking offline conversions/Enhanced Conversions for Leads, or managing Customer Match lists automatically, the Data Manager API provides an efficient and scalable solution.
Comments