You can send your user data to other platforms quickly and easily using a pixel. There are many applications for this, including

  • Selling data to agencies
  • Selling data to third-party data aggregators
  • Sharing data with other publishers

When to use pixels

We can use pixels to send audiences into almost any other platform, including all major

  • DSPs
  • DMPs
  • SSPs

For some of these platforms you can share data directly via one of our existing integrations. Where we don't have an integration you can set up pixels to achieve the same result.

Create the Pixel

To send your segment to another platform, you will need a pixel, created by the 'receiver platform'. 

Depending on the 'receiver platform' you will create the pixel by:

  • Liasing directly with your Account Manager
  • Logging in to the platform, creating a new audience, setting up a pixel for that audience

The pixel will be a url link, for example, for Krux:

beacon.krxd.net/event.gif?event_id=123456&event_type=default&Segment=Segment_Name/

Deploy the Pixel

To deploy the pixel,  use a custom JavaScript reaction from within the Permutive dashboard. 

Prepare the JS Reaction Code

To deploy the reaction you will need to edit a small code snippet, adding in the 

  • Segment ID
  • Receiver platform 
  • Pixel

This is the script we recommend you use. 

var segment = SEGMENT_CODE_HERE_AS_INTEGER;
var platform = "PLATFORM_NAME_HERE_AS_STRING";
var target = "PIXEL_FIRE_URL_EXCLUDING_HTTP(S)://"

var state = permutive.state || _internals.state;
var segs = state.getPermutiveData("px_" + platform);
if (typeof(segs) === 'undefined' || segs.indexOf(segment) === -1) {
  var protocol = ('https:' == location.protocol) ? 'https://' : 'http://';
  var dataTransferUrl = protocol + target;
  (new Image()).src = dataTransferUrl;
  segs = segs || [];
  segs.push(segment);
  state.setPermutiveData("px_" + platform, segs);
  impression();
}


To prepare your script, simply copy the code above and substitute in the correct values on the first 3 lines.

For example, for 

Note: The pixel must not include prefixes e.g. http:// or https:// . If these prefixes are included the pixel will fire a blank and the impression count will go up even though data is not being received correctly.

The prepared JS reaction is 

var segment = 1298;
var platform = "krux";
var target = "beacon.krxd.net/event.gif?event_id=Lb7rKDW0&event_type=default&Segment=Segment_Name/"

var state = permutive.state || _internals.state;
var segs = state.getPermutiveData("px_" + platform);
if (typeof(segs) === 'undefined' || segs.indexOf(segment) === -1) {
  var protocol = ('https:' == location.protocol) ? 'https://' : 'http://';
  var dataTransferUrl = protocol + target;
  (new Image()).src = dataTransferUrl;
  segs = segs || [];
  segs.push(segment);
  state.setPermutiveData("px_" + platform, segs);
  impression();
}

Note: We strongly recommend using the script we provide here because it:

  • Adds users to the 'receiver platform' audience whenever they are in the Permutive segment.
  • Ensures that the pixels fire at most once per user 
  • Tracks an impression to Permutive 

Set up the Permutive Reaction

To deploy the pixel, set up a JS reaction in the Permutive dashboard with an 'Every Time' trigger.

For example, to fire my 'Sports' segment into Krux,

Track the Pixels Fired

Once you have deployed your reaction, you can see a count of all the pixels fired under 'Impressions' on the Reactions page in the Permutive dashboard.

Did this answer your question?