Skip to content

Strict, Extended & Mixed Reports

Pomelo is documented around one product doctrine:

  • Strict by default
  • Extended by configuration

That does not mean every report is either fully Strict or fully Extended.

Some surfaces are now mixed:

  • they keep a useful strict-safe baseline in Strict
  • and expose clearly marked enriched slices in Extended

This page gives the public reading model used across the dashboard, the API, and the snippet guidance.

FeatureStrictStrict under conditionsExtendedPrior consent for PomeloBanner for Pomelo aloneNotes
Overview coreAudience KPIs, top pages, performance baselineAcquisition-lite preview stays boundedEnriched geography and other enriched slicesDesigned for the documented strict envelope; legal review requiredBanner removal is not a product promise; review the full tracker stackOverview is not marketing attribution in Strict
AcquisitionNo full marketing acquisitionAcquisition-lite: channels, host-only referring domains, landing pagesUTM, source/medium/campaign attributionDesigned for the documented strict envelope; legal review requiredBanner removal is not a product promise; review the full tracker stackAcquisition-lite is not marketing attribution
ActionsNo rich action intelligence by defaultSimple tagged actions: ui.click, outbound.click, file.download, form.submitAdvanced families, richer custom events, goals-derived readingsDesigned for the documented strict envelope; legal review requiredBanner removal is not a product promise; review the full tracker stackUse stable IDs and bounded destinations
Audience & technology coreDevice, browser, OS, language, country, viewport bucketsCountry-level geography onlyCampaign-style audience slices, region/city detailDesigned for the documented strict envelope; legal review requiredBanner removal is not a product promise; review the full tracker stackAudience and Technology stay useful without reopening fine-grained geo
UTM / campaignsNoNoYesDo not assume soDo not assume soOutside the default strict envelope
Goals / marketing conversionsNoNoYesDo not assume soDo not assume soNot part of the audience baseline
Tenant drill-downNoNoYesCase-by-case onlyCase-by-case onlyExplicitly outside the default strict envelope
Raw logs / session-level exportsNoNoYesDo not assume soDo not assume soOutside the default strict envelope

These two right-hand columns describe Pomelo’s product posture only. They are not a legal determination, and they do not replace contextual review of the site’s full tracker set.

Strict under conditions does not mean “quietly Extended”.

It means a bounded slice can stay compatible with the strict audience baseline only if Pomelo keeps it minimized and explicit:

  • acquisition-lite means channels, host-only referring domains, and landing pages
  • simple actions means bounded aggregate counts for ui.click, outbound.click, file.download, and form.submit
  • country can stay in the baseline; region and city do not

What stays out:

  • UTM parameters
  • source / medium / campaign attribution
  • marketing goals
  • tenant drill-down
  • raw visit or session logs

Read a mixed surface in this order:

  1. availability.readModel
  2. availability.sections

Meaning:

  • availability.readModel.strictSafe tells you what the page or route always serves in Strict
  • availability.readModel.extended tells you what Extended adds
  • availability.sections exposes section-level statuses with the exact API values available, locked_by_profile, not_available_for_requested_period, and partially_available_after_effective_at

A mixed HTTP 200 means:

  • the strict-safe baseline succeeded
  • not that every enriched slice is available

Human rule:

  • the unflagged baseline is the complete Strict product for that surface
  • flagged sections are optional enriched detail, not a broken page

Pomelo alone is designed to support a minimized audience-measurement setup only when you stay inside the documented strict envelope.

This is product positioning, not a blanket legal conclusion.

This does not mean:

  • every Pomelo surface has the same legal reading
  • Extended can be treated as a consent-light default
  • your whole site can automatically remove its banner without reviewing the rest of its trackers

Your site may still need a banner if it also loads:

  • ad or remarketing pixels
  • personalization tags
  • session replay
  • any other consent-requiring tracker

Even in a strict setup, keep:

  • clear information
  • an objection path
  • a review of the full tracker set present on the site

See also: Privacy & Opt-Out and the Consumer Migration Guide.

Prefer the Pomelo-generated script tag from the dashboard.

Why:

  • it keeps installation to one readable tag
  • it keeps runtime configuration in Pomelo
  • it avoids creating a second local source of truth

Do not code these assumptions by hand:

  • collection_profile
  • plan capabilities
  • mixed-route slice availability
  • deprecated mirrors such as top-level plan_id

Instead:

  • read product from GET /v1/me
  • read product_configuration from GET /v1/sites
  • read availability.readModel and availability.sections on mixed routes

See also: SDK Integration, Getting Started, and the Consumer Migration Guide.

Changing a site from Strict to Extended is prospective only.

That means:

  • future compatible data can be enriched
  • older periods are not backfilled retroactively
  • already open tabs may keep their previous runtime until reload

This is why a mixed route can stay readable while still reporting partially_available_after_effective_at on an enriched slice.