First Party Display and Video 360 (Actions) Destination
Destination Info
- Accepts Track calls.
- Refer to it as First Party Dv360 in the Integrations object
- This destination is in Beta
- This destination is only compatible with Twilio Engage.
Google's Display & Video (DV360) is an end-to-end campaign management tool that enables enterprise customers to plan, measure, and run display and video advertisements. Segment's integration with DV360 enables Segment customers to sync audiences created in Engage with DV360 for centralized audience management and improved retargeting.
This destination is different from the existing DV360 Actions as it allows you to upload contact info and the mobile device ID.
Configuring this integration requires action by both you in your Segment workspace, and Google in your Google Marketing Platform account. As a result, the time required to finish configuration and setup can vary.
To enable the First Party DV360 destination:
-
Navigate to Engage > Engage Settings > Destinations > Add Destination in your Segment workspace.
-
Search for First Party DV360 and click Add destination.
-
Navigate to Connections > Destinations and search for the First Party DV 360 destination you created.
-
Select the Mappings tab and click + New Mapping.
-
Select the action you'd like to use. You can choose from:
Option Details Edit Customer Match Members - Contact Info List Add or update customer match members in Contact Info List Audience. Edit Customer Match Members - Mobile Device Id List Add or update customer match members in Mobile Device Id List Audience. Remove Customer Match Members - Contact Info List Remove customer match members from the Contact Info List Audience. Remove Customer Match Members - Mobile Device Id List Remove customer match members from the Mobile Device Id List Audience. Sync Audience [Beta] Add and remove customer match members in both Contact Info List and Mobile Device Id List audiences, using a single mapping. - Select either Contact Info List or Mobile Device Id List depending on what audience type you use.
- Select Edit Customer Match Members to add or update users to an audience.
- Select Remove Customer Match Members to remove users from an audience.
- If you want to create actions for both Contact Info List and Mobile Device Id List, you can create all 4 mappings, or select Sync Audience [Beta] instead, which handles both audience types and both directions in a single mapping.
-
Switch the toggle to enable the destination.
To create an audience in your destination:
- Navigate to Engage > Audiences and click +New audience.
- Fill out the audience settings.
- If you want to use Mobile Device ID Lists, ensure to fill out your app ID.
- Make sure you enabled track calls.
- Click Save.
- You should see an audience populate in your DV360 account. If you don't immediately see this, it can take up to a couple of hours for your audience to populate.
- Switch the toggle to Connect to destination.
- Navigate to Connections > Destinations and select the First Party DV360 destination.
- Select the Mappings tab.
- Click + New Mapping and select Remove from Audience.
- Click Save.
- Enable the mapping.
Sync Audience adds users to, and removes users from, a DV360 Customer Match audience. A single action handles both directions, so one mapping keeps an audience in step with its source as users qualify and disqualify. It can be used with the following Segment features:
- Engage Audiences, where audience membership is computed by Segment.
- Journeys, where a step adds a user to, or removes a user from, an audience.
DV360 offers two kinds of Customer Match audience, and this action supports both. Each accepts a different set of identifiers, and the type is fixed when the audience is created — it can't be changed afterwards.
| Audience type | Identifiers used |
|---|---|
CUSTOMER_MATCH_CONTACT_INFO | Email, phone number, and the postal address group (first name, last name, ZIP code, country code) |
CUSTOMER_MATCH_DEVICE_ID | Mobile device IDs (IDFA, AAID) |
Segment reads the audience type from your audience settings, and sends only the identifiers that type accepts. Fields belonging to the other type are ignored. For Mobile Device ID audiences you can also set an optional App ID when the audience is created, identifying the app the device IDs come from.
Map the Contact Info Details fields. The Mobile Device IDs field is ignored for this audience type.
DV360 matches a user on the following three identifiers:
- An email address.
- A phone number.
- A postal address, which means all four of the following fields:
- ZIP code
- First name
- Last name
- Country code
Send whichever of the three you have. One is enough, and you can send any combination of them: email only, email and phone number, phone number and postal address, all three, and so on. The more you send, the more chances DV360 has to match the user.
The postal address fields travel as a set
ZIP code, first name, last name, and country code only count as an identifier when all four are present. If any one of them is missing, Segment drops all four and raises no error — the event is still sent, using whatever email or phone number it carries. Map all four, or none.
Segment only fails an event when none of the three identifiers is usable — no valid email, no phone number, and an incomplete postal address. If even one is usable, the event is sent with whatever was usable, and anything that wasn't is quietly left out. So an event carrying a malformed email and a good postal address still syncs, on the postal address alone.
The Emails, Phone Numbers and ZIP Codes fields each accept either a single value, or several separated by commas. First name, last name and country code take a single value each, matching how DV360 models them.
Segment hashes the identifiers Google requires to be hashed, using SHA-256. What Segment normalizes before hashing depends on the identifier: email addresses have all whitespace removed and are lowercased, first and last names are trimmed and lowercased, and phone numbers are trimmed and, if you turn it on, converted to E.164 — see Phone number normalization. If you send a value that's already a SHA-256 hash, Segment detects it and passes it through, so you can hash upstream if you prefer.
| Identifier | Hashed by Segment | Validation applied |
|---|---|---|
| Yes | Must look like an email address: text, an @, a domain containing a dot, and no spaces. Values that fail are dropped before sending. | |
| Phone number | Yes | Optional, and off by default — see Phone number normalization. |
| ZIP code | No | None. |
| First name | Yes | None, beyond being present. |
| Last name | Yes | None, beyond being present. |
| Country code | No | Must be an upper case ISO 3166-1 alpha-2 code chosen from the list on the field, such as US or GB. |
Country Code only accepts codes from the list
Country Code is a fixed list of ISO 3166-1 alpha-2 codes, so anything else fails that event before it's sent, with a payload validation error in the Event Delivery tab. That includes lower case codes such as us, three-letter codes such as USA, full country names, and numeric codes. If you map this field from an event trait, make sure the trait holds an upper case two-letter code.
An event with nothing usable left over fails with No usable contact info identifiers found, and appears in the Event Delivery tab.
Map the Mobile Device IDs field with the advertising IDs of your users — IDFA on iOS, AAID on Android. It accepts either a single value, or several separated by commas. The Contact Info Details fields are ignored for this audience type.
| Identifier | Hashed by Segment | Validation applied |
|---|---|---|
| Mobile device ID | No | None. |
Device IDs are sent to DV360 exactly as you supply them. An event carrying no device ID fails and appears in the Event Delivery tab.
DV360 only matches a phone number when it receives the hash of that number in E.164 format — a +, the country calling code, then the national number, with no spaces, dashes, or brackets (for example, +18005550100). A number hashed in any other format is silently unmatched.
Use the Phone Number Normalization setting on the Sync Audience mapping to have Segment convert numbers to E.164 before it hashes them. The Normalization option has three modes:
| Mode | What Segment does |
|---|---|
| Do not normalize (default) | Sends the number exactly as you mapped it, with only leading and trailing spaces removed. Spaces, dashes, and brackets inside the number are kept, and no check is made that the number could be real. |
| Normalize | Converts the number to E.164 where it can. A number it can't convert is sent unchanged, exactly as Do not normalize would have sent it. |
| Normalize and validate | Converts the number to E.164 where it can, and drops any number it can't turn into a valid phone number instead of hashing and sending it. |
Do not normalize is the default, so Segment sends numbers exactly as you map them unless you choose one of the other modes.
Segment can only convert a number to E.164 if it knows which country the number belongs to:
- A number starting with
+, such as+1 800 555 0100, already states its own country. Segment converts it without needing any country setting. - A number starting with
00, such as0018005550100, is read the same way: Segment replaces the00with+. - Anything else is a local number, such as
(800) 555-0100, and Segment needs to be told which country it belongs to.
For local numbers, Segment takes the country from the following, in order:
- The Country Code in Contact Info Details, when Use Country Code From Contact Info Details is turned on and that user has the field populated. This lets the country vary from user to user.
- The Default Country setting, whenever the per-user country isn't being used or isn't populated.
If neither is available, Segment can't convert the number: it's sent unchanged under Normalize, and dropped under Normalize and validate.
Under Normalize and validate, a number Segment can't validate is left out of the request, in the same way a malformed email address is. The user is still synced on whatever other identifiers the event carries — a bad phone number alongside a good email address still syncs, on the email address alone. The event only fails if it's left with no usable identifiers at all, reported as No usable contact info identifiers found in the Event Delivery tab.
A value that's already a SHA-256 hash is passed straight through and is never normalized, whichever mode you choose. Segment can't read a hashed number, so it has to already be the hash of the E.164 form for DV360 to match it.
Badly formatted phone numbers fail silently
Google doesn't return an error for a badly formatted phone number. Because the value is hashed before it's sent, Google can't tell a malformed number from one that simply doesn't match any user in its graph — it accepts the request, reports success, and the member silently fails to match. A low match rate, rather than an error, is the only symptom.
The same is true of any identifier that's well-formed but wrong: hashed identifiers are opaque to Google, so unmatched members are never reported individually.
Sync Audience has two consent fields, Ad User Data Consent and Ad Personalization Consent, which map to Google's adUserData and adPersonalization signals.
Segment sends the user's data when a consent field is unmapped, carries no value, or is set to CONSENT_STATUS_GRANTED. If either field is set to CONSENT_STATUS_DENIED, Segment doesn't send the data, and the event is reported as failed.
It's your responsibility to map these fields so they carry the right consent values for your users.
Consent mode is a feature provided by Google in the context of its products, particularly the Gtag library and Google Analytics. Google requires consent mode to function for European Economic Area (EEA) users, otherwise data from EEA users won't process.
Consent mode in the Gtag library and Google Analytics is designed to help website owners comply with privacy regulations, such as the General Data Protection Regulation (GDPR) in the European Union. It allows website owners to adjust how these tools use and collect data based on user consent.
With consent mode, you can configure your website to dynamically adjust the tracking behavior of the Gtag library and Google Analytics based on the user's consent status. If a user provides consent to data processing, both the Gtag library and Google Analytics can collect and use that data for analysis. If a user doesn't provide consent, both tools limit data collection to essential functions, helping businesses respect user privacy preferences.
Segment automatically sends consent as TRUE for these four actions:
- Edit Customer Match Members - Contact Info List
- Edit Customer Match Members - Mobile Device Id List
- Remove Customer Match Members - Contact Info List
- Remove Customer Match Members - Mobile Device Id List
Segment uses the bulk-uploader workflow which requires consented data. Ensure all audiences and journeys are connected to consented audiences.
Sync Audience [Beta] is the exception: it sends the consent values you map, rather than always sending consent as granted. See Consent.
Build your own Mappings. Combine supported triggers with the following First Party Dv360-supported actions:
Mapping limits per destination
Individual destination instances support a maximum of 5 mappings.
Remove customer match members in Google Display & Video 360 Mobile Device Id List Audience.
Remove Customer Match Members - Mobile Device Id List is a Cloud action. The default Trigger is event = "Audience Entered"
A list of mobile device IDs defining Customer Match audience members. The size of mobileDeviceIds mustn't be greater than 500,000.
Add or update customer match members in Google Display & Video 360 Mobile Device Id List Audience.
Edit Customer Match Members - Mobile Device Id List is a Cloud action. The default Trigger is event = "Audience Entered"
A list of mobile device IDs defining Customer Match audience members. The size of mobileDeviceIds mustn't be greater than 500,000.
Add or update customer match members in Google Display & Video 360 Contact Info List Audience.
Edit Customer Match Members - Contact Info List is a Cloud action. The default Trigger is event = "Audience Entered"
Optional
A list of the user's emails. If not already hashed, the system will hash them before use. If not hashed, Segment will hash this value.
Optional
A list of the user's phone numbers. If not already hashed, the system will hash them before use. If not hashed, Segment will hash this value.
Optional
A list of the user's zip codes.
Optional
The user's first name. If not already hashed, the system will hash it before use. If not hashed, Segment will hash this value.
Optional
The user's last name. If not already hashed, the system will hash it before use. If not hashed, Segment will hash this value.
Optional
The country code of the user.
Remove customer match members in Google Display & Video 360 Contact Info List Audience.
Remove Customer Match Members - Contact Info List is a Cloud action. The default Trigger is event = "Audience Exited"
Optional
A list of the user's emails. If not already hashed, the system will hash them before use. If not hashed, Segment will hash this value.
Optional
A list of the user's phone numbers. If not already hashed, the system will hash them before use. If not hashed, Segment will hash this value.
Optional
A list of the user's zip codes.
Optional
The user's first name. If not already hashed, the system will hash it before use. If not hashed, Segment will hash this value.
Optional
The user's last name. If not already hashed, the system will hash it before use. If not hashed, Segment will hash this value.
Optional
The country code of the user.
Add users to, and remove users from, a Display & Video 360 Customer Match audience. Supports both Contact Info and Mobile Device ID audiences. This action is currently in beta.
Sync Audience [Beta] is a Cloud action. The default Trigger is type = "track"
Optional
The contact details used to match the user in Display & Video 360. This field is only used when syncing to a Customer Match Contact Info audience. It is ignored when syncing to a Mobile Device ID audience.
Optional
A mobile device ID defining a Customer Match audience member. A single value, or several separated by commas. This field is only used when syncing to a Customer Match Mobile Device ID audience. It is ignored when syncing to a Contact Info audience.
Optional
How Segment should treat phone numbers before hashing them. Display & Video 360 only matches a phone number hashed from its E.164 form, so a number sent in any other format is silently unmatched. This field is only used when syncing to a Customer Match Contact Info audience. It is ignored when syncing to a Mobile Device ID audience.
Optional
Consent signals for this audience sync. A signal left unset is sent as not specified. Events with consent denied are not sent, as Display & Video 360 rejects any request containing denied consent.
Optional
Choose to either create a new Customer Match audience in Display & Video 360, or connect to an audience which already exists there.
Optional
The ID of your advertiser, used throughout Display & Video 360. Use this ID when you contact Display & Video 360 support to help our teams locate your specific account.
Optional
The display name of the audience to create in Display & Video 360.
Optional
The type of the audience to create.
Optional
The duration in days that an entry remains in the audience after the qualifying event. The set value must be greater than 0 and less than or equal to 540.
Optional
The description of the audience.
Optional
The appId matches with the type of the mobileDeviceIds being uploaded. Required for CUSTOMER_MATCH_DEVICE_ID audiences.
Optional
The ID of the audience in Display & Video 360 to connect this mapping to.
Optional
When saving this mapping, Segment will either create a new Customer Match audience in Display & Video 360 or connect to an existing one.
Based on Google's documentation, make sure you send the correct required identifiers:
When you complete the connection between Segment and DV360, it can take from 24 to 48 hours for Google to create the user list. This must complete before Segment can begin to sync users into that list.
The duration in days that an entry remains in the audience after the qualifying event. The set value must be greater than 0 and less than or equal to 540.
You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo.
For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to false.
When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.
Real-time to batch destination sync frequency
Real-time audience syncs to First Party Display and Video 360 (Actions) may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.