Skip to main content
The Google DV360 Connector API lets an unattended integration deliver hashed identifiers from a Narrative dataset into Customer Match audiences in your Google Display & Video 360 (DV360) account. A person signs in once to create an API key, and the integration uses that key from then on. Complete the prerequisites and set up API access on this page before you follow the Customer Match delivery guide.

Choose a guide

Customer Match delivery

Upload hashed emails and deliver them into a new or existing Customer Match audience.

Prerequisites

API key

Create the key under Settings → API Keys with these permissions:
  • Read and write on datasets and connections
  • Write on uploads
  • Read on installations, app_profiles, and apps
Add read and write on webhooks if you want delivery notifications. See API Keys for the procedure and the Permissions Reference for what each resource covers. Create it from a shared team account rather than a personal login, so the integration keeps working when someone changes roles.

Google DV360 Connector installed

The Google DV360 Connector is app 15. Find your installation of it among your destination connectors:
To read that installation on its own:
Record the installation ID. If no record has "app_id": 15, install the Google DV360 Connector from the Narrative Marketplace.

DV360 advertiser linked to Narrative

Narrative delivers Customer Match audiences to DV360 as an external data partner, so you link your DV360 advertiser to Narrative I/O once, before you create a profile for it. Follow Link your DV360 account in the connector reference. Note the ID of the DV360 advertiser you linked. The API calls it the DV360 customer ID, and you use it to create the profile.

Set up API access

The Customer Match delivery guide talks to two hosts, and each takes its own credential:

Get an installation token

The DV360 connector authenticates requests with an installation token, which you get by exchanging your API key. Use the installation ID from Google DV360 Connector installed:
Store access_token as $INSTALLATION_TOKEN. It lasts about three hours, so request a new one at the start of each run of your integration. Confirm that both hosts answer:
Send the API key to api.narrative.io and the installation token to googledv360cmu.narrativeconnectors.com.
API keys contain characters that shells mangle. Read the key from a file or an environment variable rather than pasting it inline.

Create a profile

A profile ties your Narrative company to one DV360 advertiser, and every connection names the profile it delivers through. Create one profile for each DV360 advertiser you linked, and send its ID as google_dv360_customer_id, a number:
description is optional. The connector confirms with Google that the DV360 advertiser is linked to Narrative before it saves the profile. A new profile starts out disabled. Record its id, then enable it:
Enable the profile before you create connections on it.

Find your profile

GET /profiles lists every DV360 profile in your company, as shown in Get an installation token. To read one:
Use a profile whose status is enabled and whose google_dv360_customer_id is the advertiser you want to deliver to. The Narrative API also lists the installation’s profiles by name and status:

Remove a profile

Remove a profile when you no longer deliver to its DV360 advertiser:
The profile no longer appears in GET /profiles.

Read the connection settings schemas

Each kind of DV360 connection has a JSON schema for its quick_settings. The connector serves the schemas without a token, and the Narrative API serves the same content:
The Customer Match delivery guide uses audience_first_party_new and audience_first_party_existing.

What the connection does

A connection’s quick_settings pick the interface and set how the connection delivers. The fields depend on the interface.

New Customer Match list (audience_first_party_new)

The connector creates the list in Display & Video 360 when you create the connection.

Existing Customer Match list (audience_first_party_existing)

Existing and new rows

A connection delivers every snapshot written to the dataset after the connection is created. The historical_data_enabled quick setting decides whether the connection also delivers data that was already in the dataset when you created it:
  • With historical_data_enabled set to true, the connection first delivers data already in the dataset, then keeps delivering new snapshots as they land.
  • With historical_data_enabled set to false, the connection delivers only snapshots written after it was created.
How far back the first delivery reaches depends on the connector, and each connector’s guide states it. For Display & Video 360, historical_data_enabled delivers everything in the dataset when the connection is created. After that, each new snapshot is delivered as it lands. Every delivery adds members to the list, and the connection never removes them. A member leaves the list when its membership duration runs out. When you overwrite the dataset, the connection adds the rows in the new snapshot, and members missing from it stay in the list until their membership duration ends.

Delivery notifications

The Google DV360 Connector reports each delivery as an app webhook event. Subscribe a webhook to app 15 to receive them:
Keep the secret to verify that each webhook request comes from Narrative. The connector sends these events: Read a subscription with GET /webhooks/{webhook_id}, and stop the notifications with DELETE /webhooks/{webhook_id}. See App subscription for the subscription fields and Verifying deliveries for checking the secret.

Google DV360 Connector

Supported identifiers for DV360

Hashing PII

Prepare identifiers for DV360

Connector Interfaces

Why a dataset connects to an interface rather than a connector

API Keys

Create and rotate keys for programmatic access