| Name in API | Name in Tag | Purpose | Usable for |
|---|---|---|---|
add_payment_info | AddPaymentInfo | Track people who enter payment information, such as a credit card number. | Conversion reporting |
add_to_cart | AddToCart | Track people who add items to shopping carts. | Audience creation Conversion reporting |
add_to_wishlist | AddToWishList | Track people who add a viewed item to a wish list. | Conversion reporting |
app_install | N/A | Track people who install your app for the first time, or the first time an app starts on a device. | Audience creation Conversion reporting |
app_open | N/A | Track people each time they open your app after they access it for the first time. | Audience creation Conversion reporting |
checkout | Checkout | Track people who complete transactions. | Audience creation Conversion reporting |
contact | Contact | Track people who contact you through phone, email, chat or other methods. | Audience creation |
customize_product | CustomizeProduct | Track people who customize a product using a tool on your website or app. | Audience creation |
find_location | FindLocation | Track people who find your business location through web or app. | Audience creation |
initiate_checkout | InitiateCheckout | Track people who start the process of checking out an item for purchase but do not complete it. | Conversion reporting |
lead | Lead | Track people who show interest in your product or service. | Audience creation Conversion reporting |
page_visit | PageVisit | Track people who view primary pages, such as product pages and article pages. | Audience creation Conversion reporting |
schedule | Schedule | Track people who schedule an appointment at one of your business locations. | Audience creation |
search | Search | Track people who search for products or services you offer. | Audience creation Conversion reporting |
signup | SignUp | Track people who sign up for your product or service. | Audience creation Conversion reporting |
start_trial | StartTrial | Track people who start a free trial of a product or service. | Audience creation |
submit_application | SubmitApplication | Track people who complete and submit an application for a product, service, or program. | Audience creation |
subscribe | Subscribe | Track people who subscribe to receive information and updates related to products or services. | Conversion reporting |
view_category | ViewCategory | Track people who view category pages. | Audience creation Conversion reporting |
view_content | ViewContent | Track people who view site content. | Conversion reporting |
watch_video | WatchVideo | Track people who watch videos. | Audience creation Conversion reporting |
Custom event that you name | Custom event that you name | Track an event that does not conform to any of the Pinterest-defined types. You give this event a unique name that is meaningful to your business. Create the name with any upper- or lower-case letters (treated as case insensitive), numerals 0 through 9, underscores _-Limit the name to 100 characters. Example: TookSurveyMake sure to map any custom event to a Pinterest standard event. | Audience creation |
| What you need | Why you need it | How to get it |
| Pinterest advertiser account | The Conversions API endpoint requires a unique identifier
associated with the ad account that is sending events. | Learn how to create an advertiser account. |
Conversion token if you only want to access the Conversions API endpoint or OAuth token with at least ads:write | You need a token to authenticate against the Conversions API endpoint. | For conversion token: See Generate a conversion token. For OAuth token: Set up your OAuth token and learn about scopes. |
| Pinterest advertiser account | For you to interact with any tools/endpoints related to
campaigns, ad groups, and ads, your OAuth token must be related
to a Pinterest advertiser ID. | Learn how to create an advertiser account. |

