Skip to main content

Overview

Off-site tracking allows you to capture events that happen beyond your website—such as partner site conversions, email opens, or ad impressions—and associate them with your users in Permutive. This enables powerful use cases like:
  • Campaign reporting: Measure the effectiveness of advertising campaigns by tracking conversions on partner sites
  • Campaign optimization: Optimize targeting during campaigns to reach conversion KPIs
  • Suppression targeting: Remove users from targeting cohorts once they have converted
  • Premium targeting: Offer premium targeting for users who have visited a partner site but not yet converted
Prerequisites:
  • A custom event schema must exist in your Permutive workspace before implementation. Contact Support to set this up.
  • Determine which user identification method you’ll use (third-party cookies, internal user IDs, or Permutive user ID).

User Identification Methods

Before implementing tracking pixels, choose how you’ll identify users: Third-party cookies: Use IDs from partners like AppNexus, Google, or The Trade Desk. Permutive can automatically collect some third-party cookies—contact Support if you’re unsure whether your preferred ID is supported.
Some browsers block third-party cookies, which limits this method’s effectiveness. Consider using internal user IDs or Permutive’s user ID for more reliable tracking.
Internal user IDs: Use Permutive’s identity framework with your own identifiers to track users across touchpoints. Permutive user ID: Use the Permutive-assigned user ID directly for tracking.

Implementation Approaches

Choose the approach that best fits your use case:
Use this method when you need to copy and paste a tracking URL into third-party platforms like ad servers. The platform will handle firing the pixel request.Run these JavaScript snippets in your browser console to generate tracking URLs.
1

Using AppNexus ID

This example uses the AppNexus third-party cookie for user identification.
// Configuration
const publicKey = 'your-public-api-key';
const eventName = 'PartnerConversion';
const eventProperties = {
  partner: 'Example Partner',
  value: 50.0
};

// Generate the tracking URL
const baseUrl = 'https://api.permutive.app/v2.0/px/track';
const params = new URLSearchParams({
  k: publicKey,
  i: '$UID',
  e: eventName,
  p: JSON.stringify(eventProperties),
  it: 'appnexus',
  rand: Math.round(Math.random() * 1000000)
});

const trackingUrl = `https://ib.adnxs.com/getuid?${encodeURI(`${baseUrl}?${params}`)}`;
console.log(trackingUrl);
Example output:
https://ib.adnxs.com/getuid?https://api.permutive.app/v2.0/px/track?k=your-public-api-key&i=$UID&e=PartnerConversion&p=%7B%22partner%22%3A%22Example+Partner%22%2C%22value%22%3A50%7D&it=appnexus&rand=123456
GDPR Compliance for EU Users: When targeting users in the EU, you must append GDPR parameters to the AppNexus URL. If TCF signals are available, include gdpr (1 if GDPR applies, 0 if not) and gdpr_consent (the consent string). If TCF signals are unavailable, use consent=1 (user consented) or consent=0 (no consent). Without these parameters, AppNexus will not return the user ID for EU users.Example with GDPR parameters:
https://ib.adnxs.com/getuid?...&gdpr=1&gdpr_consent=YOUR_CONSENT_STRING
2

Using Internal User ID

This example uses your own identifier via Permutive’s identity framework.
// Configuration
const publicKey = 'your-public-api-key';
const eventName = 'PartnerConversion';
const identifierValue = 'your-user-id';
const identifierTag = 'your-identifier-tag';
const eventProperties = {
  partner: 'Example Partner',
  value: 50.0
};

// Generate the tracking URL
const baseUrl = 'https://api.permutive.app/v2.0/px/track';
const params = new URLSearchParams({
  k: publicKey,
  i: identifierValue,
  e: eventName,
  p: JSON.stringify(eventProperties),
  it: identifierTag,
  rand: Math.round(Math.random() * 1000000)
});

const trackingUrl = `${baseUrl}?${params}`;
console.log(trackingUrl);
Example output:
https://api.permutive.app/v2.0/px/track?k=your-public-api-key&i=your-user-id&e=PartnerConversion&p=%7B%22partner%22%3A%22Example+Partner%22%2C%22value%22%3A50%7D&it=your-identifier-tag&rand=123456
3

Using Permutive User ID

This example uses the Permutive-assigned user ID directly.
// Configuration
const publicKey = 'your-public-api-key';
const eventName = 'PartnerConversion';
const userId = 'permutive-user-id';
const eventProperties = {
  partner: 'Example Partner',
  value: 50.0
};

// Generate the tracking URL
const baseUrl = 'https://api.permutive.app/v2.0/px/track';
const params = new URLSearchParams({
  k: publicKey,
  u: userId,
  e: eventName,
  p: JSON.stringify(eventProperties),
  rand: Math.round(Math.random() * 1000000)
});

const trackingUrl = `${baseUrl}?${params}`;
console.log(trackingUrl);
Example output:
https://api.permutive.app/v2.0/px/track?k=your-public-api-key&u=permutive-user-id&e=PartnerConversion&p=%7B%22partner%22%3A%22Example+Partner%22%2C%22value%22%3A50%7D&rand=123456
Some platforms provide a macro for the rand (cache-buster) parameter. Check your platform’s documentation to see if you can use their macro instead of generating a random number.

Alternative ID Sync Providers

The examples above use AppNexus for third-party cookie identification. You can also use Google or The Trade Desk for ID syncing, which work similarly but have their own URL patterns.

Verifying Your Implementation

After implementing your tracking pixel:
  1. Navigate to the Events section in your Permutive dashboard
  2. Look for your custom event name (e.g., “PartnerConversion”)
  3. Allow some time for events to appear after implementation
If you don’t see events appearing, double-check your configuration and ensure the event schema has been created in your workspace.

Common Use Cases

Off-site tracking pixels are commonly used for:
  • PartnerConversion events: Track when users convert on partner sites to measure campaign effectiveness
  • EmailOpen events: Track email opens from marketing campaigns to build engagement audiences
  • AdImpression events: Track ad views in iframes or video players for frequency capping and reporting
  • Custom events: Track any off-site user behavior relevant to your business

Next Steps