Enable Pinterest (New)

Prev Next

Overview

Pinterest is a visual discovery engine for finding ideas like recipes, home and style inspiration, and more. Connect Pinterest to Branch to attribute clicks and installs, forward conversion events via Pinterest's Conversions API, and configure postbacks.

For more information about integrating ad partners in general, visit our Ad Partner Integration Guide.

Note: this guide is for new Branch

Please note that this guide is about integrating Pinterest in the new Branch experience. For information on Pinterest in legacy Branch, visit our legacy guide.

Partner capabilities

Capability

Details

Company type

Non-SAN ad network

Deep linking

Supported

Attribution

Click-through attribution, View-through attribution

Ad campaign types

Acquisition campaigns, Retargeting campaigns

Ad formats

Contact Pinterest for details

Click types

Server-side click

Supported platforms

iOS, Android

Link wrapping

Not supported

Cost ingestion support

Not supported

Pricing models

CPC, CPM, CPA, CPV, CPL

Before you begin

To set up the Pinterest integration, you need:

  • Branch's Performance product enabled for your Branch account. Contact your Branch account manager or visit https://branch.io/pricing.

  • A Branch account with access to Configuration > Ad Partners and admin permissions to enable and configure integrations.

  • The Branch SDK implemented in your app (iOS | Android) with event tracking configured.

  • Admin, Analyst, Audience, or Campaign Business Access to your Pinterest Ads account.

  • Active campaigns running in Pinterest Ads Manager.

Enable Pinterest

To begin, navigate to Configuration > Ad Partners > Pinterest.

Pinterest requires a Ad Account ID and Conversion Token from your Pinterest Ads account before postbacks can be activated. Follow the steps below to retrieve these credentials and connect Pinterest to Branch.

Step 1: Retrieve your Ad Account ID

  1. Log in to your Pinterest Ads Manager account.

  2. Navigate to Ads > Account Overview.

  3. Locate and note the Ad Account ID in the URL: ads.pinterest.com/advertiser/{ad_account_id}/

Step 2: Retrieve your Conversion Token

  1. In Pinterest Ads Manager, navigate to Account Overview > Conversions.

  2. If you don't have a Conversion Token yet, select Set up API in the Conversions API section, then select Generate new token.

  3. Copy your Conversion Token using the copy icon.

Step 3: Connect Pinterest in Branch

  1. Select Partner settings to open the Manage account dialog.

  2. Under Postback Credentials, enter the Ad Account ID and Conversion Token from steps 1 and 2.

  3. Select Save.

After saving, postbacks for the standard event set will activate and the Status tab will confirm Ad Linking and Attribution are enabled. Clicks and Impressions will show Needs Setup — this is resolved when you place your Branch tracking links in your Pinterest campaigns (see Set up tracking links).

(Recommended) To configure the optional PAM for Publishers privacy setting, select Partner settings to open the Manage account dialog and enable the toggle. When enabled, PAM for Publishers removes advertiser-specific user identifiers from postbacks for users who haven't opted in via Apple's App Tracking Transparency (ATT) framework, prioritizing identifiers provided directly by Pinterest.

Pinterest requires Branch tracking links to be placed in your ad creatives to record clicks and impressions. Pinterest uses server-side clicks, so the %24s2s=true parameter must be included in all tracking links. Place the following in your Pinterest Ads Manager when setting up your ad creative:

Field

Value

Impression Tracking URL

Your Branch impression tracking link. Must include %24s2s=true. See Link formatting for the full link structure.

Click Tracking URL

Your Branch click tracking link. Must include %24s2s=true. See Link formatting for the full link structure.

Destination URL

A Branch link with tracking disabled. Placing a standard Branch link here causes double attribution. See Create a Branch Link with tracking disabled.

If you place a standard Branch link in the Pinterest Destination URL field, Branch may attribute the resulting conversion twice — once from the Click Tracking URL and once from the destination link redirect. To prevent this, create a Branch link with tracking disabled to use as the Destination URL.

  1. Create a Branch link as normal in Ads > Links or using the Branch link builder.

  2. Enable the Do Not Track setting on the link, or append %24disable_tracking=true to the link URL.

  3. Place this tracking-disabled link in the Destination URL field in Pinterest Ads Manager.

Use the following formats for your Pinterest tracking links. Replace [yourapp.app.link] with your Branch domain. Pinterest populates the macro parameters in curly braces automatically when serving your ads.

Click Tracking Link

https://[yourapp.app.link]?%243p=a_pinterest&%24aaid_sha1={sha1_advertising_id}&%24idfa_sha1={sha1_advertising_id}&%24s2s=true&~ad_set_id={ad_group_id}&~ad_set_name={ad_group_name}&~campaign={campaign_name}&~campaign_id={campaign_id}&~click_id={click_id}&~creative_id={creative_id}&~creative_name={creative_name}&~secondary_publisher={publisher}

Impression Tracking Link

https://impression.[yourapp.app.link]?%243p=a_pinterest&%24aaid_sha1={sha1_advertising_id}&%24idfa_sha1={sha1_advertising_id}&%24s2s=true&~ad_set_id={ad_group_id}&~ad_set_name={ad_group_name}&~campaign={campaign_name}&~campaign_id={campaign_id}&~creative_id={creative_id}&~creative_name={creative_name}&~secondary_publisher={publisher}

Parameter

Description

%243p=a_pinterest

