Pinterest Sync

What is Pinterest?

Pinterest is a visual discovery platform that allows users to find and save creative ideas using images and videos known as "Pins." The platform enables businesses to promote content through visual ads and track engagement for performance and targeting. Pinterest offers conversion tracking and audience targeting solutions to help advertisers better understand user behavior and optimize campaigns.

Product Type: Advertising

Integration Type: Starter Kit & ID Sync


Capabilities

  • Captures epik from URLs and stores it for session and user-level attribution.
  • Syncs user identifiers using a GET request to Pinterest’s user endpoint.
  • Populates derived_epik and pin-unauth IDs from the response of the fetch sync.
  • If the fetch sync fails, a fallback marker _pinterest_derived_epik_failure is created with a shorter TTL to prevent repeated fetches.
  • Adds identifiers to server-side events for targeting and performance optimization.
  • Drops the Pinterest tag, which may set internal cookies used for session tracking.

Sync Details

  • IDs:

    • epik – A tracking identifier captured from the epik URL parameter used to associate user actions with Pinterest campaigns.
    • derived_epik – An identifier derived from Pinterest's fetch response to further enhance user tracking.
    • pin-unauth – An unauthenticated Pinterest identifier used when login state is unknown or unavailable.
  • Description:

    • The sync captures epik from the page URL.
    • It also sends a GET request to https://ct.pinterest.com/user?a=1 to collect additional IDs.
    • Each value is stored in first-party storage for a configured duration.
    • Values are refreshed when new data is detected.
    • The identifiers are added to server-side event payloads for attribution and targeting.
  • Response Example:

    
    {
      "aemEnabled": false,
      "aemFnLnEnabled": false
    }
    
    
  • Server-side Event Payload:
    Upon completion of all vendor's sync, the server-side events will incorporate all resolved identifiers as described above. The following object will be appended to the context.providers property within the event's JSON payload.

    {
      "pinterest": {
        "derived_epik": "header response value",
        "pin-unauth": "header response value",
        "epik": "URL parameter value from epik"
      }
    }
    
    
  • Cookie Name:

    • Cookie: _meta_pinterest_epik, _meta_pinterest_derived_epik, _meta_pinterest_derived_epik_failure, _meta_pinterest_pin-unauth
    • IndexedDB: [your storage prefix]_pinterest_epik, [your storage prefix]_pinterest_derived_epik, [your storage prefix]_pinterest_derived_epik_failure, [your storage prefix]_pinterest_pin-unauth
    • For a general guide on ID Sync validation, see here.

Sync Setup Guide

1. Add a Pinterest Sync in MetaRouter

To gather the epik, derived_epik, and pin-unauth identifiers, you must add a Pinterest sync.

  1. From the Pipelines page, find the pipeline associated with the web property you’d like to add a sync to. Hover over the three dot dropdown and select “Build AJS File.”
  2. In the Identity Syncs section, select the Pinterest sync.
  3. Fill out the following fields:
    1. Cookie Lifetime (in days) – Defines how long values like epik and derived_epik are stored. Example: 365
    2. Failure Cookie Age (in days) – Time to wait before retrying after a failed fetch. Example: 45
    3. API Timeout (in milliseconds) – How long to wait before timing out Pinterest’s fetch request. Example: 1000
  4. Scroll down and click the Save and Build File button.
  5. Deploy your AJS file to propagate changes to your web property.