How To Send Data From Your Next.js Site to Pinterest Tag

In the world of web development, understanding your audience's behavior is key. Today, we're exploring how to integrate Pinterest Tag with a Next.js site, a strategic combination that offers valuable user insights and utilizes them for ad optimizations and other use cases. This article will guide you through the process step by step, enabling you to leverage the potential of this powerful duo.

This integration allows you to track user activity on your website and measure the effectiveness of your Pinterest campaigns. By the end of this tutorial, you’ll be able to understand the basics of Next.js and Pinterest Tag, set up your Next.js website, integrate Pinterest Tag, and send data from Next.js to Pinterest Tag.

Understanding the basics of Next.js and Pinterest Tag

Before we dive into the process of sending data from Next.js to Pinterest Tag, let's first understand the fundamentals of Next.js and Pinterest Tag.

What is Next.js?

Next.js is a popular React framework that allows you to build server-rendered, static, or dynamic web applications. It provides a seamless development experience and offers various features to enhance website performance and user experience.

Next.js comes with built-in server-side rendering (SSR) capabilities, which means that your web pages can be rendered on the server before being sent to the client. This improves performance and ensures that your content is accessible to search engines and social media crawlers. SEO benefits are the key reasons why people choose Next.js over other single-page application frameworks.

In addition to SSR, Next.js also supports static site generation (SSG). With SSG, you can pre-render your web pages at build time, resulting in fast-loading static HTML files. This is particularly useful for content-heavy websites or blogs where the content doesn't change frequently.

Next.js also offers features like automatic code splitting, which allows you to load only the JavaScript code that is necessary for a particular page. This helps reduce the initial page load time and improves performance.

What is Pinterest Tag?

Pinterest Tag is a snippet of code provided by Pinterest that enables you to track user actions such as page visits, sign-ups, and purchases. It allows you to measure the impact of your Pinterest campaigns and optimize your marketing efforts accordingly.

When you implement Pinterest Tag on your website, it starts collecting data about user interactions and sends it back to Pinterest. This data can then be used to create audience segments, track conversions, and analyze the effectiveness of your Pinterest advertising campaigns.

Pinterest Tag offers various event types that you can track, including page visits, add-to-cart, checkout, sign-ups, and custom events. By tracking these events, you can gain valuable insights into how users are interacting with your website and tailor your marketing strategies accordingly.

Why integrate your Next.js website with Pinterest Tag?

Integrating Next.js with the Pinterest Tag offers multiple benefits. The optimization of ad campaigns is one key benefit. This integration empowers businesses to track user behavior, conversions, and specific events on their website, contributing to a better understanding of promoted Pin performance. It enables the creation of tailored audiences based on user actions, allowing for more precise retargeting strategies on Pinterest. Detailed insights into which Pins or campaigns drive the most valuable on-site actions can be leveraged to refine and enhance ad strategies. This not only helps to improve return on ad spend but also provides a personalized user experience, resulting in increased engagement and conversion rates. This potent combination of Next.js and Pinterest Tag thus serves as a powerful tool for data-driven marketing strategy optimization.

Implementing Pinterest Tag in Next.js requires some additional steps due to the server-side rendering nature of Next.js. You need to ensure that the Pinterest Tag code is executed on both the server and the client to track user actions accurately.

We will explore the process of sending data from Next.js to Pinterest Tag in more detail, but first, let’s set up a Next.js website if you haven’t already.

Setting up your Next.js site

Before integrating Pinterest Tag with your Next.js site, you'll need to set up your Next.js environment. Follow these steps to get started:

Installing Next.js

To install Next.js, open your command line interface and run the following command:

  1. Open your command line interface
  2. Run the following command: npx create-next-app@latest
  3. Follow the instructions and wait for the installation to complete

Once the installation is complete, you will have Next.js installed and ready to use for your project.

Configuring your Next.js site

Once Next.js is installed, you need to configure your Next.js site. This involves setting up basic project configurations such as routes, environment variables, and more. It's important to properly configure your Next.js site to ensure smooth functionality and optimize performance.

Follow the Next.js documentation to configure your Next.js site according to your project's needs. Take your time to explore the available options and make the necessary adjustments to create a solid foundation for your application.

Once you have completed the installation and configuration steps, you'll be ready to integrate the Pinterest Tag with your Next.js site. The integration process involves adding the necessary code snippets provided by Pinterest to track user interactions and gather valuable analytics data.

Integrating Pinterest Tag with your Next.js site

Now that your Next.js site is set up, it's time to integrate Pinterest Tag using the following steps:

Creating a Pinterest Tag

The first step is to create a Pinterest Tag. To do this, you'll need to log in to your Pinterest Business account and navigate to the Ads Manager. Once you're in the Ads Manager, click on the "Conversion tracking" tab.

Within the "Conversion tracking" tab, you'll find an option to create a new Pinterest Tag. Click on this option and follow the instructions provided by Pinterest. They will guide you through the process of creating a new Pinterest Tag tailored to your specific business needs.