Identifies Pinterest as the ad network. Static value included in your Branch link.

%24aaid_sha1={sha1_advertising_id}

SHA1-hashed Android GAID. Required for Android attribution.

%24idfa_sha1={sha1_advertising_id}

SHA1-hashed iOS IDFA. Required for iOS attribution.

%24s2s=true

Required. Tells Branch this is a server-side click or impression from Pinterest.

~ad_set_id={ad_group_id}

Pinterest macro for ad group ID. Maps to Branch's ~ad_set_id.

~ad_set_name={ad_group_name}

Pinterest macro for ad group name. Maps to Branch's ~ad_set_name.

~campaign={campaign_name}

Pinterest macro for campaign name. Maps to Branch's ~campaign.

~campaign_id={campaign_id}

Pinterest macro for campaign ID. Maps to Branch's ~campaign_id.

~click_id={click_id}

Pinterest macro for click ID. Maps to Branch's ~click_id. Click tracking link only.

~creative_id={creative_id}

Pinterest macro for creative ID. Maps to Branch's ~creative_id.

~creative_name={creative_name}

Pinterest macro for creative name. Maps to Branch's ~creative_name.

~secondary_publisher={publisher}

Pinterest macro for publisher. Maps to Branch's ~secondary_publisher.

Configure attribution

By default, Pinterest uses your global app attribution settings. To set attribution windows specific to Pinterest, enable the Override global app settings toggle on the Attribution windows tab.

For more information, follow Configure attribution in the general Ad Partner Integration Guide.

Configure postbacks

Connecting Pinterest automatically activates postbacks for INSTALL, REINSTALL, OPEN, PAGEVIEW, WEB_SESSION_START, INITIATE_PURCHASE, PURCHASE, VIEW_ITEM, VIEW_ITEMS, ADD_TO_CART, COMPLETE_REGISTRATION, ADD_TO_WISHLIST, START_TRIAL, SUBSCRIBE, RESERVE, SEARCH, INITIATE_STREAM, and COMPLETE_STREAM. Branch maps these to Pinterest's Conversions API event types as follows.

Pinterest event

Branch event

app_install

INSTALL, REINSTALL

app_open

OPEN

page_visit

PAGEVIEW, WEB_SESSION_START

initiate_checkout

INITIATE_PURCHASE

checkout

PURCHASE

view_category

VIEW_ITEM, VIEW_ITEMS

add_to_cart

ADD_TO_CART

signup

COMPLETE_REGISTRATION

add_to_wishlist

ADD_TO_WISHLIST

start_trial

START_TRIAL

subscribe

SUBSCRIBE

lead

RESERVE

search

SEARCH

watch_video

INITIATE_STREAM, COMPLETE_STREAM

custom

{custom_event_name}

Pinterest recommends enabling Send all events on the Postback config tab so that Branch forwards all in-app conversions to Pinterest. This allows Pinterest to report the full value the platform is driving to your app.

To add postbacks for additional events or to customize behavior, follow Configure postbacks in the general Ad Partner Integration Guide.

Create a Branch Ad Link to use in your Pinterest campaigns. Branch uses the link to attribute clicks and impressions and deep link users into your app. Placing the Branch Ad Link in your Pinterest campaigns will resolve the Clicks and Impressions: Needs Setup status shown on the Status tab.

Follow Create a Branch Ad Link in the general Ad Partner Integration Guide.

Verify your data

After your integration is connected and events are flowing, you can verify data is reaching Branch:

  • In Branch Liveview: confirm that events from your app appear in real time. This is the fastest way to confirm SDK events are firing. Filter for ad partner (3p) = a_pinterest.

  • In Branch Analysis dashboards: review attributed installs and events where Ad Partner Name = Pinterest.

  • In Pinterest: confirm that forwarded events are appearing in your Pinterest Ads attribution reporting.

Troubleshoot

If clicks or impressions are not being attributed to Pinterest, verify the following in your tracking links:

  • %24s2s=true is present in both the Click Tracking URL and the Impression Tracking URL. Without this parameter, Branch cannot register server-side events from Pinterest.

  • Advertiser IDs are mapped correctly: {idfa} for iOS and {google_advertising_id} for Android. If these macros are missing or incorrectly formatted, Branch cannot match clicks to conversions on a per-device basis.

  • The Destination URL uses a tracking-disabled Branch link, not a standard Branch link. A standard Branch link in the Destination URL field will cause double attribution. See Create a Branch Link with tracking disabled.

GEO_CONFLICT

Pinterest's Conversions API applies a GEO_CONFLICT anti-fraud validation. If the geographic location in the click or impression event differs significantly from the location in the conversion event, Pinterest may flag or reject the conversion. This is expected behavior and does not indicate a problem with your Branch integration.

If you see higher-than-expected GEO_CONFLICT rejection rates, verify that your Branch SDK is correctly capturing the user's device location. Elevated rates can also occur when users connect via VPN or when there are geographic mismatches between ad serving and device data.

Data mappings

Campaign data

Branch populates the following fields from Pinterest campaign data.

Branch field

Partner data

~advertising_partner_name

"Pinterest" (static)

~campaign

campaign_name

~campaign_id

campaign_id

~ad_set_name

ad_group_name

~ad_set_id

ad_group_id

~creative_name

creative_name

~creative_id

creative_id

~click_id

click_id

~secondary_publisher

publisher