Skip to content
Glance

Product guide

Analytics & attribution

Measure the pages your agents publish, attribute Glance campaign actions, understand where native leads came from, or send page activity to an analytics account you already own. These are separate systems with deliberately different data and access boundaries.

Business and aboveBuilt-in analytics, campaigns, native lead forms, and provider integrations

Measure

Built-in page analytics

Glance's cookieless report is the measurement step in publish → measure → patch. Enable it from Dashboard → Sites → select a site → Site analytics, then have an agent call get_page_analytics using the same Bearer publisher key it uses to publish. It is available on Business and above.

What one call returns

Views and visitor-days. The field is named uniques, but a returning visitor can count once on every UTC day. It is not a cross-day count of people.

Top pages. Each row includes the current window, the equal-length previous window, the change, percentage, and a trend. A page that lost all traffic stays visible near the top.

Top referrer origins. Referrers are always site-wide, even when the call is scoped to one page. Direct traffic is not a referrer row, and full paths and query strings are never retained.

Whole-site totals. Totals cover every page, not only the limited rows returned, and total views only—unique visitors are not additive across pages.

How to read it honestly

Results are live through the instant of the call, with no hourly rollup or report cache. Small swings remain noise: 3 → 5 views is not a redesign brief.

A view arrives from the served page. A blocked first-party script, instant bounce, or crawler that never runs it is absent, so totals can read lower than raw server logs.

Only public pages on a custom domain or Glance site handle count. A /p/<token> share link is not counted, and neither are signed-in dashboard views.

The daily visitor key is destroyed after its UTC day. That privacy choice makes cross-day people and retention cohorts intentionally impossible.

Attribute actions

Glance campaigns

On Business and above, open Dashboard → Sites, select a site, and use Campaigns. Create a named campaign, copy its public parameter, and add a stable actionId to each CTA your page should report. The site screen and get_campaign_report show aggregate CTA clicks and visitor-days by action and campaign.

1. Land

Glance validates the opaque glc code, removes glc from the visible address immediately, and leaves provider IDs and UTMs available to configured provider scripts.

2. Attribute

A signed, same-site HttpOnly token carries only tenant, site, campaign, and expiry for 30 minutes. It carries no UTM or provider click ID.

3. Report

A click on a trusted declared actionId records its page, action, link kind, campaign association, and daily visitor hash for aggregate CTA reporting.

Campaign analytics never stores a URL query string, UTM parameter, CTA destination URL, form submission, arbitrary event metadata, raw IP address, or raw user agent. Pausing a campaign stops its public code from creating new attribution; it does not rewrite prior aggregate results.

Understand submissions

Native lead attribution

A site-only leadForm captures first-party leads on Business and above. Each form has a required, publisher-authored consent statement and privacy-policy link. The private lead inbox lives at Dashboard → Sites → select a site → Lead inbox; email delivery is optional.

Last eligible touch

On a landing with at least one recognized tag, Glance captures the landing path, referrer origin, UTM source, medium, campaign, content, and term, plus the provider-supplied gclid, gbraid, wbraid, fbclid, msclkid, ttclid click IDs. An untagged page does not erase an earlier eligible touch.

The exact allowlisted snapshot is sealed in an encrypted, authenticated, host-only HttpOnly cookie for up to 30 days. It is accepted only for a later form submission on the same tenant and site. Arbitrary query parameters and the full referrer path never enter it.

The submitted lead, consent evidence, and immutable attribution snapshot are encrypted at rest and permanently deleted after 30 days. Lead values never become dashboard data or publisher-agent output.

Closed aggregate source

Publisher reports expose a classification, not raw attribution. The first eligible match wins in this order:

SourceSignal
google_adsgclid, gbraid, or wbraid
metafbclid
microsoft_adsmsclkid
tiktok_adsttclid
glancea valid Glance campaign association
utmat least one UTM field
directnone of the eligible signals above

Connect your account

Third-party analytics

