How to Add a Tracking Script in BigCommerce Script Manager
Most analytics, heatmap and pop-up tools ask for the same thing: a short script in the <head>of every page. On a BigCommerce store you don't need to open theme files to do that. You use Script Manager in the control panel. This guide walks through each field on the Create a Script form, explains which choices matter for a tracking tag (placement, the pages it runs on and its consent category), and shows how to check that the script actually loads.
Updated

Before you start: what Script Manager needs
BigCommerce's help article on Script Manager opens with the main requirement: "This feature is only available to stores using Stencil themes." Stencil is BigCommerce's current theme framework, and most stores built in recent years use it. BigCommerce's developer documentation adds that Blueprint, the older theme framework, "does not support rendering scripts inserted using the Scripts API or the Script manager."
| Requirement | Why it matters | How to check |
|---|---|---|
| Your store uses a Stencil theme | Script Manager only works with Stencil themes. | Check your current theme in the Storefront section of the control panel, or ask whoever built your store. |
| You can sign in to the control panel with access to Storefront settings | Script Manager is under Storefront in the control panel. | Look for Storefront > Script Manager in the left menu. |
| You know which storefront (channel) you are working on | On multi-storefront stores, Script Manager is set per storefront. | If you run more than one storefront, open Channel Manager first (see below). |
| You have the snippet from your tool | You paste it exactly as your tool provides it. | Copy it straight from your tool's dashboard. Don't retype it. |
Have the script ready before you open the control panel. In marketingLABO, for example, you register your site with its name and URL, and the dashboard then shows your tracking tag with a Copy tag button and the instruction to paste it right before </head> on every page. On BigCommerce, that becomes the header placement in Script Manager, which we set in Step 3.
<script src="https://...your tag..."></script>. Always paste the exact snippet from your own tool's dashboard, not this example.Script Manager, Footer Scripts or an app?
There are three ways a script can end up on a BigCommerce storefront, and it helps to know which one you are using.
| Route | What it is | Use it for a tracking tag? |
|---|---|---|
| Script Manager | The control panel screen where you add, edit and remove your own scripts, with settings for placement, pages and consent category. | Yes. This is the route this guide covers. |
| Footer Scripts | BigCommerce calls it "the legacy script area for inserting scripts on Stencil themes." Existing scripts keep working there. | No. BigCommerce recommends moving scripts to Script Manager so they follow your cookie consent settings. |
| An app from the App Marketplace | Apps can install their own scripts. These show up in Script Manager as third-party scripts. | Only if your tool offers a BigCommerce app. App scripts are read-only in Script Manager. |
Step 1: Open Storefront > Script Manager
- Sign in to your BigCommerce control panel.
- Go to Storefront > Script Manager.
- Look at the list first. BigCommerce says the overview shows "the script's name, the date of installation, the location of the script in the storefront, header or footer," and whether it came from an app or was entered manually. Check that the tool you are installing isn't already there.
- Click Create a Script.
If your store has more than one storefront, the path is different. BigCommerce's article notes: "Script Manager and other storefront-specific settings can be found within Channel Manager." Open Channel Manager, choose the storefront you want to track, and open its Script Manager from there. Each storefront has its own list, so a script added to one isn't added to the others.
Step 2: Name and describe the script
- Script name is required and is for your own reference. Use something you will recognize later, such as "marketingLABO tag" or "Heatmap tool (added Oct 2026)".
- Description is optional. A one-line note on what the script does and who added it saves time when someone reviews the list a year from now.
Step 3: Set Placement to the header
The Placement field decides where on the page the script goes. BigCommerce's instruction is short: "Select whether the script should be in the header or footer of the page." On Stencil themes, header scripts are output by the theme in the page head, and footer scripts near the end of the page.
| Placement | Where the code ends up | Typical use |
|---|---|---|
| Header | In the page's <head>, where the theme outputs header scripts | Analytics, heatmap and pop-up tags that should start as the page loads |
| Footer | Near the end of the page, where the theme outputs footer scripts | Scripts a vendor asks to run after the page content is in place |
marketingLABO asks for its tag right before </head> on every page, so choose the header. You can't pick an exact line inside the head with Script Manager; the header placement is the equivalent.
One technical detail, in case your theme has been customized: BigCommerce's developer docs explain that Stencil templates must include the Handlebars expressions for head and footer scripts, and that if an expression is missing from a page, "scripts with that location won't render on that page." Stock Stencil themes include them. If a developer has heavily edited your templates and the script doesn't appear, this is one thing to ask them about.
Step 4: Choose which pages the script runs on
The Location field (BigCommerce's help article uses this name for which pages the script runs on) has four options. Here is how BigCommerce describes each one:
| Location option | What BigCommerce says it covers |
|---|---|
| Storefront pages | "all pages, except for checkout or order confirmation pages" |
| Checkout | "checkout page (only works with Optimized One-Page Checkout)" |
| Order Confirmation | "order confirmation page" |
| All pages | "includes storefront, checkout, order confirmation, and cart page" |
The developer documentation for the same settings gives a little more detail. It lists the storefront scope as excluding Checkout, My Account, Login, Payment Methods and Order Confirmation, while the all-pages scope covers most storefront pages, including Cart, Category, Checkout, My Account, Login, Product, Search and the 404 page.
All pages or Storefront pages?
Many vendors simply say "choose All pages," and for some tools that is right. Before you pick it, know what it adds: the checkout and order confirmation pages. BigCommerce treats checkout and My Account as payment pages, and its help article states that to comply with PCI DSS requirements, "you must include at least 1 integrity hash" for scripts used to customize your payment pages. An integrity hash is a fingerprint of the exact script file; if the file changes, the browser blocks it until you add the new hash from the provider.
So the choice comes down to whether your tool needs to run during checkout and whether it gives you an integrity hash for that:
| Your tool | Sensible Location | Why |
|---|---|---|
| Analytics, heatmap or pop-up tool for browsing behavior | Storefront pages | Covers home, category, product, search and cart pages, without adding a third-party script to checkout. |
| A tool your vendor says must run on checkout too | All pages, with the integrity hash your vendor provides | BigCommerce requires at least one integrity hash for scripts on payment pages. |
| A conversion script that should fire only after purchase | Order Confirmation | Runs only on the order confirmation page. |
For marketingLABO, choose Storefront pages. marketingLABO doesn't read order data on BigCommerce, so there is nothing for it to do on checkout, and keeping third-party scripts off payment pages is a simple way to keep your PCI checklist short. Your heatmaps, visitor history and banner targeting still cover the pages where shoppers browse and decide, including the cart.
Step 5: Pick the script category
The Script category field is easy to skim past, but it decides whether the script runs for shoppers who use your cookie consent banner to opt out. BigCommerce explains: "When enabled, the cookie consent banner allows shoppers to opt-out of categories of cookies and scripts used by the store." There are four categories:
| Category | BigCommerce's description | Can shoppers opt out? |
|---|---|---|
| Essential | "These scripts are essential for the site and any requested services to work." | No |
| Analytics | "These scripts provide statistical information on site usage such as web analytics." | Yes |
| Functional | "These scripts enable enhanced functionality, such as videos and live chat." | Yes |
| Targeting/Advertising | "These scripts are used to create profiles or personalize content to enhance your shopping experience." | Yes |
The detail to know: "Uncategorized scripts default to this category," meaning Essential. A tracking tag isn't essential for your store to work, so leaving it on Essential is usually the wrong choice if you serve shoppers in places with consent rules, because essential scripts run whether or not the shopper agreed.
For a visitor analytics and heatmap tag such as marketingLABO, Analytics is the category that describes the main job. Pick the one that honestly fits what your tool does, and expect the trade-off: shoppers who opt out of that category won't be tracked, and anything that depends on the tag, such as pop-up banners from the same tool, won't run for them either. That is expected behavior with consent, not a broken install.
Step 6: Script type, contents and load method
The rest of the form is about the code itself. BigCommerce's instruction for Script type is: "Select whether you are linking to a script by a URL or manually entering in the script."
| Field | What to choose | Notes |
|---|---|---|
| Script type | Enter the script manually if your tool gives you a snippet to paste | Use the URL option only if your vendor gives you just a script file address. |
| The script itself | Paste the full snippet, including its <script> tags | BigCommerce rejects code without <script> tags, or code containing <noscript> tags, with the error "Enter a valid script". |
| Integrity hash | Leave empty unless your vendor provides one | Required for scripts on payment pages; up to five can be entered. |
| Load method | Default, unless your vendor says otherwise | Async and Defer change when the script runs; see below. |
BigCommerce describes the load methods this way. Async: "The script will be fetched in parallel to parsing and evaluated as soon as it's available." Defer: "The script will execute in the order it appears on the page." Default: "This setting will load the script according to the default attribute settings found in browsers." Many tracking snippets already set their own loading behavior inside the code, which is why Default is a safe choice when your vendor doesn't specify one.
Step 7: Save, then check that it works
Click Save. The script now appears in the Script Manager list with its placement. BigCommerce notes that "Scripts have a cache time of 20 seconds," so wait a moment before you test. Then confirm it loads on the live store:
- Open your store in a private window. This shows the storefront the way a new shopper sees it and avoids mixing your test with an existing session.
- Accept the cookie banner if you have one enabled and set a non-essential category. Otherwise the script may be waiting for consent.
- View the page source (Ctrl+U on Windows, Option+Cmd+U in Chrome on Mac) and search for a recognizable part of your snippet, such as its domain.
- Click through several page types: the home page, a category, a product and the cart. With Storefront pages selected, the snippet should be on each of them.
- Use your tool's own check. In marketingLABO, open any page of your store, then press Check tracking in the dashboard. If nothing has arrived, the dashboard suggests confirming the tag is right before </head> on every page and your changes are saved, then reloading your site and trying again.
After a few minutes of browsing, look for your own visit in the tool. In marketingLABO, the visitor history timeline should list each page you opened, in order.
If the script doesn't load: a troubleshooting table
| Symptom | Likely cause | What to do |
|---|---|---|
| No Script Manager in the Storefront menu | You are looking at a multi-storefront store, or your user account lacks access | Open Channel Manager and choose the storefront; ask the store owner about your permissions. |
| Error "Enter a valid script" when saving | Code is missing its <script> tags or includes <noscript> tags | Re-copy the snippet from your tool. If your vendor's snippet includes a <noscript> part, remove only that part or ask the vendor for a script-only version. |
| Snippet isn't in the page source | Cache delay, wrong storefront, or a theme template missing the head scripts expression | Wait 20 seconds and reload; check the storefront; ask your developer to check customized templates. |
| Snippet is on product pages but not checkout | Location is Storefront pages | Expected. Storefront pages excludes checkout and order confirmation. |
| Data appears for you but not for some shoppers | Category is non-essential and those shoppers opted out | Expected with consent. Change the category only if it doesn't describe what the tool does. |
| Visits are counted twice | The same tool is also in Footer Scripts, an app, or a second Script Manager entry | Keep one active copy per tool and remove the rest. |
| Snippet is present but the tool reports errors or nothing | Browser extension blocking it, a typo from retyping, or a vendor-side issue | Open the browser console for errors, try a browser without blockers, re-copy the snippet, and contact the tool's provider. |
Editing and removing scripts
Scripts you created yourself show up as user-created in Script Manager, and you can edit or delete them. Scripts created by apps are read-only. A few habits make this list easy to manage:
- Edit a script from its action menu to change the placement, pages or category, or to paste an updated snippet from your provider.
- Delete a script from the action menu, or open it with View and delete it there, then confirm. Unused scripts still load for every shopper, so remove tools you have stopped using.
- Don't delete app scripts by hand. BigCommerce warns that removing a third-party script before uninstalling its app can cause unexpected behavior. Uninstall the app instead.
A note on headless storefronts
This guide is for Stencil storefronts. BigCommerce also supports Catalyst and other headless front ends, where the store's pages are built by a separate application. BigCommerce's documentation says Script Manager scripts are supported on Catalyst, but page loading works differently there. marketingLABO's tag is designed for regular page loads, so we don't offer an install guide for headless BigCommerce storefronts.
What a head tag can do on BigCommerce, and what it can't
Once the snippet loads on your storefront pages, a page-level tool sees what shoppers do on those pages. With marketingLABO on a BigCommerce store, that means:
- Analytics and heatmaps. Reports by traffic source, page and conversion, plus per-page heatmaps of time on page, scroll depth and clicks. Product pages are a good place to start. See our guide to website heatmaps for how to read them.
- Visitor history. A per-visitor timeline of the pages they viewed.
- Micro-conversions. Count goals by number of pages viewed, a specific URL, time on page or return visits. Reaching the cart page is a reasonable signal of intent.
- Pop-up banners. Show a banner immediately, after a delay, at a scroll depth or on exit intent, targeted by page URL, visit count, days since last visit, pages viewed or not viewed, and traffic source. Banners come in modal, floating and bar styles, and there are e-commerce templates for coupons, free shipping and sign-ups.
And what it doesn't do: marketingLABO isn't a BigCommerce app and doesn't connect to your store's catalog or orders, so it doesn't read cart contents, cart value, products or payments. A "cart reminder" banner in marketingLABO works by page behavior, for example showing a message to returning visitors who viewed the cart page, not by what is in the cart. For revenue and order counts, keep using BigCommerce's own reports.
Common mistakes
| Mistake | What happens | Fix |
|---|---|---|
| Pasting the tag into Footer Scripts | It works, but it is the legacy area and doesn't follow your consent categories. | Use Script Manager. |
| Leaving the category on the default | The script is treated as Essential and runs before consent. | Pick the category that matches the tool. |
| Choosing All pages without thinking about checkout | A third-party script lands on payment pages, where BigCommerce requires an integrity hash. | Use Storefront pages unless the tool truly needs checkout. |
| Forgetting other storefronts | Only one storefront is tracked. | Add the script in each storefront you want to track. |
Quick checklist
- Store uses a Stencil theme.
- Correct storefront selected (Channel Manager on multi-storefront stores).
- Snippet copied directly from your tool, pasted once via Create a Script.
- Clear script name and a short description.
- Placement: header.
- Location: Storefront pages (or what your vendor requires, with any integrity hash).
- Script category matches what the tool does.
- Load method left on Default unless your vendor says otherwise.
- Verified in a private window on home, category, product and cart pages, plus your tool's own tracking check.
- Old copies removed from Footer Scripts.
FAQ
Do I need to edit my theme files? No. Script Manager adds the script for you on Stencil themes. Theme editing is only relevant if a developer has removed the template expressions that output scripts.
Can I track checkout with marketingLABO? We recommend not placing the marketingLABO tag on checkout. It doesn't read order data, and keeping third-party scripts off payment pages avoids the integrity hash requirement. Use BigCommerce's reports for orders.
I also run a Shopify, Wix, Squarespace or WooCommerce site. Is it similar? The goal is the same (the tag in the head of every page), but the steps differ. See adding a tracking script to Shopify, adding custom code to the head of a Wix site, Squarespace code injection and adding a script to the head of a WooCommerce store.
marketingLABO's Free plan includes one site with analytics, heatmaps and visitor history, plus one form and one pop-up banner, with no time limit and no credit card required. Compare plans in the pricing section, or sign up free to get your tag.
Sources
All checked on October 12, 2026.
Start free — no credit card needed
Sign up freeMore articles

Adding Custom Code to the Head of a Webflow Site
Add a script to the head of every Webflow page with Site settings > Custom code: plan requirements, head vs. footer, page-level code, publishing and testing.
Read the article →
How to Add a Tracking Tag to a Plain HTML Website (Every Page, Step by Step)
Add a tracking script to the head of every page on a hand-coded HTML site: where it goes, shared includes and templates, and how to verify it in DevTools.
Read the article →
Form UX Best Practices: Validation, Progress Bars and Autofill
Form UX best practices from web.dev and W3C: when to validate, how to word errors, progress for long forms, and autocomplete values that make autofill work.
Read the article →
How to Read a Single Visitor's Journey Through Your Site
Use a per-visitor timeline to spot loops, hesitation and return visits, tell anonymous from known contacts, and avoid reading too much into one journey.
Read the article →
How to Target Returning Visitors with Different Messages Than First-Timers
Show first-time and returning visitors different messages using visit frequency and days since the last visit, with recipes and the limits of tracking.
Read the article →
UTM Parameters Explained (and How to Match Landing Messages to Your Ads)
What each UTM parameter means, a naming convention that keeps reports clean, common tagging mistakes, and how to show visitors a message that matches the ad.
Read the article →