Once you've completed the creation of the Pinterest Tag, Pinterest will provide you with a snippet of code. This code snippet contains the necessary tracking information that needs to be added to your Next.js site.

Adding the Pinterest Tag to your Next.js site

Now that you have the Pinterest Tag code snippet, it's time to add it to your Next.js site. Follow these steps:

  1. Locate the head section of your Next.js layout file. This is where you'll be adding the Pinterest Tag code snippet.
  2. Copy the Pinterest Tag code snippet provided by Pinterest.
  3. Paste the code snippet within the head section of your Next.js layout file. In Next.js, we often use a component named `_document.js` for that. If you don't have `_document.js` in your pages folder, you should create one.

Your `


` file should look like this:

import Document, { Html, Head, Main, NextScript } from 'next/document';
class MyDocument extends Document {
render() {
return (
!function(e){if(!window.pintrk){window.pintrk = function () {
pintrk('load', 'YOUR_TAG_ID');
<img height="1" width="1" style="display:none;" alt=""
src="" />
<Main />
<NextScript />
export default MyDocument;

Replace `


` with your Pinterest Tag ID.

Sending events from Next.js to Pinterest Tag

With Pinterest Tag integrated into your Next.js site, you can now start sending data to track user actions. Let's understand the process:

When a user performs a relevant action on your Next.js site, such as completing a purchase or signing up, you need to send specific data to Pinterest Tag. This data includes event parameters such as the event name, value, currency, and additional custom properties.

For example, let's say a user completes a purchase on your Next.js site. You can send the event name as "Purchase," the value as the total purchase amount, the currency as the user's selected currency, and any additional custom properties such as the product name, category, or SKU. This data helps Pinterest Tag track and analyze user behavior, allowing you to optimize your marketing strategies.

To implement the data transfer process from Next.js to Pinterest Tag, you'll need to utilize Pinterest's JavaScript API. You can create custom functions or hooks in your Next.js project to handle the data transfer logic.

In your Next.js code, you can use the `

pintrk('track', 'event', { parameters })

` function to send custom events.

For example, if you want to send an event when a user clicks a specific button, you might have a function like this:

const handleButtonClick = () => {
pintrk('track', 'addtocart', {
value: 100,
order_quantity: 1,
currency: 'USD'
// Rest of your button click handling code



event name and the parameters in the object can be replaced with your own event names and parameters. Pinterest tags allow for a large number of specific events such as '


', '


', '


', '


', '


', '


', '


', '


, '


, and '


'. Refer to the official Pinterest documentation for more details on these specific events.

Also, note that the above examples are basic usage. Consider implementing error-handling mechanisms to handle any potential issues that may arise during the data transfer process.

Depending on your actual use case, you might need to add additional logic or use more advanced features of the Pinterest Tag API. Consult Pinterest Tag documentation for detailed instructions on how to send different types of data to Pinterest Tag.

Furthermore, it's crucial to test the data transfer functionality thoroughly. You can create test scenarios to simulate user actions and verify that the data is being sent correctly to Pinterest Tag. This testing phase allows you to identify and resolve any issues before deploying the feature to your live Next.js site.

Troubleshooting common issues

While setting up and integrating Pinterest Tag with your Next.js site, you might encounter some common issues. Here are a few of them along with possible solutions:

Common errors and how to fix them

1. Error: "Pinterest Tag not firing on my Next.js site."Solution: Verify that the Pinterest Tag code snippet is correctly placed within the head section of your Next.js layout file. Double-check for any typos or syntax errors.

2. Error: "Data not being tracked by Pinterest Tag."Solution: Ensure that you are sending the correct data parameters to Pinterest Tag from your Next.js site. Validate the data being passed to the Pinterest API using console.log statements or debugging tools.

Seeking help and support

If you are still facing issues or need further assistance with sending data from your Next.js site to Pinterest Tag, don't hesitate to seek help from Pinterest's support team. They have dedicated resources and experts who can guide you through the troubleshooting process.

By following the steps outlined in this article, you'll be able to successfully send data from your Next.js site to Pinterest Tag. Utilizing Pinterest Tag's tracking capabilities, you can optimize your marketing strategies to drive better results.


Leveraging the Pinterest Tag in your Next.js site is an incredibly effective way to track user actions, analyze data, and consequently refine your business strategies. This guide has walked you through the process of embedding the Pinterest Tag into your Next.js application and sending custom events based on user interaction. While the steps are straightforward, they require careful implementation to ensure the accuracy of the data tracked. Remember to replace placeholders with your actual Pinterest Tag ID and customize the event parameters to fit your business needs.

By harnessing the power of Pinterest Tag, you'll gain rich insights that can significantly enhance your ability to engage users and drive conversions. Keep in mind, Pinterest's rich documentation is a great resource for exploring more advanced features and getting the most out of your Pinterest Tag implementation. Check out RudderStack's Nextjs to Pinterest Tag integration.

Don't want to go through the pain of direct integration? RudderStack's Javascript SDK makes it easy to send data from your Next.js site to Pinterest Tag.