An owner or admin can configure these on Business and above from Dashboard → Sites → select a site → Site analytics. You paste one public identifier; Glance renders its reviewed provider template. We never accept, store, or run a snippet you supply. The resulting data lands in your analytics account, not in Glance.

ProviderYou pasteLooks likeConsent behavior
PlausibleSite domainThe domain exactly as it is registered in Plausible — a hostname, not a URL, and one site.example.comNone — always loads
Google Analytics 4Measurement IDAdmin → Data streams → your web stream. Starts with "G-".G-XXXXXXXXXXYes — loads only after consent
Meta PixelPixel IDEvents Manager → Data sources → your pixel. 15–16 digits.123456789012345Yes — loads only after consent

Automate safely

MCP tools and authorization

The publisher and signed-in OAuth MCP servers intentionally expose different data. A tool appearing on both surfaces still runs under that surface's identity and authorization.

Bearer publisher key

Tenant-scoped publishing credentials read page performance, manage campaigns, and retrieve aggregate source counts. get_lead_summary can filter by form, campaign, closed attribution source, and submission window. It never returns individual submissions, field values, consent evidence, destinations, raw UTMs, referrers, or click IDs. Publisher keys cannot configure third-party analytics.

  • get_page_analytics
  • get_funnel_report
  • create_campaign
  • list_campaigns
  • rename_campaign
  • set_campaign_status
  • get_campaign_report
  • get_lead_summary
Signed-in OAuth viewer

Every tool below also requires an owner or admin role in the selected organization.

Analytics configuration requires analytics:manage; campaign management and aggregate reports require campaigns:manage. Lead destination tools require fresh leads:manage consent.

get_page_analytics and get_funnel_report require fresh analytics:read consent as well as the owner/admin role. If an older OAuth connection lacks that scope, remove it and reconnect so the client registers and consents again.

get_lead_summary and the cursor-paged private inbox list_lead_submissions require fresh leads:read consent. Inbox results are PII and may include submitted fields, consent evidence, and exact allowlisted raw attribution. Keep them out of dashboard data, logs, publisher-key calls, and unrelated prompts.

Closed-loop tools require conversions:manage; experiment reporting uses experiments:read. stage_experiment_candidate requires the exact set dashboards:read, dashboards:write, dashboards:manage, and experiments:manage. Other lifecycle changes use experiments:manage. Existing OAuth clients must reconnect once to grant new scopes. A human completes each provider authorization; an agent never receives the provider token.

  • get_analytics_configuration
  • set_analytics_configuration
  • remove_analytics_integration
  • get_page_analytics
  • get_funnel_report
  • create_campaign
  • list_campaigns
  • rename_campaign
  • set_campaign_status
  • get_campaign_report
  • get_lead_destination
  • set_lead_destination
  • remove_lead_destination
  • get_lead_summary
  • list_lead_submissions

Know the boundary

Privacy, consent, and security

Built-in measurement

Page analytics uses no cookie, local storage, or persistent visitor ID. Glance does not store the raw IP address or user agent; it stores a daily, site-scoped digest, page, host, time, and referrer origin. The daily key is discarded, so days cannot be joined into a person's history. No query string or full referrer path is stored.

Experiments are descriptive

Experiments assign immutable versions of the same public page with a minimal, versioned local-storage choice. Reports show observed visitor-day, lead, qualified, won, and value totals. Glance does not claim causal lift, calculate significance, or choose a winner. An owner/admin or authorized agent must explicitly promote one.

Provider consent

Glance ships the consent banner. In the EU and UK, Google Analytics 4 and Meta Pixel load only after consent. Plausible is cookieless and is not held behind the banner. If region lookup is unknown, Glance asks rather than tracks. Rejection is remembered, visitors can reopen Cookie choices, and adding a cookie-setting provider asks again.

Third-party scripts run only on tenant content origins and never on the Glance app origin. Provider data travels from the visitor's browser to the tenant's provider account; Glance neither receives nor stores it. The banner handles the choice mechanics, not your legal basis or privacy notice.

Need to add pages, trusted CTA actions, or a native lead form first? Start with Connect your agent. To configure a site in the app, open Sites.