Configure the Pinterest Conversions API It may sound like something very technical, reserved only for developers.
But if you invest in Pinterest Ads And if you want to better track your sales, leads, or sign-ups, this is a feature you should understand as soon as possible.
Because here's the important point: the Pinterest pixel It tracks from the user's browser, but there are an increasing number of ad blockers, cookie restrictions, and signal losses. This means that some conversions may not be recorded correctly.
The Pinterest Conversions API It helps send events from the server in a more stable and controlled manner.
It's not about “measuring just for the sake of measuring.” It's about Pinterest receiving more reliable data to optimize your campaigns, improve attribution, and make decisions with less uncertainty.
In this guide, I'll explain what it is, when it's worth using, what you need before setting it up, how to implement it, and what mistakes you should avoid.
What Is the Pinterest Conversions API?
The Pinterest Conversions API, also known as Pinterest Conversions API o Pinterest CAPI, is a way to send conversion events from your server to Pinterest.
Simply put: instead of relying solely on the user's browser, your server sends the information directly to Pinterest.
For example, you can send events such as:
- A purchase has been completed.
- A product has been added to the cart.
- The beginning of the checkout process.
- A form has been submitted.
- A record.
- An internal search.
- A visit to an important website.
This allows Pinterest to receive conversion data with greater control and with less reliance on the browser.
Difference Between Pinterest Tag and the Conversions API
Before you configure anything, it's important to understand the difference.
The Pinterest Tag It works in the browser. In other words, it is triggered when a user visits your website and performs an action.
The Conversions API It runs on the server. In other words, the event is sent from a more technical and controlled layer.
The main difference is this:
| Element | Pinterest Tag | Pinterest Conversions API |
|---|---|---|
| Where it runs | Browser | Server |
| It depends on cookies | More | Less |
| It may be affected by blockers | Yes | Less |
| Technical Inspection | Medium | High |
| Ideal for | Basic Measurement and Remarketing | Advanced measurement and more reliable data |
| Requires technical implementation | Low/medium | Medium/High |
My recommendation is not to think of either side as the enemy.
In many projects, it's best to work with both: Browser tags and server-side events.
But for that to work well, you have to deduplicate correctly. I'll explain what this means later.
Why Set Up the Pinterest Conversions API
The Pinterest Conversions API is useful when you need measure more accurately.
Especially if you have active campaigns and make investment decisions based on the data you see in Pinterest Ads.
If you configure it correctly, you can achieve:
- Better data quality.
- Fewer lost conversions.
- Better attribution.
- More comprehensive events.
- Greater control over the data sent.
- Better integration between the website, server, CRM, and ad platforms.
- Greater stability in the face of browser blockers and restrictions.
- A measurement approach better suited for scaling campaigns.
This is especially important for e-commerce, SaaS, and companies that consistently invest in performance.
If your data is incomplete, your campaigns won't learn as well.
And if your campaigns aren't performing as well as they should, you may be spending your budget based on a misinterpretation of their performance.
When Should You Implement the Pinterest Conversions API?
Not all businesses need to set up the Pinterest Conversions API right from the start.
But I do recommend it if you're in any of these situations:
- You have a E-commerce with recurring sales.
- You invest in Pinterest Ads.
- You have active conversion campaigns.
- Your Pinterest data does not match your GA4 or CMS data.
- Do you want to improve the tracking of purchases, leads, or sign-ups?.
- You use Google Tag Manager.
- Do you already have or would you like to have server-side tracking.
- You need to measure the value of each conversion more accurately.
- You want to reduce data loss in the browser.
- You have a marketing team that needs reliable data to scale.
At Analytic Pixel Pro, I usually see it clearly: when a company is already investing in campaigns and wants to grow, it doesn't just need to “install pixels.” It needs a robust measurement architecture.
What You Need Before Setting Up the Pinterest Conversions API
Before you begin, it's a good idea to lay a solid technical foundation.
If you don't, it's very easy to end up with duplicate events, incorrect values, or incomplete data.
Pinterest Business Account
You need a Active Pinterest Business account.
From that account, you can access the Ads Manager, view conversions, and generate the necessary API credentials.
Pinterest Business Account
You also need to have access to the advertising account where the events will be received.
Here, it's important to work with the to the correct account.
If you send events to the wrong account, the implementation may be technically active, but it won't work for your actual campaigns.
Conversion Access Token
To send events to the API, you need a access token.
This token allows your server or server-side container to send information to Pinterest.
It should be treated as a sensitive credential.
It should not be publicly exposed in the browser or in the website's visible code.
Pinterest Tag Installed
Although the API can send events from the server, it's usually a good idea to also have the Pinterest widget installed on the website.
This allows for measurement from both the browser and the server, and then deduplicate events so as not to count the same conversion twice.
Google Tag Manager for the Web
The web container for Google Tag Manager This is usually the point from which browser events are collected.
For example:
- page_view.
- view_item.
- add_to_cart.
- begin_checkout.
- purchase.
- generate_lead.
- sign_up.
These events can serve as a basis for sending information to the server-side container.
Google Tag Manager (server-side)
For a smooth implementation, I recommend using Google Tag Manager (server-side).
The server-side container receives the events, processes them, and sends them to Pinterest via the Conversions API.
This gives you more control over:
- Which events are sent.
- What data is included?.
- What data is deleted.
- How consent is respected.
- How identifiers are managed.
- How events are validated.
A Well-Designed Data Layer
The dataLayer It's key.
If the dataLayer does not send the purchase, product, user, or event information correctly, the API will not be able to send accurate data either.
Therefore, before configuring the API, I would check to make sure the dataLayer includes information such as:
- Event Name.
- Event ID.
- Order ID.
- Value.
- Currency.
- Products.
- Quantities.
- Categories.
- Hashed email address, if applicable.
- Phone number hashed, if applicable.
- Consent status.
Which events to send to the Pinterest Conversions API
Don't send events just for the sake of sending them.
You need to submit the events that have real value for the business.
These are the most common ones.
page_visit
It is used to track visits to important pages.
For example:
- Home.
- Landings.
- Product pages.
- Service pages.
- Strategic Articles.
view_category
It is used to track visits to categories.
In e-commerce, it helps you understand which product categories generate interest.
view_content
It is used to track visits to specific content or products.
In an online store, I would use it for product listings.
add_to_cart
It is used to track when a user adds a product to the cart.
It is one of the most important steps before making a purchase.
initiate_checkout
It is used to track when a user begins the checkout process.
This event helps analyze how many people proceed from the shopping cart to checkout.
checkout
It is used to track completed purchases.
This event should be triggered only when the order has been successfully confirmed.
lead
It is used to track submitted forms or contact requests.
It is essential for B2B businesses, SaaS companies, training providers, service providers, and companies where the primary conversion is not a direct purchase.
sign up
It is used to measure records.
It can be important on platforms, SaaS, newsletters, communities, or user accounts.
search
It is used to track internal searches on the website.
In e-commerce, it can help identify actual demand for products or categories.
Equivalence Between GA4 and Pinterest Events
If you already have GA4 Implemented Correctly, you can use part of that structure to send events to Pinterest.
A common equivalence would be this:
| GA4 Event | Pinterest Event |
|---|---|
| page_view | page_visit |
| view_item_list | view_category |
| view_item | view_content |
| add_to_cart | add_to_cart |
| begin_checkout | initiate_checkout |
| purchase | checkout |
| generate_lead | lead |
| sign_up | sign up |
| search | search |
This doesn't mean copying everything without reviewing it.
It means using a coherent structure so that GA4, Pinterest, and the other platforms all work in a similar way.
Important Parameters in the Pinterest Conversions API
Events must be submitted with useful information.
If you send an empty event, the measurement will be inaccurate.
Here are some important parameters.
event_name
That's the name of the event.
For example:
- checkout.
- add_to_cart.
- lead.
- signup.
- page_visit.
It must accurately represent the user's action.
event_time
That is the moment when the event occurred.
It must be submitted correctly so that Pinterest can determine when the conversion occurred.
action_source
It indicates where the action is coming from.
On a website, it will usually be website.
This helps Pinterest understand the source of the event.
event_source_url
This is the URL where the event occurred.
For example, the product page, the landing page, or the purchase confirmation page.
event_id
It is one of the most important parameters.
The event_id It is a unique identifier for the event.
It is used for deduplicate when the same event is triggered by both the browser and the server.
For example, if a purchase has order number 12345, that number can be used as the event_id.
The key is that the event sent from the browser and the event sent from the server have the same identifier.
This way, Pinterest can recognize that it's the same conversion and not count it twice.
custom_data.value
It is the economic value of the event.
In the case of a purchase, this would be the order total.
For a lead, an estimated value may be used if the business has defined one.
custom_data.currency
It's the coin.
In Spain, it will usually be EUR.
If you send "value," you should also send "currency.".
custom_data.order_id
This is the order ID.
Very important in e-commerce.
It helps validate purchases, prevent duplicates, and cross-reference information with the sales platform.
custom_data.contents
It is used to send product information.
It may include:
- Product ID.
- Name.
- Category.
- Price.
- Quantity.
- Brand.
This is especially useful in e-commerce.
user_data
This section may include user-provided information, provided that privacy and consent are respected.
For example:
- Hashed email address.
- Hash-encrypted phone number.
- IP.
- User agent.
- External ID.
- Click ID.
Do not send personal information without verification.
The implementation must comply with the user consent and the applicable regulations.
What Is Deduplication and Why Is It So Important?
The deduplication Prevents Pinterest from counting the same conversion twice.
This happens when you have:
- Pinterest Tag in the browser.
- Server-side conversion API.
Imagine this situation:
A user purchases a product.
The browser sends a checkout event.
The server also sends a checkout event.
If Pinterest doesn't know that both events represent the same purchase, it might count two conversions.
To avoid this, you must send the same event_id at both events.
A simple example:
- Browser event: checkout with event_id 12345.
- Server event: checkout with event_id 12345.
That's how Pinterest recognizes that it's the same purchase.
In e-commerce, the order number It's usually a good starting point for the event_id.
In events without a request, a unique ID can be generated, but it must be shared correctly between the browser and the server.
Step-by-Step Guide to Setting Up the Pinterest Conversions API
Now let's move on to a practical structure.
Step 1: Review the current tracking information
Before configuring the API, I check what metrics already exist.
I check:
- If Pinterest Tag is installed.
- Which events are being measured?.
- If there are duplicates.
- If GA4 is measuring correctly.
- If the dataLayer contains useful data.
- If the purchases have a dynamic value.
- If an order ID exists.
- If consent is properly integrated.
This step is important because An API can't fix a poorly designed database.
If the "purchase" event is already being sent incorrectly to GA4 or the dataLayer, it may also be sent incorrectly to Pinterest.
Step 2: Define the events to be sent
Not all events are equally important.
For an e-commerce business, I would prioritize:
- view_content.
- add_to_cart.
- initiate_checkout.
- checkout.
- search.
For a SaaS or B2B business, I would prioritize:
- page_visit.
- lead.
- signup.
- subscribe.
- important custom events.
The key is to identify which actions help Pinterest optimize campaigns.
Step 3: Generate the access token
From Pinterest Ads Manager, go to the conversions section and generate the token for the conversions API.
This token must be stored securely.
It should not appear in the web container or anywhere visible from the browser.
It must be used in a server-side environment or in a secure integration.
Step 4: Prepare the server-side container
If you're working with server-side Google Tag Manager, you need to have a working server container.
This container will receive events from the web and send them to Pinterest.
You can also send events to other platforms, such as GA4, Google Ads, Meta, or TikTok, if the project requires it.
The important thing is that it not be an isolated configuration. It must be part of a coherent measurement architecture.
Step 5: Send events from the web container to the server
The web container must send events to the server-side container.
For example, when a purchase occurs, the web container can send a "purchase" event with:
- Order ID.
- Value.
- Currency.
- Products.
- Quantities.
- Event ID.
- URL.
- Consent Information.
The server-side container then processes that event and sends it to Pinterest in the correct format.
Step 6: Create the Pinterest Conversions API tag
In the server-side container, you can create a tag specifically for the Pinterest Conversions API if you're using a compatible template.
It can also be done using a custom HTTP request.
In both cases, you must configure:
- Ad account ID.
- Access token.
- Event Name.
- Event parameters.
- User data.
- Product information.
- Activators.
- Terms of Consent.
Step 7: Map events correctly
Mapping is the process of converting events from your website or GA4 into events that Pinterest understands.
For example:
- "purchase" becomes "checkout.".
- "begin_checkout" becomes "initiate_checkout.".
- "generate_lead" becomes "lead.".
- "view_item" becomes "view_content.".
This step should be reviewed carefully.
A mapping error can cause Pinterest to misinterpret conversions.
Step 8: Configure the event_id
The event_id It must be unique and consistent.
For shopping, I recommend using the Order ID.
For leads, you can use an ID that is generated when the form is submitted.
For logging purposes, you can use an event ID or a user ID, provided you respect privacy and obtain consent.
The important thing is that if the event is also sent from the browser, the event_id must match.
Step 9: Submit product data and value
In e-commerce, simply sending a “checkout” isn’t enough.
You must submit:
- Order total.
- Currency.
- Order ID.
- Items purchased.
- Price.
- Quantity.
- Category.
- Product ID.
This improves the quality of the event and provides a much more useful overview of performance.
Step 10: Incorporate the consent form
The Conversions API must not bypass user consent.
This is a serious mistake.
Even if the event is sent from the server, it must respect the user's preferences.
That's why I recommend sending the consent status to the server and using it to decide:
- If the event is sent.
- What data is sent.
- If identifiers are removed.
- If marketing events are blocked.
A good technical implementation must also be a responsible implementation.
Step 11: Test the events
Before publishing, you have to test it.
I would review:
- That the event reaches the server-side container.
- The Pinterest tag is activated.
- That the payload contains the correct data.
- The token works.
- That Pinterest works properly.
- That there are no formatting errors.
- Test events appear on Pinterest.
- Conversions are not duplicated.
I do not recommend releasing an API integration without a proper testing phase.
Step 12: Publish and Monitor
Once everything has been validated, it can be published.
But the work doesn't end there.
During the first few days, I would review:
- Number of events received.
- Event quality.
- Duplicity.
- Rejected events.
- Differences from GA4.
- Differences from the CMS.
- Campaign Performance.
- Attributed conversions.
The implementation must remain in place monitored, not abandoned.
Sample Configuration for an E-commerce Site
Imagine an online store that sells home decor items.
For Pinterest, I would set up these events:
view_content
When a user visits a product page.
Data sent:
- Product ID.
- Name.
- Category.
- Price.
- Currency.
- URL.
add_to_cart
When you add a product to your cart.
Data sent:
- Product ID.
- Name.
- Price.
- Quantity.
- Currency.
- Event ID.
initiate_checkout
When the checkout process begins.
Data sent:
- Cart total.
- Currency.
- Products.
- Quantities.
- Event ID.
checkout
When you complete your purchase.
Data sent:
- Order ID.
- Event ID.
- Actual value.
- Currency.
- Items purchased.
- Quantities.
- Categories.
This structure allows Pinterest to better understand the user's journey from the initial visit to the sale.
Sample configuration for a SaaS or B2B business
In a SaaS or B2B company, the goal isn't always a direct purchase.
It could be a demo, a registration, or a business inquiry.
In that case, I would set up events such as:
page_visit
For key pages:
- Pricing page.
- Product page.
- Success Stories.
- Campaign landing page.
sign up
For trial registrations or account creation.
Data sent:
- Plan type.
- Source page.
- Event ID.
- Estimated value, if applicable.
lead
For demo requests or sales inquiries.
Data sent:
- Form type.
- Service of interest.
- Source URL.
- Event ID.
- Estimated value of the lead, if the business has defined it.
The key here is not to treat all leads the same.
A requested demo can be much more valuable than a generic download.
Common Mistakes When Setting Up the Pinterest Conversions API
1. Configure the API without checking the Pinterest Tag
If you already have browser events, you should check how they are being sent.
Otherwise, you may end up with duplicates.
2. Do not use event_id
Without event_id, deduplication becomes much more difficult.
This is one of the most significant mistakes.
3. Use a different event_id in the browser and on the server
It's not enough to just have an event_id.
It must be the same for the same event.
If the browser sends 12345 and the server sends 98765, Pinterest won't be able to tell that they are the same conversion.
4. Send static values
Don't always send the same value.
The value must be dynamic and derived from the actual purchase, the shopping cart, or the estimated lead.
5. Do not send coins
If you're sending value, send currency.
Without currency, the information is incomplete.
6. Sending events too late
Events should be submitted as close as possible to the time they occur.
If they arrive late, they may lose value for optimization and attribution.
7. Failure to Respect Consent
The API is not a way to bypass the cookie banner.
If the user has not given consent for marketing, the implementation must respect that decision.
8. Sending personal data without oversight
User data must be handled with care.
If email addresses, phone numbers, or other identifiers are used, they must be transmitted in accordance with privacy best practices and, where appropriate, hashed.
9. Do not test in a test environment
Publishing without testing can disrupt the metrics.
Before launching, you must validate the events.
10. Failing to document the implementation
Any advanced configuration must be documented.
Otherwise, in a few months it will be hard to know what’s being sent, where it’s coming from, and why.
Checklist for Setting Up the Pinterest Conversions API
Before completing the implementation, I would review the following:
- The Pinterest Business account is active.
- The ad account ID is correct.
- The access token works.
- The token is not exposed in the browser.
- The Pinterest Tag has been reviewed.
- The key events have been identified.
- The dataLayer sends reliable data.
- The server-side container is active.
- Events are sent to the server.
- The events are converted correctly.
- The event_id is unique.
- The event_id matches between the browser and the server.
- The purchase price is subject to change.
- The coin is being sent successfully.
- The products have IDs.
- Important leads are highlighted.
- Consent is respected.
- Test events work.
- Pinterest features real-life events.
- There are no duplicates.
- The implementation is documented.
If several items on this list are missing, the measurement system is not ready to scale campaigns safely.
How to Tell If the Pinterest Conversions API Is Working Properly
A good implementation isn't valid just because “it doesn't throw an error.”.
You must answer these questions correctly:
- Is Pinterest receiving the correct events?
- Do events happen at the right time?
- Do purchases have real value?
- Is the coin correct?
- Are the products properly labeled?
- Are leads categorized based on their value?
- Does event_id work?
- Is deduplication working correctly?
- Is consent respected?
- Does the data reasonably match up with GA4 and the CMS?
- Is the quality of events improving?
- Does the team know what has been configured?
If the answer is no, the integration needs to be reviewed.
How do I implement this using Analytic Pixel Pro?
At Analytic Pixel Pro I don't view Pinterest's conversion API as a standalone tag.
I'm working on it as part of a measurement architecture.
First, I review the business, the sales funnel, and key events.
Next, I analyze the current configuration:
- Pinterest Tag.
- Google Tag Manager.
- GA4.
- DataLayer.
- CMS or e-commerce platform.
- Consent.
- Current events.
- Duplicity.
- Data quality.
From there, I design an implementation that makes sense for the business.
The goal is not to overload the server with events.
The goal is to send the the right data, at the right time, and with clear logic.
This helps campaigns optimize with greater confidence.
When You Should Ask for Technical Help
You can try setting up the API on your own if you have an in-house technical team and a well-established tracking infrastructure.
But I recommend asking for help if:
- You're not sure about your dataLayer.
- You don't know if your current events are duplicates.
- You have an e-commerce site with dynamic shopping.
- You want to use Google Tag Manager on the server side.
- You need to deduplicate the browser and server.
- You're having issues with Pinterest, GA4, and your CMS.
- You don't know how to handle consent.
- You want to avoid exposing tokens or sensitive data.
- You need an implementation that's ready to scale your investment.
In these cases, incorrect configuration can directly affect your data and your marketing decisions.
Frequently Asked Questions About Setting Up the Pinterest Conversions API
Does the Conversions API replace the Pinterest tag?
Not necessarily.
In many cases, it's best to use both: a browser-based tag and a server-side API.
But you have to deduplicate correctly to avoid counting the same conversion twice.
Do I need server-side Google Tag Manager?
Not always, but it's one of the most organized ways to implement it.
It can also be done through direct integration or third-party tools, but server-side GTM offers a great deal of control.
Which event should I use for a purchase?
For a completed purchase, I would use checkout.
It should be sent only after the order has been confirmed.
What is event_id?
It is a unique identifier for each event.
It is used to deduplicate events sent from the browser and the server.
Can I send leads through the conversions API?
Yes.
You can send lead events, signup events, or custom events if they make sense for your business.
Does the API automatically improve my campaigns?
Not automatically.
The API improves the quality and stability of the data sent. But for that to have an impact, events must be configured correctly, and campaigns must use that data properly.
Do I have to provide personal information?
Not always.
You can send data such as IP address, user agent, click ID, or hashed identifiers, if applicable. However, everything must be done in accordance with consent and privacy requirements.
What happens if I don't perform a deduplication?
You can count duplicate conversions.
This can skew the results and lead you to make poor decisions.
Conclusion: Setting up the Pinterest Conversions API is an investment in reliable data
Configure the Pinterest Conversions API It's not just a technical task.
It's a way to improve measurement quality, reduce data loss, and provide Pinterest with more reliable signals to optimize campaigns.
But to do it right, you need a solid foundation:
- Well-defined events.
- Correct DataLayer.
- Ordered server-side tracking.
- Secure token.
- Dynamic parameters.
- Deduplication.
- Consent.
- Validation.
- Documentation.
If you have active campaigns, an e-commerce site, a SaaS business, or a business that relies on digital customer acquisition, this implementation can help you make better decisions.
At Analytic Pixel Pro I can help you set up the Pinterest Conversions API in a secure, organized way that aligns with your measurement strategy.
Because when the data is reliable, scaling campaigns is no longer a gamble—it becomes a decision based on real information.