You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 41 Next »

Data partner integration guide for audiences

Use this guide to integrate your audience segments with the PubMatic system.

Integration requirements

  1. Get PubMatic's API Token: provide PubMatic with the developer's First Name, Last Name, and Email Address to create an API authentication token.

    To learn more…

  2. Integration also requires a data partner ID (DPID).

Data integration

Data owners can send…

  • Cookie IDs for mobile and desktop/web.
  • IDFA/Android device IDs for mobile apps; in this case, step 1 below is NOT required , but step 2-3 remain the same.
  • Different ID types within the same PubMatic account; contact your PubMatic account manager for details.

Data integration requires these steps:

  1. Segment registration.

  2. Data transfer.

Segment registration

Register segments ONLY ONCE before data transfer…

Perform registration only for any new segments you send.

Data providers must register new segments with source segment IDs before sending data to PubMatic. PubMatic ignores unrecognized segment IDs to avoid processing mistakenly sent data.

Two ways to register segments:

  1. Register segments with the Segment Registration APIs; see, Register an Audience segment, to learn more.)
  2. Bulk-register segments in the PubMatic system UI using the menus, Publisher Account > Audience > Audience Segments > Bulk Upload Segments: 

Data transfer parameters

Use Data Transfer API calls to send data to PubMatic. Build API calls using the parameters in the table below to transfer data demonstrated by samples for the following methods:

Error rendering macro 'excerpt-include'

No link could be created for 'SFTP Data Transfer for Audience Segments'.

Server-to-server (S2S) data transfer

The server-to-server data transfer mechanism is a highly-efficient way to pass data to PubMatic because the data transfer happens directly between servers. The following diagram illustrates the server-to-server data transfer process between a data provider and PubMatic.

The process follows these steps:

  1. A user lands on a web page.
  2. PubMatic and a data provider receive the UID.
  3. PubMatic syncs with the data provider by sharing the data transfer API URL.
  4. The data partner passes the audience segment data to the PubMatic data transfer API in batches. The data transfer API typically requires the PubMatic-specific UID and the list of audience segment IDs as input.

For users whose audience profile changed since the last data transfer…

Data partners must transfer the updated audience profile information to PubMatic in batches.

Server-to-server sample requests

In this request, 89  is the data partner's PubMatic-assigned ID, the user belongs to three audience segments (with IDs 123 , 98901 , and 4532 ), and uidtype=0 means the user ID represents a PubMatic cookie ID, and that you must first use the UID sync step below when passing 0 in uidtype

Standard call with segment IDs,98901,4532&country=US&uidtype=0

This request for the same user appends segment ID 3242 to the user's existing list and removes segment ID 123 from the list, changing the user's audience segments list to: 98901, 4532,3242. The uidtype parameter also specifies using the UID value as a device ID.

Appending and removing segments

See Data transfer parameter reference above.

Browser-side real-time (HTTP 302 redirect) data transfer

Data partners who do not support the server-to-server data transfer mechanism can pass the data to PubMatic using the browser-side real-time data transfer mechanism for each visitor as follows:

  1. A user visits the website using a browser, which upon loading, executes the PubMatic pixel.
  2. The PubMatic pixel invokes the data partner's pixel or URL to request the audience segment data for this visitor. To reduce the latency, this request is sent to the data partner only once in a pre-configured time interval per user; for example, once per day.
  3. The data partner's system then redirects to the PubMatic Data Ingestion API using the HTTP 302 redirect. This API URL will be shared by PubMatic with the data partner before the start of the integration. While redirecting to the API URL, the data partner's system should include all the IDs of the audience segments to which the visitor belongs.

The data partner also must…

Provide the segment ID-to-segment name mapping to PubMatic only once at the start of the integration.

Browser-side sample requests

In this request, 89 indicates the data partner's PubMatic-assigned ID, B8CB98E6-0FF0-4C2B-A161-4F89155C28F is the PubMatic user ID (from the UID sync step above ), and the user belongs to three DMP audience segments with IDs: 123, 98901, and 4532. The last known IP of the user was,, the user is from the US, and uidtype=0 specifies that the user ID should be handled as a cookie ID (you must first use  the UID sync step below when passing 0 in uidtype).

Call updates entire audience segments list,98901,4532&uidtype=0

