RudderStack lets you send your event data to Pinterest Conversions API via the cloud mode. It sends the event calls in a batch where each batch can contain upto 1000 events.

Github Badge
To use Pinterest Tag's cloud mode (Pinterest conversions API), you need to contact Pinterest Support to enable the beta access.
Find the open source JavaScript SDK code for this destination in the GitHub repository.

Track

The track call allows you to capture the users' conversion events.

RudderStack maps the track events as specified in the Map Your Events To Pinterest Events connection setting in the dashboard.

A sample track call is shown below:

rudderanalytics.track("Order Completed", {
event_id: 'eventIDordercompleted',
order_id: "transactionId",
value: 35.00,
revenue: 31.98,
currency: 'USD',
products: [{
product_id: '123454387',
price: 3.00,
quantity: 2,
currency: 'USD',
position: 1,
value: 6.00,
}]
}, {
traits: {
email: "alex@example.com",
lastname: "Keener",
firstname: "Alex",
action_source: "offline" // or app_ios / app_android / web
}
});

E-commerce conversion tracking

RudderStack supports e-commerce conversion tracking for Pinterest. You can use the E-commerce Events Specification guide for sending the events while instrumenting your site with the RudderStack SDK.

The following table mentions how the specific Rudderstack track Ecommerce events are mapped to standard Pinterest Conversion Events:

RudderStack eventPinterest event
Order CompletedCheckout
Product AddedAddToCart
Products SearchedSearch
Product List FilteredSearch

You can also track a custom event that you want to include in the conversion reporting. It will be mapped to a custom Pinterest event, for example:

rudderanalytics.track("custom event")

Standard Pinterest events

Pinterest supports the following nine standard events that can be mapped and tracked for reporting. Any event apart from these is treated as a user-defined event.

  • Checkout
  • AddToCart
  • PageVisit
  • SignUp
  • WatchVideo
  • Lead
  • Search
  • ViewCategory
  • Custom

Page

The page call lets you record your website's page views with any additional relevant information about the viewed page.

  • view_category: RudderStack sends this event if both the name and category fields are present. The below sample event contains both the fields and is mapped to the Pinterest's view_category event:
rudderanalytics.page("Best Seller", "Games", {
path: "/best-seller/games/1",
url: "https://www.estore.com/best-seller/games/1",
title: "Best selling games offered by EStore",
search: "estore bestseller games",
referrer: "https://www.google.com/search?q=estore+bestseller",
testDimension: "true",
})
  • page_visit: RudderStack sends this event if only name field is present and drops any additional properties. The below sample event contains only name and is mapped to the Pinterest's page_visit event:
rudderanalytics.page("Best Seller", {
path: "/best-seller/1",
})

Common field mappings

The following table lists the mappings specific for Pinterest Conversion API and are relevant for both the track and page calls:

RudderStack propertyPinterest Tag propertyPresenceDescription
message.eventevent_nameRequiredType of the user event.
context.traits.action_source/properties.action_source/message.channelaction_sourceRequiredSource indicating the occurence of conversion event.
timestampevent_timeRequiredUnix timestamp (in UTC) in seconds indicating when the user conversion event occurred.
destination.Config.advertiserIdadvertiser_idRequiredPinterest Advertiser ID.
Integrations Object messageIdevent_idOptionalDeduplication key from the dashboard setting or messageId. The dashboard setting is given higher priority.
pageUrlevent_source_urlOptionalURL of the web conversion event.
context.device.adTrackingEnabledopt_outOptionalWhen action_source is web or offline, it defines whether the user has opted out of tracking for web conversion events. When action_source is app_android or app_ios, it defines whether the user has enabled Limit Ad Tracking on their iOS device or opted out of Ads Personalization on their Android device.
destination.Config.appIdapp_idOptionalApp store's App ID.
context.app.name/properties.appNameapp_nameOptionalName of the app.
context.app.version/properties.appVersionapp_versionOptionalVersion of the app.
context.device.manufacturer/properties.manufacturerdevice_brandOptionalBrand of the user device.
context.device.model/properties.deviceModeldevice_modelOptionalModel of the user device.
context.device.type/properties.deviceTypedevice_typeOptionalType of the user device.
context.os.versionos_versionOptionalVersion of the device's operating system.
context.localelanguageOptionalTwo-character ISO-639-1 language code indicating the user's language.
For mobile sources, if context.device.adTrackingEnabled is true, opt_out will be set as false and vice-versa.

User field mappings

The following table lists the mappings for fields carrying the user information for track and page calls:

RudderStack propertyPinterest Tag propertyData Type
emailemArray of strings with SHA-256 encoding
phonephArray of strings with SHA-256 encoding
context.traits.gendergeArray of strings with SHA-256 encoding
birthdaydb (yyyymmdd format)Array of strings with SHA-256 encoding
lastNamelnArray of strings with SHA-256 encoding
firstNamefnArray of strings with SHA-256 encoding
context.traits.city/context.traits.address.cityctArray of strings with SHA-256 encoding
context.traits.state/context.traits.address.statest (Two-letter code)Array of strings with SHA-256 encoding
context.traits.zip/context.traits.address.zipzpArray of strings with SHA-256 encoding
context.traits.country/context.traits.address.countrycountry (Two-character ISO-3166 country code)Array of strings with SHA-256 encoding
context.device.advertisingIdhashed_maidsArray of strings with SHA-256 encoding
context.ip/context.requestIP/properties.ip/properties.clientIpAddressclient_ip_addressString
context.userAgentclient_user_agentString
To send the track or page events successfully, you need to include at least one of the following user properties:
  • em
  • hashed_maids
  • Combination of client_ip_address and client_user_agent

Custom field mappings

The following table lists the custom fields mappings for track and page calls:

RudderStack propertyPinterest Tag propertyData Type
properties.currencycurrencyString
properties.value/properties.total/properties.revenuevalueString
properties.product_id/properties.product_sku/properties.products[index].product_id/properties.products[index].product_skucontent_idsArray of strings
properties.price/properties.products[index].pricecontents.[index].item_priceArray of strings
properties.quantity/properties.products[index].quantitycontents.[index].quantityInteger
properties.numOfItems (if not present, sum of quantity)num_itemsInteger
properties.order_idorder_idString
properties.querysearch_stringString

FAQ

How can I verify if my events are being sent to Pinterest Conversions API?

Follow these steps to see your events in Pinterest Conversions API:

  1. Login to your Pinterest ads manager account.
  2. Click the Ads tab and select Conversions from the dropdown.
  3. Select API for conversions from the dropdown to see your events.
To see API for conversions option in the dropdown, you need to set up your Pinterest dashboard using the Pinterest Tag. For more information on using the Pinterest Tag, refer to the Pinterest Tag Device Mode documentation.
pinterest tag events cloud

Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.

On this page