<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Next.js tracking code installation in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/953617#M72439</link>
    <description>&lt;P&gt;Thanks for the response, but this is not 100% accurate. For the Tracker component that you refer to, the version I show below should be in line with the most recent documentation:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"use client"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; { &lt;/SPAN&gt;&lt;SPAN&gt;useEffect&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;useRef&lt;/SPAN&gt;&lt;SPAN&gt; } &lt;/SPAN&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;'react'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; { &lt;/SPAN&gt;&lt;SPAN&gt;usePathname&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;useSearchParams&lt;/SPAN&gt;&lt;SPAN&gt; } &lt;/SPAN&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;'next/navigation'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;HubspotTracker&lt;/SPAN&gt;&lt;SPAN&gt; = () &lt;/SPAN&gt;&lt;SPAN&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;usePathname&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;useSearchParams&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;Object&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fromEntries&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt; ? &lt;/SPAN&gt;&lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;entries&lt;/SPAN&gt;&lt;SPAN&gt;() : [])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt; ? &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt; &lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;useRef&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;useEffect&lt;/SPAN&gt;&lt;SPAN&gt;(() &lt;/SPAN&gt;&lt;SPAN&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;typeof&lt;/SPAN&gt; &lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt; !== &lt;/SPAN&gt;&lt;SPAN&gt;'undefined'&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt; &lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; || [];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;current&lt;/SPAN&gt;&lt;SPAN&gt; === &lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;"identify"&lt;/SPAN&gt;&lt;SPAN&gt;,{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;// I think we only need the trackPageView entry once before the identify.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;current&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}, [&lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;export&lt;/SPAN&gt; &lt;SPAN&gt;default&lt;/SPAN&gt; &lt;SPAN&gt;HubspotTracker&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Really just listing this code above for those who had same challenge as me.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I actually had it properly set up just like this for a while, but the tracker for some reason didn't work properly on localhost:3000 out of my dev environment. After deploying to main prod environment, it worked without an issue. Also be sure that you don't have any ad-blockers for this to work.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 02 Apr 2024 21:49:11 GMT</pubDate>
    <dc:creator>PatOfCle</dc:creator>
    <dc:date>2024-04-02T21:49:11Z</dc:date>
    <item>
      <title>Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/753441#M61249</link>
      <description>&lt;P&gt;I have been trying to embed the tracking code snippet into my site but I'm unsure how to do this in next.js. If anyone has advice on how to do this for next.js that would be much appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The tracking code installation information I am following is here:&lt;/P&gt;&lt;P&gt;&lt;A href="https://knowledge.hubspot.com/reports/install-the-hubspot-tracking-code" target="_blank"&gt;https://knowledge.hubspot.com/reports/install-the-hubspot-tracking-code&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Feb 2023 15:56:24 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/753441#M61249</guid>
      <dc:creator>IEvans</dc:creator>
      <dc:date>2023-02-08T15:56:24Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/754211#M61308</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/186982"&gt;@IEvans&lt;/a&gt;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt; Thanks for reaching out! Let's see if the community has any experience here — hey&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/101258"&gt;@Teun&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/133120"&gt;@MatthiasWeber&lt;/a&gt;,&amp;nbsp;do you have a simple example you can share with&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/186982"&gt;@IEvans&lt;/a&gt;? I am not too familiar with this framework and would love another brain or two here.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's what I found:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a new file called hubspot.js in the pages directory and paste your HubSpot tracking code into this file:&lt;BR /&gt;&lt;LI-CODE lang="markup"&gt;import React from 'react';

const Hubspot = () =&amp;gt; {
  return (
    &amp;lt;&amp;gt;
      &amp;lt;script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/&amp;lt;your-hubspot-id&amp;gt;.js"&amp;gt;&amp;lt;/script&amp;gt;
      &amp;lt;script
        dangerouslySetInnerHTML={{
          __html: `
            hs.beacon.ready(function() {
              hs.beacon.identify({
                ...
              });
            });
          `,
        }}
      /&amp;gt;
    &amp;lt;/&amp;gt;
  );
};

export default Hubspot;​&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;In your &lt;CODE&gt;pages/_app.js&lt;/CODE&gt; file, import the &lt;CODE&gt;Hubspot&lt;/CODE&gt; component and render it at the end of the &lt;CODE&gt;&amp;lt;Head&amp;gt;&lt;/CODE&gt; component:&lt;BR /&gt;&lt;LI-CODE lang="markup"&gt;import Head from 'next/head';
import Hubspot from './hubspot';

function MyApp({ Component, pageProps }) {
  return (
    &amp;lt;&amp;gt;
      &amp;lt;Head&amp;gt;
        ...
      &amp;lt;/Head&amp;gt;
      &amp;lt;Component {...pageProps} /&amp;gt;
      &amp;lt;Hubspot /&amp;gt;
    &amp;lt;/&amp;gt;
  );
}

export default MyApp;​&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;*Please note, this is an amalgamation of research I did for this topic. And may not be best practices.*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for taking a look! — Jaycee&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2023 17:26:19 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/754211#M61308</guid>
      <dc:creator>Jaycee_Lewis</dc:creator>
      <dc:date>2023-02-09T17:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/754499#M61329</link>
      <description>&lt;P&gt;Looks good&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;&amp;nbsp;, i would say. does it works&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/186982"&gt;@IEvans&lt;/a&gt;&amp;nbsp;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers Matt&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 06:46:42 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/754499#M61329</guid>
      <dc:creator>MatthiasWeber</dc:creator>
      <dc:date>2023-02-10T06:46:42Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/819417#M65621</link>
      <description>&lt;P&gt;that doesn't solve and has no benefits over&amp;nbsp;&lt;SPAN&gt;Script&lt;/SPAN&gt; &lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;'next/script'&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;Cannot identify portalId of loaded script. No elements matching `script[data-hsjs-portal]` found on page&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jul 2023 13:38:14 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/819417#M65621</guid>
      <dc:creator>nop1984</dc:creator>
      <dc:date>2023-07-13T13:38:14Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/897269#M69921</link>
      <description>&lt;P&gt;Any updates&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/186982"&gt;@IEvans&lt;/a&gt;&amp;nbsp;? Did this end up working? Trying to do this myself with NextJS. Unsure if it being Server-Side Rendered affects how/when the scripts run...&lt;/P&gt;&lt;P&gt;Any help would be appreciated here!&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 19:58:28 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/897269#M69921</guid>
      <dc:creator>PatOfCle</dc:creator>
      <dc:date>2023-12-21T19:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/897281#M69922</link>
      <description>&lt;P&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;&amp;nbsp;One other thing: Next.js came out with their new App Router... it looks like your solution is for the Next v13 and earlier &lt;EM&gt;Pages Router&lt;/EM&gt;. Any clue how to do this with the App Router?&lt;/P&gt;&lt;P&gt;Also, curious where you did the research for this solution? Any helpful resources for me?&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 20:04:07 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/897281#M69922</guid>
      <dc:creator>PatOfCle</dc:creator>
      <dc:date>2023-12-21T20:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/920666#M71008</link>
      <description>&lt;P&gt;Hi, I'm a new here. I have to implement the tracking codes to my Next.js app.&lt;BR /&gt;&lt;BR /&gt;Can you tell me what is it for and how can I check if the tracking code is implemented to my app?&lt;BR /&gt;Actually I wrote the codes of yours but I don't know what happened.&lt;BR /&gt;&lt;BR /&gt;Please let me know how it will work.&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Sun, 11 Feb 2024 05:28:00 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/920666#M71008</guid>
      <dc:creator>CWizard</dc:creator>
      <dc:date>2024-02-11T05:28:00Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/949988#M72229</link>
      <description>&lt;P&gt;Hi, &lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/640156"&gt;@PatOfCle&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;########Installation########&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;To embed the HubSpot tracking code snippet in your Next.js application, you can follow these steps:&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;1. **Sign Up for HubSpot**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; If you haven't already, sign up for a HubSpot account and create a new tracking code snippet from your HubSpot dashboard.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;2. **Install HubSpot npm Package**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; HubSpot provides an npm package for easier integration with Next.js. Install it using npm or yarn:&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```bash&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; npm install @hubspot/tracking-code&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; # or&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; yarn add @hubspot/tracking-code&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;3. **Create a HubSpot Tracking Component**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;Create a new component to manage the HubSpot tracking code. You can put this component in a file like `HubSpotTracking.js`:&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```jsx&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; // components/HubSpotTracking.js&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; import { useEffect } from 'react';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; import { useRouter } from 'next/router';&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; const HubSpotTracking = () =&amp;gt; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const router = useRouter();&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; useEffect(() =&amp;gt; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (window.hbspt) {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.hbspt.initialize('YOUR_HUBSPOT_PORTAL_ID');&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; router.events.on('routeChangeComplete', () =&amp;gt; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (window.hbspt) {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.hbspt.trackPageView();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, []);&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; };&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; export default HubSpotTracking;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; Replace `'YOUR_HUBSPOT_PORTAL_ID'` with your actual HubSpot portal ID.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;4. **Include the HubSpot Tracking Component**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; Add the `HubSpotTracking` component to your layout or specific pages where you want HubSpot tracking to be enabled. For example, in your layout component:&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```jsx&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;// components/Layout.js&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; import HubSpotTracking from './HubSpotTracking';&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; const Layout = ({ children }) =&amp;gt; (&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;header&amp;gt;...&amp;lt;/header&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;main&amp;gt;{children}&amp;lt;/main&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;footer&amp;gt;...&amp;lt;/footer&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;HubSpotTracking /&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; );&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; export default Layout;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; ```&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;5. **Deploy Your Site**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; Deploy your Next.js application, and the HubSpot tracking code will be included in your site's HTML.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;6. **Test and Verify**:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;&amp;nbsp;&amp;nbsp; After deployment, test the tracking to ensure it's working as expected. Visit different pages on your site to make sure HubSpot is tracking your analytics data.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;This implementation assumes that you have access to your HubSpot portal ID and the appropriate permissions to use the tracking code. Be sure to replace `'YOUR_HUBSPOT_PORTAL_ID'` with your actual HubSpot portal ID from your HubSpot account.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="Calibri,Arial,Helvetica,sans-serif" size="2"&gt;Remember to refer to HubSpot's official documentation for any specific instructions or updates regarding their tracking code implementation.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Mar 2024 11:51:35 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/949988#M72229</guid>
      <dc:creator>FAbdalla</dc:creator>
      <dc:date>2024-03-26T11:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/953617#M72439</link>
      <description>&lt;P&gt;Thanks for the response, but this is not 100% accurate. For the Tracker component that you refer to, the version I show below should be in line with the most recent documentation:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"use client"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; { &lt;/SPAN&gt;&lt;SPAN&gt;useEffect&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;useRef&lt;/SPAN&gt;&lt;SPAN&gt; } &lt;/SPAN&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;'react'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; { &lt;/SPAN&gt;&lt;SPAN&gt;usePathname&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;useSearchParams&lt;/SPAN&gt;&lt;SPAN&gt; } &lt;/SPAN&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;'next/navigation'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;HubspotTracker&lt;/SPAN&gt;&lt;SPAN&gt; = () &lt;/SPAN&gt;&lt;SPAN&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;usePathname&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;useSearchParams&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;Object&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fromEntries&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt; ? &lt;/SPAN&gt;&lt;SPAN&gt;searchParams&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;entries&lt;/SPAN&gt;&lt;SPAN&gt;() : [])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt; ? &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;null&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt; &lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;useRef&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;useEffect&lt;/SPAN&gt;&lt;SPAN&gt;(() &lt;/SPAN&gt;&lt;SPAN&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;typeof&lt;/SPAN&gt; &lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt; !== &lt;/SPAN&gt;&lt;SPAN&gt;'undefined'&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt; &lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;window&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt; || [];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;current&lt;/SPAN&gt;&lt;SPAN&gt; === &lt;/SPAN&gt;&lt;SPAN&gt;true&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;"identify"&lt;/SPAN&gt;&lt;SPAN&gt;,{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;email&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;emailAddress&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;// I think we only need the trackPageView entry once before the identify.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;firstLoad&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;current&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'setPath'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_hsq&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;push&lt;/SPAN&gt;&lt;SPAN&gt;([&lt;/SPAN&gt;&lt;SPAN&gt;'trackPageView'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}, [&lt;/SPAN&gt;&lt;SPAN&gt;pathname&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;searchParamsDict&lt;/SPAN&gt;&lt;SPAN&gt;])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;null&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;export&lt;/SPAN&gt; &lt;SPAN&gt;default&lt;/SPAN&gt; &lt;SPAN&gt;HubspotTracker&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Really just listing this code above for those who had same challenge as me.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I actually had it properly set up just like this for a while, but the tracker for some reason didn't work properly on localhost:3000 out of my dev environment. After deploying to main prod environment, it worked without an issue. Also be sure that you don't have any ad-blockers for this to work.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 02 Apr 2024 21:49:11 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/953617#M72439</guid>
      <dc:creator>PatOfCle</dc:creator>
      <dc:date>2024-04-02T21:49:11Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/953619#M72441</link>
      <description>&lt;P&gt;Thank you regardless, though, for the reply.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2024 21:50:02 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/953619#M72441</guid>
      <dc:creator>PatOfCle</dc:creator>
      <dc:date>2024-04-02T21:50:02Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978162#M73714</link>
      <description>&lt;P&gt;any news about your work i'm also new and didn't know how to&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;implement the tracking codes to my Next.js app ,&lt;BR /&gt;can u please share ur steps with me ?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 11:02:36 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978162#M73714</guid>
      <dc:creator>ASELLAMI</dc:creator>
      <dc:date>2024-05-17T11:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978164#M73715</link>
      <description>&lt;P&gt;Hello ,&amp;nbsp;&lt;BR /&gt;can u please explain more like where to paste the snippet of hubspot tracking code ??&lt;BR /&gt;and where to use&amp;nbsp;&lt;SPAN&gt;HubspotTracker that u created ??&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 11:07:44 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978164#M73715</guid>
      <dc:creator>ASELLAMI</dc:creator>
      <dc:date>2024-05-17T11:07:44Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978320#M73721</link>
      <description>&lt;P&gt;The tracking code code I pasted above is in a component &amp;lt;HubspotTracker /&amp;gt;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I then call add that component to my layout.js file at the top level of my app router in the src/app/ directory.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my code for that layout.js file:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;import { Inter } from 'next/font/google'&lt;BR /&gt;const inter = Inter({ subsets: ['latin'] })&lt;/P&gt;&lt;P&gt;import './globals.css'&lt;BR /&gt;import Header from '@/components/Header/Header'&lt;BR /&gt;import Footer from '@/components/Footer/Footer'&lt;BR /&gt;import HubspotTracker from '@/components/HubspotStuff/HubspotTracker'&lt;BR /&gt;import ScrollToTop from '@/components/Misc/ScrollToTop'&lt;BR /&gt;import Script from 'next/script'&lt;BR /&gt;import { Suspense } from 'react'&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;import { Analytics } from '@vercel/analytics/react';&lt;BR /&gt;import { SpeedInsights } from "@vercel/speed-insights/next"&lt;/P&gt;&lt;P&gt;export default function RootLayout({ children }) {&lt;/P&gt;&lt;P&gt;return (&lt;BR /&gt;&amp;lt;html lang="en"&amp;gt;&lt;BR /&gt;&amp;lt;link rel="icon" href="/favicon.ico" sizes="any" /&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;ScrollToTop /&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;lt;body className={inter.className}&amp;gt;&lt;BR /&gt;&amp;lt;Suspense&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Header /&amp;gt;&lt;BR /&gt;&amp;lt;div className='app-container'&amp;gt;&lt;BR /&gt;{children}&lt;BR /&gt;&amp;lt;Analytics /&amp;gt;&lt;BR /&gt;&amp;lt;SpeedInsights /&amp;gt;&lt;BR /&gt;&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;Footer /&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;{/* Script needs to be loaded here, right before the HubspotTracker component */}&lt;BR /&gt;&amp;lt;Script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/[YOUR HUBSPOT ID HERE].js" strategy="beforeInteractive" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;HubspotTracker /&amp;gt;&lt;BR /&gt;&amp;lt;/Suspense&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;BR /&gt;)&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;IMPORTANT: For some reason, the tracker did not work when I was testing on localhost. However, when I deployed the app with the tracking code, tracking worked on my public domain. I believe this difference in outcomes (the tracking code not working local but working once deployed) has something to do with atypical SSR happening (especially the timing of when the code is actually embedded with respect to the client) when testing on localhost.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 15:21:19 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978320#M73721</guid>
      <dc:creator>PatOfCle</dc:creator>
      <dc:date>2024-05-17T15:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: Next.js tracking code installation</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978332#M73723</link>
      <description>&lt;P&gt;Thank you so much for your reply&lt;/P&gt;</description>
      <pubDate>Fri, 17 May 2024 15:42:38 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Next-js-tracking-code-installation/m-p/978332#M73723</guid>
      <dc:creator>ASELLAMI</dc:creator>
      <dc:date>2024-05-17T15:42:38Z</dc:date>
    </item>
  </channel>
</rss>

