In the ShiftForward DMP, sending data out is called an Activation. Segments and Attributes can be activated to a 3rd party either online (browser-side) or offline (server-side). Online activations are always in real-time, whereas offline activations are normally in batch, although some rare 3rd parties are now capable of receiving it in real-time as well.
Online (Real-Time)
Sending data through the browser to a 3rd party using HTML or JS tags.

Fill in the Name and Key. The Key is going to identify this Partner in tags and other places and should be unique in your account. Name is something for you to easily identify the Activation in the Dashboard.
Fill in the Data transfer URL template with the URL provided by the 3rd party, using the ShiftForward DMP Macros to dynamically populate the URL with the user segments:
Optionally, customize the key-values sent in the [DATA] parameter for this particular Activation using the Mapping rules option. You can also use the Mapping rules feature as a way to select which Segments are sent in this Activation by simply not mapping the Segments you do not want to send over.
Optionally, specify a Data transfer fallback URL to use in case there are no Segments to send.
Optionally, specify a list of domains to ensure this Activation is only triggered on those domains. This is particularly useful if the 3rd Party is a specific Publisher or Advertiser client and you want to ensure you only send data to them when users visit their own web properties.
Optionally, change the default Browser cache settings that are sent to the Browser in response to the Data Activation requests, balancing updates vs. traffic volume received in the system.
Macros:
There are four macros supported in the URL template language:
- [DATA]
- [DATA_FLAT]
- [attribute name]
- {{ … }}
[DATA]
The [DATA] macro will encode all the segment data as a query string. For example, given the following segment data:
Segment = value
- a = 0
- b = 1
- c = 2
The [DATA] macro would render the following string: “a=0&b=1&c=2”.
[DATA_FLAT]
The [DATA_FLAT] macro will render the segments in a flat fashion, such as: “sg=a_0&sg=b_1&sg=c_2”. Currently, the suffix is always “sg”.
[attribute name]
It’s possible to use the value of a specific attribute in the template using its original name between brackets, e.g. [attribute name]. As an example, having an attribute called gender_id, and a template with the content:
“…&gender=[gender_id]…”
for a user with the value m the result rendering will be:
“…&gender=m…”.
This macro will render an empty string in case the attribute is either empty or non-existent for the user.
{{…}}
The {{ … }} macro encodes everything inside it. As an example, using the previously defined segment data, the template {{[DATA]}} would be rendered as: “a%3D0%26b%3D1%26c%3D2”
Additionally, it is possible to nest {{ … }} macros so that the contents are double encoded (or triple encoded…). Given the following template “{{data=asdf&segments={{[DATA]}}}}”, the segment information would be double encoded while the rest of the URL would not (it would just be encoded once).
Including the tag
In order to use the tag in a site, the following snippet is the minimum piece of code that should be included in the page.
<script async src="/path/to/pcdp.js"></script> <script> window.pcdpLayer = window.pcdpLayer || []; window.pcdp = function(){pcdpLayer.push(arguments)}; </script>
The path/to/pcdp.js
is system specific and should be replaced with the specific URL for your system.
Activation API
pcdp("event", "activation", { configId: "a1", });
Required parameters:
- configId: The string id of the activation config.
Optional parameters:
- receiverId (Required if configId is undefined): The string id of the activation receiver;
- user: An object containing:
- type: the type of the user identifier
- id: the id of the user
All other received data will be ignored.
Offline (S2S)

Fill in the Name and Key. The Key is going to identify this Partner in tags and other places and should be unique in your account. Name is something for you to easily identify the Activation in the Dashboard.
Optionally, fill in the cookie sync redirection URL if you want to share the Shiftforward DMP UID with the 3rd Party, using the [DATA] macro as the placeholder for the ShiftForward DMP UID.
Files are created on an Amazon AWS S3 bucket on regular intervals, accessible via an HTTPS end-point as well as S3 clients.
The format of the file content is customizable and can vary for each Activation. By default, it uses a JSON format containing client id, user id and user attributes/segments.