Google Display & Video 360
Upload Customer Match audiences to Google Display & Video 360 (DV360) for programmatic advertising across display, video, connected TV, and audio channels. Zeotap syncs your warehouse segments directly to DV360 first-party audiences.
Prerequisites
- A Google Display & Video 360 account with an active advertiser
- Customer Match eligibility for your DV360 advertiser
- OAuth access to the DV360 API (scope:
display-video)
Finding Your Advertiser ID
Your Advertiser ID is the numeric identifier for the advertiser entity in DV360.
- Sign in to Display & Video 360
- Select your advertiser from the partner/advertiser picker in the top navigation
- The Advertiser ID appears in the URL:
displayvideo.google.com/ng_nav/p/{partnerId}/a/{advertiserId}/... - Copy the numeric value after
/a/
Authentication
Google DV360 uses OAuth 2.0.
- Click Connect with OAuth in Zeotap
- Sign in with the Google account that has access to your DV360 advertiser
- Authorize the requested permissions
The authorizing Google account must have at least Standard role on the target advertiser.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Advertiser ID | Text | Yes | Your DV360 advertiser ID (numeric). Find it in the DV360 URL or advertiser settings. |
| Partner ID | Text | No | Your DV360 partner ID (numeric). Optional — used for partner-level access. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Audience Name | Text | Yes | Name for the Customer Match audience |
| Audience ID | Text | No | Existing first-party audience ID. Leave blank to create a new audience. |
| Membership Duration (Days) | Text | No | How long a user stays in the audience after being added. Default: 540 days (DV360 maximum). |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | — |
| Update | — |
| Mirror | Yes |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Remove | Yes |
| Mirror | Yes |
| Upsert | Yes |
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Field | Description |
|---|---|
email | Primary match key for Customer Match. Alternatives: hashed_email |
Default Destination Fields
| Field | Type | Description |
|---|---|---|
email | string | Email address (raw — auto normalized and SHA-256 hashed before upload) |
hashed_email | string | Pre-hashed SHA-256 hex of lowercase trimmed email |
phone | string | Phone number (raw — auto normalized to E.164 and SHA-256 hashed) |
hashed_phone | string | Pre-hashed SHA-256 hex of E.164 phone number |
first_name | string | First name (raw — auto lowercased, trimmed, and SHA-256 hashed) |
hashed_first_name | string | Pre-hashed SHA-256 hex of lowercase trimmed first name |
last_name | string | Last name (raw — auto lowercased, trimmed, and SHA-256 hashed) |
hashed_last_name | string | Pre-hashed SHA-256 hex of lowercase trimmed last name |
country_code | string | Two-letter country code (e.g., US). Required when using name or postal code. |
postal_code | string | Postal/ZIP code. Required when using name fields. |
How It Works
- Authentication: Zeotap uses OAuth 2.0 to obtain and refresh access tokens for the DV360 API.
- Audience Creation: If no Audience ID is provided, Zeotap creates a new
CUSTOMER_MATCH_CONTACT_INFOfirst-party audience under your advertiser. - Data Preparation: Each row is normalized — emails lowercased and trimmed, phones formatted to E.164 — then SHA-256 hashed (unless pre-hashed fields are mapped).
- Upload: Contact info entries are sent to the
editCustomerMatchMembersendpoint in chunks of up to 500,000 entries per request. - Mirror Mode: Uses diff operations to add new members and remove departed members in a single sync run.
Rate Limits
The DV360 API enforces the following limits:
- 500,000 contact info entries per
editCustomerMatchMembersrequest - Standard Google API rate limits apply (requests per minute per project)
- Customer Match audience updates may take 24–48 hours to fully propagate across Google’s ad-serving infrastructure
Best Practices
- Pre-hash when possible: If your warehouse already stores SHA-256 hashed PII, map to the
hashed_*fields to avoid redundant hashing. - Include multiple identifiers: Match rates improve significantly when you provide email + phone + name + postal code rather than email alone.
- Use Mirror mode for segments: Mirror mode automatically adds new members and removes departed ones, keeping your DV360 audience in sync with your warehouse segment.
- Set appropriate membership duration: The default 540 days is the maximum. Use shorter durations for time-sensitive campaigns.
Troubleshooting
Authentication failed (401)
Your OAuth token may have expired. Reconnect your Google account in Zeotap by clicking Reconnect on the destination settings page.
Permission denied (403)
Verify that the Google account used for OAuth has at least Standard role on the DV360 advertiser. Check advertiser permissions under Settings > Users in the DV360 UI.
Advertiser not found (404)
Double-check your Advertiser ID. It should be the numeric ID from the DV360 URL, not the advertiser name or partner ID.
Customer Match not available
Customer Match requires your DV360 advertiser to meet Google’s eligibility requirements. Contact your Google representative to enable Customer Match for your account.
Low match rate
- Ensure email addresses are properly formatted (lowercase, no extra whitespace)
- Phone numbers should include country codes in E.164 format (e.g.,
+14155551234) - Include additional identifiers (name, postal code, country code) alongside email to improve match rates
- Pre-hashed values must use SHA-256 on properly normalized inputs — verify your hashing pipeline
Audience not updating
Customer Match audience updates can take 24–48 hours to propagate. If your audience still shows stale data after 48 hours, verify the sync completed successfully in Zeotap and check for errors in the sync run log.