Pinterest CAPI Sync
What is Pinterest?
Pinterest is a visual discovery and social media platform that allows users to discover, collect, and share ideas through images and videos known as "Pins." Businesses use Pinterest Ads to reach users with promoted content based on their interests and behaviors. The Pinterest Conversion API (CAPI) enables advertisers to send conversion data from their servers directly to Pinterest, improving attribution accuracy and ad targeting by bypassing browser limitations.
Product Type: Advertising
Integration Type: Starter Kit & ID Sync
Capabilities
- Captures
epik
from URLs and stores it for conversion tracking. - Syncs the
epik
identifier by firing a match pixel to Pinterest’s CAPI endpoint. - Refreshes stored values and pixel firing logic when new data is detected in URL parameters.
- Adds identifiers to server-side events for conversion attribution.
- Supports firing multiple pixels using extra pixel IDs configured in the UI.
Considerations
- Pixel firing logic and conditions are outlined in a workflow diagram hosted on Miro.
- Pixel fires via GET request to
https://ct.pinterest.com/v3/
and may include a property and additional pixel IDs.
Sync Details
-
IDs:
epik
– A Pinterest Conversion API identifier passed via URL for attributing conversions to user actions across sessions.
-
Description:
- The sync captures
epik
from URL parameters. - Each value is stored in first-party storage for the duration specified in the UI (default: 365 days).
- Values are refreshed when the URL parameter reappears.
- A pixel request is also sent to Pinterest CAPI endpoint using the captured data.
- The identifiers are added to server-side event payloads for attribution and ad targeting.
- The sync captures
-
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.{ "pinterestCAPI": { "epik": "value of URL parameter epik" } }
-
Cookie Name:
- Cookie:
_meta_pinterestCAPI_epik, _meta_pinterestCAPI_fired, _meta_pinterestCAPI_fired_{extraPixelIDs}
- IndexedDB:
[your storage prefix]_pinterestCAPI_epik, [your storage prefix]_pinterestCAPI_fired, [your storage prefix]_pinterestCAPI_fired_{extraPixelIDs}
- For a general guide on ID Sync validation, see here.
- Cookie:
Sync Setup Guide
1. Add a Pinterest Sync in MetaRouter
To gather the epik
value and send it via match pixel to Pinterest, you must add a Pinterest sync.
- 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.”
- In the Identity Syncs section, select the Pinterest sync.
- Fill out the following fields:
- Cookie Lifetime (in days) – Enter the number of days to retain stored values (e.g.,
45
). - Pixel ID – Enter the main Pinterest pixel ID provided in the Pinterest UI (e.g.,
"2542621907646"
). - Property – Enter the property name for Pinterest events (default:
"MetaRouterSync"
). - Extra Pixel IDs (Optional) – If you wish to fire multiple pixels, enter a JSON array of pixel IDs (e.g.,
["2542621577120", "2542621898577"]
). - Fire On ReSync – Enter
true
orfalse
to control whether the pixel should fire again on identity call (e.g.,true
).
- Cookie Lifetime (in days) – Enter the number of days to retain stored values (e.g.,
- Scroll down and click the Save and Build File button.
- Deploy your AJS file to propagate changes to your web property.
Updated 1 day ago