Event codes let you measure the impact your Pinterest ads have on certain onsite actions. They’re also necessary to launch campaigns that will automatically optimize specific events such as conversion campaigns or dynamic retargeting ads. Event codes are also necessary for accessing surfaces such as
After you add
The table below shows the events that you can track with the Pinterest tag. You can use them to
Event | Purpose |
---|---|
Checkout | Track people who complete transactions. |
AddToCart | Track people who add items to shopping carts. |
PageVisit | Track people who view primary pages, such as product pages and article pages. |
Signup | Track people who sign up for your product or service. |
WatchVideo | Track people who watch videos. |
Lead | Track people who show an interest in your product or service. |
Search | Track people who search on your website for specific products or shop locations. |
ViewCategory | Track people who view category pages. |
Custom | Track a custom event. Use this event name to track a special event that you want to include in your conversion reporting. |
[User-defined event] | Add any additional events that you’ve defined for the purpose of audience targeting. Unique events are not available for conversion reporting. Keep in mind that any spaces in the custom event names passed through the tag will be removed. |
You have to add at least one of the following events:
- Checkout
- AddToCart
- Signup
- Lead
You have to add the following events:
- Checkout
- Product ID is being passed through the Checkout event
- Value and currency are passed through the Checkout tag
We recommend that you add the following events for better performance:
- PageVisit
- AddToCart
- Product ID is being passed through the PageVisit and AddToCart event
If your window is still open on Ads Manager from when you copied your base code, click Continue on the bottom-right corner of the box on your screen to view all of your options and click Copy code beside the event you want to track.
If your window is not open, follow the steps below.
Note: If an event is triggered only after a user takes a specific action on the page such as clicking a button or submitting a form, make sure that the event code only runs as a result of that action. This requires an understanding of the existing event handlers in your page’s JavaScript code.
You can provide additional information about an event by attaching an object that contains event data. All event data is available for audience targeting but only value and order_quantity event data are available for paid and organic conversion reporting.
Event data | Sample value | Type |
---|---|---|
value | 100.00 | Number (integer or floating point) |
event_id | eventId0001 |
String (an id string that uniquely identifies the event) Note: This id can be sent under any of the following field names, all case-sensitive: |
order_quantity | 1 | Integer |
order_id | 1234OrderID | String (order_id is required for conversion analysis reporting) |
product_name | Parker Boots | line_items array, string |
product_id | 1414 | line_items array, string |
product_category | Shoes | line_items array, string |
product_variant_id | 1414-Red | line_items array, string |
product_variant | Red | line_items array, string |
product_price | 99.99 | Number (integer or floating point), line_items array, string |
product_quantity | 1 | Integer, line_items array, string |
product_brand | Parker | line_items array, string |
promo_code | WINTER10 | String |
property | Athleta | String |
search_query | boots | String |
video_title | How to style your Parker Boots | String |
lead_type | Newsletter | String |
currency | USD |
One of the following: AED, AMD, ARS, AUD, AZN, BAM, BGN, BHD, BMD, BND, BOB, BRL, BSD, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, EGP, EUR, FJD, GBP, GEL, GIP, HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JPY, KGS, KRW, KWD, KZT, MAD, MDL, MOP, MXN, MYR, NOK, NZD, OMR, PAB, PEN, PHP, PKR, PLN, QAR, RON, RSD, RUB, SAR, SEK, SGD, THB, TRY, TWD, UAH, USD, UYU, VND or ZAR. Note: when you provide a currency with your tag event, we’ll calculate the exchange rate to match your advertiser account currency. |
The IMG tag is a piece of code within the Pinterest tag that acts as a backup in case people have disabled JavaScript in their browsers. We recommend that you include event data in the IMG tag too as this enables better user targeting. You can choose to only use the IMG tag and not the JavaScript tag but you will have to remove the
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=checkout&ed[value]=10.00&ed[order_quantity]=2&ed[currency]=USD&ed[event_id]=YOUR_EVENT_ID&ed[line_items][0][product_name]=Parker+Boots&[line_items][0][product_id]='1414'&ed[line_items][0][product_price]=5.00&ed[line_items][0][product_quantity]=1&ed[line_items][1][product_name]=Parker+Sandals&ed[line_items][1][product_id]='ABC'&ed[line_items][1][product_price]=5.00&ed[line_items][1][product_quantity]=1&noscript=1"/>
Below are examples of every event type so you can copy and paste them directly on your website. Note that you will have to replace example values with a dynamic variable for your website.
Checkout
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=checkout&ed[event_id]=YOUR_EVENT_ID&ed[value]=10.00&ed[order_quantity]=2&noscript=1" />
Event data: event_id, value, order_quantity, and currency
Make sure you enter the correct currency code for your website.
AddToCart
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=addtocart&ed[value]=10.00&ed[order_quantity]=2&noscript=1" />
Event data: value, order_quantity, and currency.
Make sure to input the correct currency code for your website.
Pagevisit
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=pagevisit&noscript=1" />
Event data: none
Signup
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=signup&noscript=1" />
Event data: none
WatchVideo
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=watchvideo&ed[video_title]=My+Product+Video+01&noscript=1" />
Event data: video_title
Lead
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=lead&ed[lead_type]=Newsletter&noscript=1" />
Event data: lead_type
Search
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=search&ed[search_query]=horse&noscript=1" />
Event data: search_query
ViewCategory
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=viewcategory&noscript=1" />
Event data: none
Custom
The event type must be called custom—otherwise, the conversions tracked by the tag won't be reported in Ads Manager.
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=custom&noscript=1" />
Event data: none
Value and order_quantity are the two pieces of event data available in paid and organic conversion reporting. If you want to add value and quantity, you can pass them back dynamically. A dynamic value can change depending on the action taken on your site. If you choose to pass back value and order_quantity, this will be unique to your website and how you record sales. The value and quantity of products in each order placed on your website usually varies.
<script>
pintrk('track', 'checkout', {
value: {{Enhanced Transaction Revenue}},
order_quantity: {{item.quantity}}
});
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&event=checkout&ed[value]={{Enhanced Transaction Revenue}}&ed[order_quantity]={{item.quantity}}&noscript=1" />
</noscript>
Reported value: Dynamic amount purchased with the corresponding Checkout
Reported quantity: Dynamic quantity purchased with the corresponding Checkout
Note: The setup of dynamic order quantity and value is unique to your website.
In addition to event data, you can pass a JavaScript callback function as an optional argument to the function pintrk(). This provides additional information if something has gone wrong with your tag which you can check in your developer tool. This callback function runs every time an event tracking call, the function pintrk(), is triggered.
The callback function takes the following two arguments:
function(didInit, error) {}
didInit: This first argument receives a boolean value, which is set to be true if the event tracking call is successfully constructed and false if an error is detected while making the event tracking call.
error: This second argument receives a string, which describes the error when didInit returns false; if didInit is true, this string is undefined.
<script>
pintrk('track', 'checkout', {
value: 10.00,
order_quantity: 2,
currency: 'USD',
event_id: 'eventId0001',
line_items: [
{
product_name: 'Parker Boots',
product_id: '1414',
product_price: 5.00,
product_quantity: 1
},
{
product_name: 'Parker Sandals'
product_id: 'ABC',
product_price: 5.00,
product_quantity: 1
}
]
}, function(didInit, error) { if (!didInit) { console.log(error); }
});
</script>
For conversion tracking and reporting, you must specify one of the nine event types in the event code. You must also replace YOUR_TAG_ID with your Pinterest conversion tag ID. Remember that you can include any combination of event data per event besides what’s shown in the examples below.
PageVisit
<script>
pintrk('track', 'pagevisit', {
promo_code: 'WINTER10',
event_id: 'eventId0001',
});
</script>
Signup
<script>
pintrk('track', 'signup', {
lead_type: 'New release promotion'
});
</script>
Checkout
<script>
pintrk('track', 'checkout', {
value: 116,
order_quantity: 2,
currency: 'USD',
line_items: [
{
product_name: 'Pillows (Set of 2)',
product_id: '11',
product_price: 48.00,
product_quantity: 1
},
{
product_name: 'Pillows, Large (Set of 2)',
product_id: '15',
product_price: 68.00,
product_quantity: 1
},
]
});
</script>
WatchVideo
<script>
pintrk('track', 'watchvideo', {
video_title: 'My product video 01'
});
</script>
Lead
<script>
pintrk('track', 'lead', {
lead_type: 'Newsletter'
});
</script>
This section contains an example of every event type in a complete, copyable format that you can place on your site directly. Each example has the event data needed to start tracking activity on your website. Note that you have to replace example values with the appropriate static value or dynamic variable for your website. For example, you will probably want to track order value dynamically because the value of each order placed on your website will vary depending on what a user buys. However, you might assign a static value to the event data lead_type if it is only placed on one specific page.
Checkout
<script>
pintrk('track', 'checkout', {
value: 10.00,
order_quantity: 2,
currency: 'USD',
event_id: 'eventId0001',
product_ids: ['1414', '1415'] }
);
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=checkout&ed[value]=10.00&ed[order_quantity]=2&ed[event_id]=eventId0001&noscript=1" />
</noscript>
Event data: value, order_quantity, currency, and event_id.
Make sure to enter the correct currency code for your website.
AddToCart
<script>
pintrk('track', 'addtocart', {
value: 10.00,
order_quantity: 1,
currency: 'USD'
});
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=addtocart&ed[value]=10.00&ed[order_quantity]=2&noscript=1" />
</noscript>
Event data: value, order_quantity, and currency.
Make sure to enter the correct currency code for your website.
Pagevisit
<script>
pintrk('track', 'pagevisit');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=pagevisit&noscript=1" />
</noscript>
Signup
<script>
pintrk('track', 'signup');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=signup&noscript=1" />
</noscript>
WatchVideo
<script>
pintrk('track', 'watchvideo', {
video_title: 'My Product Video 01'
});
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=watchvideo&ed[video_title]=My+Product+Video+01&noscript=1" />
</noscript>
Event data: Video_title
Lead
<script>
pintrk('track', 'lead', {
lead_type: 'Newsletter'
});
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=lead&ed[lead_type]=Newsletter&noscript=1" />
</noscript>
Event data: lead_type
Search
<script>
pintrk('track', 'search', {
search_query: 'horse'
});
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=search&ed[search_query]=horse&noscript=1" />
</noscript>
Event data: search_query
ViewCategory
<script>
pintrk('track', 'viewcategory');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=viewcategory&noscript=1" />
</noscript>
Custom
The event type must be called custom otherwise, the conversions tracked by the tag will not be reported in Ads Manager.
<script>
pintrk('track', 'custom');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=YOUR_TAG_ID&event=custom&noscript=1" />
</noscript>
Here are some examples of base codes combined with event codes. Remember to confirm the event code is placed after the base code on your website.
Example conversion tag ID: 123456789 (replace with your Pinterest conversion tag ID)
Example event code: PageVisit
<head>
<script type="text/javascript">
!function(e){if(!window.pintrk){window.pintrk=function(){window.pintrk.queue.push(
Array.prototype.slice.call(arguments))};var
n=window.pintrk;n.queue=[],n.version="3.0";var
t=document.createElement("script");t.async=!0,t.src=e;var
r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r)}}
("https://s.pinimg.com/ct/core.js"); pintrk('load', '123456789'); pintrk('page');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&noscript=1" />
</noscript>
<script>
pintrk('track', 'pagevisit');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&event=pagevisit&noscript=1" />
</noscript>
</head>
Example conversion tag ID: 123456789 (replace with your Pinterest conversion tag ID)
Example event codes: PageVisit and AddToCart
<head>
<script type="text/javascript">
!function(e){if(!window.pintrk){window.pintrk=function(){window.pintrk.queue.push(
Array.prototype.slice.call(arguments))};var
n=window.pintrk;n.queue=[],n.version="3.0";var
t=document.createElement("script");t.async=!0,t.src=e;var
r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r)}}
("https://s.pinimg.com/ct/core.js"); pintrk('load', '123456789'); pintrk('page');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&noscript=1" />
</noscript>
<script>
pintrk('track', 'pagevisit');
pintrk('track', 'addtocart');
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&event=pagevisit&noscript=1" />
<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=123456789&event=addtocart&noscript=1" />
</noscript>
</head>
Learn more about