Google Ads Customer Match, the feature that turns an advertiser’s own customer list into an audience, now accepts two more pieces of data: the IP address of a customer’s device and the time they interacted with you. Trade press first reported the change on September 25. The rules below come from Google’s own help pages.
This matters most to advertisers who hold plenty of site or app activity but few email addresses. An IP address is something your server logs already record. It is also personal data in much of the world, which is why Google has switched the feature off for people in Europe, the UK and Switzerland.
- 01Two new upload columns, both sent unhashed.“User IP address” and “User Engagement timestamp” go in as plain text, unlike email, phone and names.
- 02A timestamp needs an IP address.A row with a timestamp and nothing else triggers an error. An IP address can travel with or without personal fields.
- 03An IP sent alone matches the latest known user.Without a timestamp, Google defaults to whoever most recently used that address.
- 04Not available for the EEA, UK or Switzerland.Google’s Customer Match policy tells advertisers to exclude IP data for people in those regions.
01 — What changedTwo new columns, and neither is hashed
Until now, a Customer Match file carried contact details: email, phone, name, country and postcode, with the personal fields scrambled using the SHA-256 hashing standard before they reach Google. The new columns sit outside that scheme. Google’s upload guide asks for both as plain strings and says not to hash them.
| Column | Hashed | Rule |
|---|---|---|
| Email, Phone, First Name, Last Name | SHA-256 | Hash them yourself, or let Google Ads hash them on your computer before upload. |
| Country, Zip | No | Sent as plain text alongside the name fields. |
| User IP address | No | New. IPv4 or IPv6 as a plain string, leading and trailing spaces trimmed. Can be sent with or without the personal fields. |
| User Engagement timestamp | No | New. The time of the recorded interaction from that IP address. Rejected without an IP address in the same row. |
| Mobile Device ID | No | Unchanged. Must be the only column in its file. |
The details are in Google’s Customer Match upload guide. It describes the IP address as the one recorded when the customer interacted with you, and the timestamp as the time of that interaction. It also lists the earliest and the most recent recorded interaction as the two moments a timestamp can describe.
02 — The rulesThree rules that will fail an upload
- No timestamp on its own. Google says a timestamp cannot be sent without an IP address, and a row with only a timestamp returns an error.
- Header names must match exactly, in English. The same page uses two names for the time column: “User Engagement timestamp” in the column list and “User Interaction timestamp” in the combined-file template.
- Do not hash the new fields. If your pipeline hashes every column by default, the IP and time columns will be unusable.
Because the help page names the time column two ways, upload a small test file first and check that both new columns are recognised before you rebuild a production feed around either header. Google’s guide says match rates are shown only for uploads through the new Google Ads API with at least 100 rows matched to unique users, so make the test file big enough to produce one and check where your upload method reports a match rate.
Google also points new integrations away from the Google Ads API for this job. The same guide recommends Data Manager, in the interface or through its own API, as the path forward for Customer Match. If you maintain an API integration, our note on Google Ads API versions and sunset dates covers the deadline that arrives first.
03 — The limitsWhere IP matching does not apply
Google’s guide says IP matching is not supported for end users in the European Economic Area, the UK or Switzerland. Google’s Customer Match policy goes further: it tells advertisers to leave IP data for those regions out of uploads, be open about how the data was collected, and obtain whatever consent the law requires.
The general Customer Match rules still apply on top. The list must come from a first-party context, meaning people shared the data with you directly, and your privacy policy must say you share customer data with service providers. For a UK or European advertiser with a mixed audience, the practical job is filtering rows by the customer’s location before upload. Our Consent Mode v2 guide covers the consent side of that pipeline.
04 — The catchOne address, many people
An IP address often belongs to more than one person. A household shares one. So does an office, and mobile networks commonly put many phones behind the same address. Google’s rule for an IP sent without a time is to match whoever most recently used it, which may not be the customer on your list.
That is the reason to send the timestamp. It tells Google which moment you mean, so the match can point to the person using the address then. Google has not published how much either column lifts match rates, so treat any improvement as something to measure on your own lists, not assume.
Consumer sites with logged sessions
Checkout, sign-up or app sessions where you logged the address and the moment, for customers outside the excluded regions.
B2B lists from office traffic
Many staff share one office address, so an IP without a time is likely to match the most recent user, not your contact.
EEA, UK and Swiss customers
Google does not support IP matching for these users. Remove their IP data before upload.
05 — DecisionShould you add IP data to your lists?
Match quality is where audience work quietly succeeds or fails. Our write-up of identity errors and campaign returns shows how much a bad match can cost, and our first-party data playbook covers collecting session data server-side in the first place.
06 — The failuresFour uploads that matched the wrong people
The two new columns are easy to add and easy to misuse, and the misuses follow from Google’s own rules. The illustrative uploads below each break one of them. They are patterns, not accounts we have run.
The hashed columns: a pipeline that hashes every field by default hashes the IP address and timestamp too, as it does for email and phone. Google asks for both as plain strings, so the two columns are unusable and the list matches on nothing new. The office list: a B2B advertiser uploads IP addresses captured from a client’s office traffic with no timestamps. Google’s rule for an IP sent without a time is to match whoever most recently used the address, so the matches are the last people on the office network, not the contacts on the list. The mixed-region file: a UK advertiser with customers across Europe and elsewhere uploads session IP data for everyone. Google does not support IP matching for end users in the EEA, the UK or Switzerland, and its policy tells advertisers to leave that data out, so the rows for most of the audience should never have been in the file. The renamed header: the time column is labelled with a close paraphrase of Google’s name. The page itself uses two names for the column, and Google requires header names to match exactly; the guide does not say whether a near-miss header is rejected or ignored, which is why the test file comes first.
None of these failures is guaranteed to produce a clear error, which is the reason the callout above asks for a small test file before any production feed is rebuilt.
An IP address without a timestamp matches the most recent user of that address. A timestamp without an IP address returns an error. Send both, unhashed, and the match can point at the person using the address at the moment you recorded.
07 — The methodHow to run the match-rate test
The conclusion asks for one test list with IP address and time, compared with the email-only version, and the test has a shape. Start from customers outside the EEA, the UK and Switzerland, filtered by the customer’s location before the file is built, so no excluded-region IP data is uploaded. Pick sessions where you logged both the address and the moment, such as checkout, sign-up or app sessions, which is the stronger case in the grid above. Build two files from the same customers: one with the usual hashed contact fields, one with the IP and timestamp columns added as plain strings under Google’s exact column names.
Make the test large enough to read. Google’s guide says match rates are shown only for uploads through the new Google Ads API with at least 100 rows matched to unique users, so a file of a few dozen rows will show nothing either way; check where your upload method reports a match rate before relying on the comparison. Upload the email-only file first and record its match rate, then the combined file, and compare. Google has not published how much either column lifts match rates, so the difference you see is the only evidence you have, and it is specific to your lists.
Record the result with the date, the header names that were accepted, the regions included and the share of rows that carried a timestamp. If the combined file matches more, the router’s advice applies: keep email as the main key and add IP data for the rows that have no email. If it matches the same or less, the IP data is not helping on this list, and the record says why the pipeline work was not done.
08 — ConclusionThe IP column is useful only with a time and a region filter
Build the two test files this week from customers outside the excluded regions, with the time column named exactly as Google’s upload guide names it. The comparison takes one upload each, and it is the only measurement of the new columns that applies to your audience.
Run one test list with IP address and time for customers outside Europe, and compare its match rate with your email-only list
The new columns can widen an audience for advertisers who log sessions but collect few emails. They can also match the wrong person on a shared address, and they must never carry data for European, UK or Swiss customers. If you want the upload pipeline, filtering and match-rate testing set up properly, our paid media team builds and audits Customer Match feeds.