Headless Docs
Latest (1.2.3)
Latest (1.2.3)
  • Overview
  • Change Log
  • General Steps
    • Update Prices on Page
    • Update ATC Events
      • Shopify Functions
      • Shopify Plus + Scripts
    • Preview Your Site
    • Lite Mode
  • Next.js Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Next.js - App Directory Configuraiton
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Gatsby Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Pack Digital Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Shopify Hydrogen / Remix
    • Requirements
    • Update loader()
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Examples
    • Custom Events
    • Content Testing
    • Gift With Purchases
  • Reference
    • Providers
      • Provider Props
    • Components
      • Price Components
    • Hooks
      • Price Hooks
      • Offer Hooks
      • Track Hooks
      • Experience Hooks
      • Variation Hooks
      • Cart & Checkout Hooks
Powered by GitBook
On this page
  1. Gatsby Steps

Track Page Views

  • For best analytics, this hook requires the following data to be passed inThis should be determined in whatever way necessary for your store:

    • Cart or Checkout Token

    • Country

    • Currency

  • This hook runs client-side with an internal useEffect()

import { IntelligemsGatsbyProvider, useIgTrack } from "@intelligems/headless/gatsby"


const InnerHoc = ({ children }) => {
  const { checkout } = React.useContext(StoreContext)
  useIgTrack({
    cartOrCheckoutToken: checkout?.id,
    currency: checkout.totalTaxV2?.currencyCode,
    country: "US"
  })

  return children
}

export const wrapRootElement = ({ element }) => {
  return <IntelligemsGatsbyProvider 
            organizationId={process.env.GATSBY_INTELLIGEMS_ORG_ID}
            storefrontApiToken={process.env.GATSBY_STOREFRONT_ACCESS_TOKEN}
            antiFlicker={true}
  >
    <StoreProvider>
      <InnerHoc>
        {element}
      </InnerHoc>
    </StoreProvider>
  </IntelligemsGatsbyProvider>
}
PreviousAdd Intelligems ProviderNextUpdate Prices on Page