EdgeKit Analytics

Event data your analysts trust, and your paywall reads

Reads, paywall views, sign-ups and subscriptions, collected on each title’s own domain and checked against schemas your team writes. Every valid event is archived unsampled and loaded into a warehouse table of your own. Signed-in readers’ engagement also reaches the profile your paywall and offer rules read.

Where events go

Your separate behavioural data pipeline can go. Everything else stays.

One path and one tag per title. Every event is checked on arrival, then delivered from that single copy: into the archive, your warehouse, the tools your teams use and, for signed-in readers, the reader profile. Your consent platform, warehouse, BI tool, and Braze if you run it, all stay. Adding a destination never means re-tagging a page.

How it works

Collected on your domain, checked at the door, loaded whole

First-party collection

Collected on your domain, not someone else’s

Each title routes one path on its own domain to EdgeKit, and the tag sends every event there. There is no new hostname, no certificate and no change to your content security policy. The path spells no analytics vendor’s name, and EdgeKit can add further paths of your choosing beside it.

  • Its cookies belong to the title’s own domain, not to a third party
  • Takes its signal from the consent platform you already run
northernpost.com · the tag
import { createTracker } from
  '@edgekitcloud/analytics-browser';

const analytics = createTracker({
  siteId: 'northern-post',
  requireConsent: true,
});

analytics.trackPageView(); // held

// your consent platform's accept callback
analytics.grantConsent();
// → POST northernpost.com/edgekit/a/t

Reader profile

The next offer knows how this reader reads

Engagement is counted on the live event stream and lands on each signed-in reader’s profile: articles read, paywalls seen, how recently and how often they read. Paywall and offer rules read it in the same request as any other fact, so an offer moves on reading behaviour, not on last month’s export.

  • Articles read, paywalls seen, recency and frequency, kept on the profile
  • No export and no engineer between the event and the rule
  • Anonymous reading is still collected and stored; only signed-in readers’ engagement reaches the profile
Reader profile · signed in

Schema registry

Bad data stops at the door, not in the board report

Your team defines each event once: its fields, their types, its version. Every event is checked as it arrives. One that fails is kept aside, untouched, with the reason it failed. It never reaches your tables and is never silently thrown away.

  • Write schemas in the console, or have EdgeKit import the ones you already have
  • A breaking change under the old version is refused when you save it, not found in next month’s numbers
  • No version is ever deleted, so an app release from years ago still validates
Analytics › Schemas

Archive and warehouse

Every row, in a warehouse your analysts can query

Every valid event lands in an archive that is always on and never sampled. From there it loads one wide table, one row per event and every title in it: into your own Snowflake, BigQuery or MotherDuck.

  • Every event is loaded exactly once, even when a load runs again
  • When it is switched on, EdgeKit loads the full archive into it
  • Anonymous reading is in the table too, not only signed-in readers
edgekit.eventsSnowflake
Loaded on a schedule, merged on event_id

Consent and privacy

Consent travels with the data

Where consent is required, the tag holds every event on the page until the reader says yes, using the consent platform you already run. Every event records the lawful basis in force on its title, so the evidence sits in the same stream as the data it covers.

  • A reader who withdraws consent has the tracker’s cookies and stored state cleared from their device
  • Choose fields, such as the IP address, to be hashed before anything is stored
  • Bring named cookies from your other systems onto every event, and only those
The Northern Post · waiting for consent

Also included

The details your data team will ask about

Every platform, one path

Open-source trackers for web, iOS, Android and your own servers all send to the same path.

Your marketing stack

Events reach the marketing tools you already run, such as Braze, Iterable, Customer.io and Klaviyo, or any OpenTelemetry endpoint you configure.

Enriched on arrival

Country and region, referrer source, campaign tags, device and browser, added to each event that carries them.

Identity carried over

Coming from a pipeline on the same open-source tracker, readers keep their device identifiers and sessions are not reset.

Getting started

Adopted one title at a time

Nothing here needs a re-platform. The CMS keeps rendering, the old tool can keep running, and each step stands on its own.

White-glove onboarding: we set it up with you, start to finish.

  1. 01

    Define your events

    Agree the handful that matter (reads, paywall views, sign-ups, subscriptions) and write them as schemas in the console. If you already have schemas, EdgeKit imports them.

  2. 02

    Mount the path, add the tag

    Route /edgekit on each title’s domain to EdgeKit, install the tracker and connect it to your consent platform. Events arrive on your own domain from the first page view.

  3. 03

    Connect your warehouse

    EdgeKit switches on loading during setup, into your own warehouse or a Snowflake database it keeps for you, loads everything collected so far, then keeps the table current.

  4. 04

    Retire the old pipeline when you are ready

    Keep your current tool running as insurance until you trust the new data. We can even import past events.

Questions

Asked before every demo

Does it work with our consent platform?

Yes. The tag takes its signal from the consent platform you already run. Where you require consent, it holds events until the reader agrees, and every event records the lawful basis in force on its title.

Where does our data live?

Every organization has its own collector, its own archive and its own warehouse table, never shared with another media group. Deploy EdgeKit into your own cloud account and the archive sits in infrastructure you control. EdgeKit also keeps a 90-day copy of every valid event in a log store of its own, one dataset per organization. The warehouse copy is your organization’s: retention and deletion there are your call, and EdgeKit never deletes from it.

Do we have to remove our current analytics tags?

No. EdgeKit’s tracker runs beside them, so you can keep your current tool while you switch. Do not expect the two to agree. Different tools lose different events, use different clocks and judge bots differently, so their numbers never reconcile exactly. Treat the old tool as insurance, not as a benchmark.

Will the read count match the paywall’s meter?

No, by design. A page view is a record of what a reader did; a metered read is a paywall decision. Bots, previews and subscriber reads move one and not the other, so neither number is worked out from the other.

EdgeKit Analytics

See your own titles’ events arrive, checked and whole

Book a demo