Google Ads API Customer Match List

108 views
Skip to first unread message

CDP- Personalization

unread,
Dec 10, 2024, 11:42:40 PM12/10/24
to Google Ads API and AdWords API Forum

Hi Team,

We use Segment.io, a third-party tool, to connect sources and destinations. One of the destinations creates a Customer Match Target List in the Google Ads account.

In the Segment UI source, we can only specify one email, phone number, zip code, first name, and last name per row, which is then uploaded to the list via the API.

However, the manual Google Customer Match List template allows specifying multiple emails, phone numbers, and other fields in the same row.

We'd like to understand if there is any impact when specifying identifiers in a single row versus multiple rows. For example:

Would this affect the match rate significantly?

Thanks!

Google Ads API Forum Advisor

unread,
Dec 11, 2024, 1:41:38 AM12/11/24
to cdp-perso...@cimpress.com, adwor...@googlegroups.com
Hi,

Thank you for reaching out to the Google Ads API support team.

Kindly note that your match rates might be lower when you are trying to add multiple user identifiers to a single userIdentifier object. Instead, you need to add multiple userIdentifiers to a single UserData object as shown in this code example. I would recommend you to refer to the Validate match rate guide for more information. Also, you can refer to this help center article About Customer Match match rates for more information.  

This message is in relation to case "ref:!00D1U01174p.!5004Q02vGoPN:ref" (ADR-00278360)

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5


 

 

CDP- Personalization

unread,
Dec 11, 2024, 4:41:37 AM12/11/24
to Google Ads API and AdWords API Forum

Hi Team,

I understand, and we follow the same approach. However, my question is more focused on the impact of adding multiple email addresses and phone numbers for a single customer in a single row vs. separate rows, both in CSV (manual) and API uploads.

Example CSV

Scenario 1: Single Row, Multiple Email and Phone Columns
Email, Email, First Name, Last Name, Country, Zip, Phone, Phone 
te...@example.com, te...@example.com, Test, User, IN, 60000, 123456790, 1234567890

Scenario 2: Multiple Rows
Email, First Name, Last Name, Country, Zip, Phone 
te...@example.com, Test, User, IN, 60000, 123456790 te...@example.com, , , , , 1234567890

For my understanding:

  • UserData represents a single user in the customer list, which can hold up to 20 UserIdentifiers, each of type OneOf, either a hashedEmail, hashedPhoneNumber, or addressInfo (but only one at a time).

Please confirm whether the following scenarios are valid.

Scenario A:
  • CSV: Single row with multiple email and phone columns.
  • API: Single UserData with multiple identifiers (email and phone).

Example:


CSV: Email, Email, First Name, Last Name, Country, Zip, Phone, Phone 
te...@example.com, te...@example.com, Test, User, IN, 60000, 123456790, 1234567890 

 API: UserData = 
[
  {
    "hashedEmail": "hash('te...@example.com')"
  },
  {
    "hashedPhone": "hash('123456790')"
  },
  {
    "addressInfo": {
      "hashedFirstName": "hash('Test')",
      "hashedLastName": "hash('User')",
      "countryCode": "IN",
      "postalCode": "60000"
    }
  },
  {
    "hashedEmail": "hash('te...@example.com')"
  },
  {
    "hashedPhone": "hash('1234567890')"
  }
]


Scenario B:
  • CSV: Multiple rows with email and phone for the same customer.
  • API: Multiple UserData, each with unique identifiers but belonging to the same customer.

Example:

CSV: Email, First Name, Last Name, Country, Zip, Phone
 te...@example.com, Test, User, IN, 60000, 123456790 
 te...@example.com, , , ,                               ,1234567890

 API: UserData = [
  {
    "hashedEmail": "hash('te...@example.com')"
  },
  {
    "hashedPhone": "hash('123456790')"
  },
  {
    "addressInfo": {
      "hashedFirstName": "hash('Test')",
      "hashedLastName": "hash('User')",
      "countryCode": "IN",
      "postalCode": "60000"
    }
  }
]

UserData=[
  {
    "hashedEmail": "hash('te...@example.com')"
  },
  {
    "hashedPhone": "hash('1234567890')"
  }
]

Could you please confirm if both scenarios are valid? Any insights on how the Google ads customer list processes these would be helpful and how it would impact the match rate? 
More like are both just the same when it comes to match rate of a customer list

Note: Please ignore data validation and correctness this is just an example.

Thanks!

Google Ads API Forum Advisor

unread,
Dec 11, 2024, 7:47:59 AM12/11/24
to cdp-perso...@cimpress.com, adwor...@googlegroups.com
Hi,

With regard to your query on uploading the customer match data via the UI, I would recommend you reach out to the Google Ads Product support team, as they are better equipped to assist you on this.

With regard to using the Google Ads API,  A UserData object represents a single user and can contain multiple user identifiers. Add a separate UserIdentifier object for each identifier. For example, a record with an email address and a phone number results in a UserData object with two UserIdentifier objects.

I would recommend you refer to the Help Center article about the customer matching process which provides details regarding the data matching process for Customer Match and how Google Ads processes the files you upload.

I hope this clarifies.
Reply all
Reply to author
Forward
0 new messages