Use the mappings in the tables to map an
UploadCallConversionsRequest in the Google Ads API to its
IngestEventsRequest equivalent in the Data Manager API.
Authentication
The Data Manager API requires credentials with a different scope than the Google Ads API. Follow the steps in Set up API access to generate new credentials that include the Data Manager API scope.
Request fields
UploadCallConversionsRequest (Google Ads API) |
IngestEventsRequest (Data Manager API) |
Notes |
|---|---|---|
|
destinations |
See Customer and conversion action fields. |
| No equivalent | consent |
Optional. Default consent settings for all events in the request. Unlike the Google Ads API, which only supports setting consent on individual conversions, the Data Manager API lets you set consent once for the entire request. To override the default for an individual event, set the consent field of the Event. |
| No equivalent | encoding |
Required: Set to the Encoding (HEX or BASE64) used for UserIdentifier values. |
partial_failure |
No equivalent | The Data Manager API uses a fast-fail error model. If any field of an IngestEventsRequest fails validation, the Data Manager API rejects the entire request. If the request succeeds, use diagnostics to retrieve errors and warnings for individual events. |
validate_only |
validate_only |
|
conversions |
events |
The list of conversions or events. See Conversion fields for details. |
Customer and conversion action fields
In the Google Ads API, you set the login-customer-id and linked-customer-id
request headers for different authentication scenarios.
In the Data Manager API, you specify login and linked customer information using
fields of a Destination instead of request headers. Check out
Configure destinations for more information about
destinations.
Here's how to map the Google Ads API fields for a single conversion_action
to the equivalent fields in a Destination:
| Google Ads API | Destination (Data Manager API) |
Notes |
|---|---|---|
customer_id of the request |
operating_account |
Set the account_id to the customer ID of the Google Ads conversion account. Set the account_type of the operating_account to GOOGLE_ADS. |
developer-token request header |
No equivalent | The Data Manager API doesn't use developer tokens. The Google Ads API also no longer requires them. |
login-customer-id request header |
login_account |
Set the account_id to the customer ID of the login account. Set account_type to GOOGLE_ADS if the login account is a Google Ads account, or DATA_PARTNER if the login account is a data partner account. |
linked-customer-id request header |
linked_account |
Only applies if you're a data partner sending data through a partner link. If the partner link is with a parent manager account of the operating_account, set the account_id to the customer ID of the Google Ads account that has the partner link and set account_type to GOOGLE_ADS. If the partner link is directly with the operating_account, don't set the linked_account field. See Data partner scenarios. |
conversion_action of a CallConversion |
product_destination_id |
Set to the numeric ID of the UPLOAD_CALLS conversion action. Don't use the resource name of the ConversionAction. |
| No equivalent | reference |
A user-defined identifier for the Destination. Set this field if you're sending events to multiple destinations. |
Conversion fields
CallConversion (Google Ads API) |
Event (Data Manager API) |
Notes |
|---|---|---|
caller_id |
user_data.user_identifiers[].phone_number |
Required. Format the phone number in E.164 format, hash it using SHA-256, encode the hash using hex or Base64 encoding, and set the phone_number field of a UserIdentifier in the UserData object. Also set encoding on the IngestEventsRequest. |
call_start_date_time |
call_info.start_timestamp |
Required. Set start_timestamp on the CallInfo object.
See Timestamp format for details. |
consent |
consent |
Both APIs use a similar Consent object (ad_user_data, ad_personalization). For the Data Manager API, you can also set consent for all events in a request by setting the request-level consent field. |
conversion_action |
destination_references |
Set product_destination_id on the destination. If sending events to multiple destinations, set destination_references to the corresponding reference of the destination. |
conversion_date_time |
event_timestamp |
Required. Must not be earlier than call_info.start_timestamp.
See Timestamp format for details. |
conversion_value |
conversion_value |
|
currency_code |
currency |
|
custom_variables |
custom_variables |
See Custom variable fields for details. |
| No equivalent | event_source |
Optional. Set to a valid EventSource enum value. |
Custom variable fields
CustomVariable (Google Ads API) |
CustomVariable (Data Manager API) |
Notes |
|---|---|---|
| No equivalent | destination_references |
If sending events to multiple destinations, use this field to indicate which destinations should receive a specific custom variable. |
conversion_custom_variable |
variable |
Set to the name of the variable instead of a resource name. |
value |
value |
Response fields
UploadCallConversionsResponse (Google Ads API) |
IngestEventsResponse (Data Manager API) |
Notes |
|---|---|---|
partial_failure_error |
No equivalent | The Data Manager API uses a fast-fail error model. If any field of an IngestEventsRequest fails validation, the Data Manager API rejects the entire request. |
request-id response header |
request_id |
The request ID is returned as a response field in the Data Manager API instead of as a response header. |
results |
No equivalent | The Data Manager API processes events asynchronously. Check the processing results using diagnostics. |