This request for the same user show that, B8CB98E6-0FF0-4C2B-A161-4F89155C28F is the PubMatic user ID, the last known IP of the user was,, and the user is from the US. Next, addseg instructs that audience segment 3242 will be appended to the user's existing list of audience segments, while remseg instructs that audience segment 123 will be removed, leaving the user's updated audience segments as: 98901,4532,3242. Finally, uidtype=1 specifies that the user ID should be handled as a device ID.

Call removes and appends audience segments list

See Data transfer parameter reference above.

Remove a user from audiences 

Use one of the following methods to remove a user from all of their audiences (DMPs and publishers can use either method):

  1. When sharing data via a Server-to-Server (S2S) call or browser redirect mechanism, exclude the segid parameter from the S2S call to PubMatic. See Data transfer parameter reference above.
    EXAMPLES: &userid=5AFCD4CD-F9B6-4E53-B63D-BFB2CF44941D&uidtype=[Identity_Partner_ID]


    To send a list of segments to remove using the remseg parameter: 89&userid=5AFCD4CD-F9B6-4E53-B63D-BFB2CF44941D&remseg=123,3242&uidtype=[Identity_Partner_ID]

  2. When sharing data via a bulk file, do not pass any segment ID in the file for the user record. Audiences in the latest record are stored for the user ID, overwriting the user's previous audiences.

Bulk audience data transfer using SFTP

You can use SFTP to transfer audience segment data to PubMatic within a tab-delimited file, where each row of the file contains the audience segment parameters separated by a tab character, with each row ending with a carriage-return as follows:


The segid parameter can be a comma-separated list of different audience segment IDs. See Data transfer parameter reference above.

You must provide either…

[IP] (last known IP address) or [COUNTRY] (two-letter country code). If [IP] is unknown, add two TABs between [SEGID] and [COUNTRY] with no additional blank/space characters. See Segment Registration > Sample entries below.

File name format

File names follow the pattern:

  • <TIMESTAMP> format should be Unix; for example, 1596695461984.
  • <MD5SUM> is an MD5 32-character hexadecimal checksum that is computed on the file content before compression.

If your organization has workload managed by a team, you can also include a  <WORKERID>  as part of the file name to help track and manage the team member's workload:


While the transfer is in progress…

Suffix the file with, * .UPLOADING, then rename it upon completion.

PubMatic supports compression formats such as,  gzip  bzip2 and others. If you have any questions or issues uploading a compressed file, please contact your PubMatic account manager for assistance.

The tsv.gz suffix must follow the uploaded file name. Please verify that the file name is correct once upload completes.

Segment registration

Before sending data for specific segment IDs in the TSV file, you should have already registered the segments with PubMatic. You can either email PubMatic any new segment names and IDs you want to register, or use the PubMatic Audience Registration API to do so.

Sample entries

103   5AFCD4CD-F9B6-4E53-B63D-BFB2CF44941D    4666   0 

103   34E1EA68-8EDA-4254-9BD0-AB24BCC13914    4666            US     1

Bulk transfer notes…

  1. FTP lets a single user batch upload data for multiple partners, while HTTP allows data for only a single partner.
  2. HTTP lets a DMP add or remove a segment for a given user id, but FTP requires the DMP to send all the user's segment IDs, which overrides the existing segment stored with PubMatic.
  3. FTP allows only one new line entry for each segment for a given user.

Host and access

Provided separately by PubMatic. Contact your PubMatic account manager with questions.

Unique identifier (UID) sync

PubMatic can process data only from PubMatic User IDs…

To use data from other sources when using uidtype=0, a data provider must create a user-match table between PubMatic's user IDs and their own user IDs.

Steps for user sync-up:

  1. The data provider must provide PubMatic with an image pixel similar to, <img src=" " width=1 height=1>  .
  2. If data comes from a publisher, then PubMatic incorporates the image pixel from step 1 in a PubMatic pixel. The publisher must fire the PubMatic pixel across their website to maximize coverage across their users. Firing the pixel also lets the data provider create the match-table. 
  3. If data comes from a buyer, PubMatic fires the image pixel from step 1 across PubMatic's site.

⇧ Top

Do you have feedback on this document? Let us know: email us.

Table of Contents