Help Center · Install dwell tracking

Measure landing-page attention in 30 seconds.

Drop one line of HTML on the landing page each QR code points at. Boxli will record how long every recipient stays — and roll it into the Total Attention metric on each send.

The snippet

Paste this anywhere inside the <head> of your landing page (or just before </body>):

<script async src="https://app.sendaboxli.com/dwell.js"></script>

The script is tiny (~1 KB), loads asynchronously, and stays silent on visits that did not come from a Boxli QR redirect, so it has no impact on organic traffic or page speed.

Install on your platform

Webflow

  1. Open your project → Project Settings → Custom Code.
  2. Paste the snippet into the "Head Code" box.
  3. Save → Publish.

Platform docs →

Framer

  1. Open Site Settings → General → Custom Code.
  2. Paste the snippet into the "Start of head tag" section.
  3. Click Publish.

Wix

  1. Editor → Settings → Custom Code.
  2. Click + Add Custom Code → paste the snippet.
  3. Set "Place Code In" to Head and "Apply to" to All pages → Apply.

Squarespace

  1. Settings → Advanced → Code Injection.
  2. Paste the snippet into the Header box.
  3. Save.

WordPress

  1. Install a header-snippet plugin (e.g. WPCode or Insert Headers & Footers).
  2. Open its settings → Header section.
  3. Paste the snippet → save.

Carrd

  1. Site Settings (gear icon) → Embed.
  2. Click + → Code → paste the snippet.
  3. Set Type = head → save → publish.

Custom HTML

  1. Open your landing page template.
  2. Paste the snippet inside the <head> tag (or just before </body>).
  3. Deploy.

Verify it's working

  1. Open your landing page with the tracker snippet installed — add ?bx_qr=test to the URL so the script activates (organic visits without that param stay silent).
  2. Open DevTools → Console. You should see lines tagged [boxli/dwell]:
    [boxli/dwell] Tracking active. qr=test send= endpoint=https://app.sendaboxli.com/api/track/dwell
    [boxli/dwell] → start 0s
    [boxli/dwell] → heartbeat 5s
  3. No [boxli/dwell] logs at all? The script never loaded — re-check the snippet is on the page (View source → search for dwell.js).
  4. See "tracking inactive"? The snippet is installed but the visitor did not arrive via a Boxli QR redirect (the URL is missing ?bx_qr=). That is expected behaviour for organic traffic.

What gets tracked

  • Start — fired the moment the page loads with a Boxli QR param.
  • Heartbeats — fired every 5 seconds while the tab is visible. Backgrounded tabs do not count toward dwell.
  • End — fired on tab close or navigation. Best-effort; heartbeats are the authoritative dwell record.
  • Each session shows up on the corresponding send's detail page under Landing Page Sessions and rolls into Total Attention.

When you can't install the snippet

Some destinations are out of your control — Calendly, LinkedIn profiles, vendor checkout pages, etc. Browsers do not let any tool measure time spent on a page it does not own, so dwell is not measurable for those scans. You still get every other signal: scan event, scan timestamp, recipient device, click-through to the destination, and video brochure watch time from inside the box.

If you want to measure attention on a third-party CTA, point the QR at a short landing page you own (with the snippet installed) that has a single button forwarding to the third-party URL.

Privacy

The tracker only fires when the URL carries a Boxli QR identifier. It records dwell duration, device user agent, and IP address; it does not set cookies, does not read browser history, and does not run on any visit unrelated to a Boxli send.

Stuck?

We'll install it for you.

Send us your landing page URL and we'll paste the snippet for you on a screenshare — under five minutes.

Email us