| Parameter | Recommended for these platforms | Recommended for or optional for events? | Formatting guidelines and examples |
|---|---|---|---|
action_sourcestring Required The platform from which the event was ingested into the API. This is different from the device_type | All platforms | Recommended for all events. | Use any of these enum values:
|
event_idstring Required Unique identifier for event, used also for deduplicating
events ingested through the conversion API and Pinterest tracking. | All platforms | Recommended for all events. | Any unique string associated with the purchase, such as an order number or transaction ID. |
event_namestring Required | All platforms | Recommended for all events. | Use any of these enum values:
You also can define an event that does not conform to any of the Pinterest-defined types. You can name it with any upper- or lower-case letters (treated as case insensitive), numerals 0 through 9, underscores _-Limit the name to 100 characters. Example: TookSurveyYou can custom-define up to 15 types of events for every advertiser ID. |
event_source_urlstring, nullable Optional | Web | Recommended for all events. | Include the full URL path for the conversion event. https://www.myshop.org/For Pinterest click events, include &epikThe epik (External Pinterest ID Key) value is a unique identifier that Pinterest uses to help track users across devices and sessions. It is typically passed as a query parameter in your URLs, for example, after a click on a Pinterest ad. https://www.myshop.org/checkout?epik=123abc456def789ghi |
event_timeinteger Required | All platforms | Recommended for all events. | Enter as Unix timestamp in seconds. |
opt_outboolean Optional Whether the user has opted out of web or offline conversion events. Or Whether the user has enabled Limit Ad Tracking on iOS, or opted out of Ads Personalization on Android for app platform events. |
| Recommended for all events. | Boolean:
|
partner_namestring, nullable Optional Third-party responsible for sending the event to API on behalf of the advertiser. | All platforms | Recommended for all events. | Syntax: ss-companynameFor direct integration, use value direct |
user_dataemhashed_maidsclient_ip_addressclient_user_agent| Parameter | Recommended for these platforms | Recommended for or optional for events? | Formatting guidelines and examples |
|---|---|---|---|
external_idUnique string that you use to identify a customer, such as user ID or loyalty id. Learn more about using external IDs. | All platforms | Recommended for all events. | SHA-256 hash
|
click_idCookie generated when a user clicks an ad. | Web App |
| Use the _epik&epik=_epik
|
client_ip_addressUser's IP address | Web | Recommended for all events | Valid IPv4 or IPv6. No pure zero ( 0.0.0.0216.3.128.12 |
client_user_agentUser agent string for user's browser. | Web App | Recommended for all events. | Include at least two of each of these information categories:
Do not send "Other" or nullDo not send user agents produced by bot.
|
countryUser's country. | All platforms | Recommended for all events. | SHA-256 hash of two-character ISO-3166 country code in lower case and UTF format. |
ctUser's city. | All platforms | Recommended for all events. | SHA-256 hash in lowercase, and without spaces or punctuation. |
dbUser's date of birth. | All platforms | Recommended for all events. | SHA-256 hash of YYYYMMDD. |
emUser's email address. | All platforms | Recommended for all events. | SHA-256 hash of email addresses in lower case. |
geUser's gender. | All platforms | Recommended for all events. | SHA-256 hash:
|
lnUser's last name. | All platforms | Recommended for all events. | SHA-256 hash of last name in lower case. |
phUser's phone number. | All platforms | Recommended for all events. | SHA-256 hash of phone numbers. Only digits with country code, area code, and number. Remove symbols, letters, spaces, and leading
zeros. |
stUser's state. | All platforms | Recommended for all events. | SHA-256 hash of two-letter code in lower case. |
zpUser's zip code. | All platforms | Recommended for all events. | SHA-256 hash of zip code. Only digits. |
hashed_maidsUser's Google Advertising IDs (GAIDs) or Apple's Identifier for Advertisers (IDFAs) | App | Recommended for all events. | SHA-256 hash\ 0192518eb84137ccfe82c8b6322d29631dae7e28ed9d0f6dd5f245d73a58c5f1 |
partner_idUnique identifier for user information, such as RampID, only used by integration partners. | All platforms | Optional for all events. | Use only if you are a Pinterest integration partner. |
| Parameter | Recommended for these platforms | Recommended for or optional for events? | Formatting guidelines and examples |
|---|---|---|---|
app_idApp store app ID. | App | Optional for all events. | |
app_nameApp store app name. | App | Optional for all events. | |
app_versionApp store app version. | App | Optional for all events. | |
device_brandBrand name of user'mobile device. | App | Optional for all events. | |
device_carrierCarrier for user'mobile device. | App | Optional for all events. | |
device_modelModel name for user'mobile device. | App | Optional for all events. | |
device_typeType of user's device on which the event occurred. | App | Optional for all events. | This is a free-form string. Consider using values that best describe the device, such as "desktop web""mobile web""iPhone app""Android app"Note that you can provide additional specific information about the device by using other parameters such as app_nameapp_versiondevice_branddevice_carrierdevice_modelos_versionThis parameter is different from action_source |
languageLanguage set on user'mobile device. | App | Optional for all events. | Two-character ISO-639-1 language code in lower case and UTF format. |
os_versionOperating system version number for user'mobile device. | App | Optional for all events. | |
wifiWhether the event occurred when the user device was connected to a wireless network. |
| Optional for all events. | Boolean:
|
custom_datacustom_data.contentscustom_data.contentscustom_data.contents| Parameter | Recommended for these platforms | Recommended for or optional for events? | Formatting guidelines and examples |
|---|---|---|---|
custom_data.currencyThe type of currency used in a purchase event. | All platforms | Recommended for:
Optional for all other events. | ISO-4217 currency code. If you do not pass the currency with the value, we use the currency that the advertiser set
when creating an account. |
custom_data.valueTotal monetary value for purchased items. Use pre-tax, pre-shipping total. | All platforms | Recommended for:
Optional for all other events. | Accepted as a string in the request and parsed into a double. For example, with two items in a checkout event, the value should be the total price. Always send currency when sending value. Should not contain unusually high values or contain invalid values such as negative number or zero. |
custom.data.content_idsArray of product IDs related to the event. Each listed ID is listed in the custom.data.contents | All platforms | Recommended for:
Optional for all other events. | |
custom.data.content_nameName of the page or product associated with the event | All platforms | Recommended for:
Optional for all other events. | |
custom.data.content_categoryType of merchandise. | All platforms | Recommended for:
Optional for all other events. | |
custom.data.content_brandBrand of merchandise. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.num_itemsTotal number of products involved, for example, products purchased in a checkout event. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.order_idIdentifier for the order in a purchase-related event. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.search_stringString entered in a search event. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.opt_out_typeOpt-out type for privacy. If user has opted out of tracking for web conversion events, this parameter indicates whether the user has enabled Limited Ads Tracking (if action_sourceapp_iosaction_sourceapp_androidLearn about limited data processing. | All platforms | Optional for all events. | The only accepted value is ldp |
npThird-party partner sending the event to the API on behalf of the advertiser. Only send this field if Pinterest has worked directly with you to define a value for partner_name. | All platforms | Recommended for all events. | |
custom_data.contents.item_brandBrand of an individual merchandise item. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.contents.item_categoryProduct category of an individual merchandise item. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.contents.item_nameProduct name of an individual merchandise item. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.contents.item_pricePrice of an individual merchandise item (single quantity). | All platforms | Recommended for:
Optional for all other events. | |
custom_data.contents.quantityQuantity of individual merchandise item selected by user. | All platforms | Recommended for:
Optional for all other events. | |
custom_data.contents.idProduct ID of an individual merchandise item. | All platforms | Recommended for:
Optional for all other events. |
subscriptionad_accountcurl --request POST \ --url 'https://api.pinterest.com/v5/ad_accounts/549768257474/events' \ --header 'Authorization: Bearer pina_ABCD1234...' \ --header 'Content-Type: application/json' \ --data '{ "data": [ { "event_name": "subscription", "action_source": "web", "event_time": 1769818893, "event_id": "evt-subscription-001", "event_source_url": "https://www.example.com/subscribe", "opt_out": false, "user_data": { "em": [ "411e44ce1261728ffd2c0686e44e3fffe413c0e2c5adc498bc7da883d476b9c8" ], "client_ip_address": "216.3.128.12", "client_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" }, "custom_data": { "currency": "USD", "value": "9.99" } }, { "event_name": "checkout", "action_source": "web", "event_time": 1769818901, "event_id": "evt-checkout-002", "event_source_url": "https://www.example.com/checkout/complete", "opt_out": false, "user_data": { "em": [ "411e44ce1261728ffd2c0686e44e3fffe413c0e2c5adc498bc7da883d476b9c8" ], "client_ip_address": "216.3.128.12", "client_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" }, "custom_data": { "currency": "USD", "value": "66.95", "order_id": "order-12345", "num_items": 2 } } ] }'
{ "num_events_received": 2, "num_events_processed": 1, "events": [ { "status": "failed", "error_message": "Invalid event_name: subscription. Use a supported conversion event_name (for example subscribe, checkout).", "warning_message": null }, { "status": "processed", "error_message": null, "warning_message": null } ] }
testtruehttps://api.pinterest.com/v5/ad_accounts/{AD-ACCOUNT-ID}/events?test=true

event_ideventIDevent_idevent_idevent_nameevent_idevent_idexternal_idexternal_idexternal_idexternal_idexternal_id| ID type | Descriptions | Example | Location |
|---|---|---|---|
External cookie | First-party cookie identifier for a single visit or visitor to your site. It is set server-side on your own domain. Structure is based on your own logic, such as browser and device combinations. |
| Depends on how you assign unique identifiers to user cookies through server-side programming. |
Your own identifier | Identifier that you generate to manage the engagement, performance, and orders for customers. |
| Usually stored in your CRM system and updated when a user signs logs in on your site. |