Forward events to your analytics
Living Page keeps its own read analytics. But if you already run your own analytics, you can have your flipbooks’ reader events land there too — in your own property, under your own domain, next to the rest of your funnel.
This is an Agency plan and up feature.
Supported analytics
Section titled “Supported analytics”The connector forwards to any of these — whichever you already have on the page:
| Service | Custom properties |
|---|---|
| Google Analytics 4 (gtag.js) | ✅ Yes |
| Google Tag Manager (dataLayer) | ✅ Yes |
| Plausible | ✅ Yes |
| Piqo | ✅ Yes |
| Segment | ✅ Yes |
| Umami | ✅ Yes |
| Fathom | ⚠️ Event name only — Fathom’s one extra field is a revenue value (in cents), so the flipbook_* details can’t be attached |
Running something else? The events are also available as a raw postMessage, so any script on your
page can read them — see Advanced: the raw events.
How it works
Section titled “How it works”When someone reads a flipbook you’ve embedded on your site, the reader (inside the iframe) announces each event to the page around it. A small connector script you paste on your site listens for those announcements and forwards them into whatever analytics you already have loaded.
Because the connector calls your existing analytics — your gtag, your plausible, your
Tag Manager — the events arrive as first-party hits on your own domain. There are no IDs to
copy and nothing to keep in sync. One script covers every flipbook you embed, now and later.
Forwarding applies to embeds — flipbooks inside an iframe on your site. A standalone share link opens on
read.livingpage.appwith no page of yours around it, so those reads stay in Living Page’s own analytics.
Turn it on
Section titled “Turn it on”- Go to Settings → Integrations and switch on Analytics forwarding.
- Copy the connector script and paste it once onto your site, alongside your existing
analytics tag. Site-wide (in your
<head>or footer) is ideal — it then covers every embed.
<script async src="https://client-connect.livingpage.app/v1/connector.js"></script>That’s the whole setup. The connector detects the analytics already on each page and forwards to it — GA4, Plausible, Piqo, Tag Manager, Segment, Umami or Fathom — so there’s nothing to configure and nothing to pick.
Already added it, or not sure? Enter your site’s address under Check your site and we’ll tell you whether the connector is present and which analytics we detected on the page — so you can confirm the pairing, or skip the paste step if it’s already there. (If you installed it through Tag Manager it won’t show in your page source, but it still works once your container is published.)
Multiple clients on different tools?
Section titled “Multiple clients on different tools?”Because the connector reads whatever analytics is on each page, one script is safe to reuse across every client site even when they run different tools — nothing to tailor per site.
Pinning a specific tool (optional)
Section titled “Pinning a specific tool (optional)”If a site runs two analytics tools and you want events to go to only one, add a data-provider
attribute — ga4, plausible, piqo, gtm, segment, umami or fathom:
<script async src="https://client-connect.livingpage.app/v1/connector.js" data-provider="ga4"></script>It stays safe: if that tool isn’t on a given page, the connector falls back to whatever is there (and notes the swap in the browser console), so it never silently drops events.
The events you’ll receive
Section titled “The events you’ll receive”Three events, with stable names — the flipbook’s identity travels in the event’s properties, not the name:
| Event | Fires when | Extra property |
|---|---|---|
flipbook_view |
the flipbook is opened | — |
flipbook_page_view |
each page is reached | flipbook_page |
flipbook_read_time |
the reader leaves | flipbook_read_seconds |
Every event also carries:
flipbook_title— the flipbook’s nameflipbook_slug— its stable slugflipbook_id— its idflipbook_client— the client workspace it belongs to (if any), so a multi-client agency can break down “views by client” in one account
Seeing the properties in reports
Section titled “Seeing the properties in reports”Both GA4 and Plausible collect custom properties straight away, but won’t show them in reports until you register them once:
- GA4 — register
flipbook_title,flipbook_pageand the rest as custom dimensions (Admin → Custom definitions). Paste the connector below your GA4 tag. - Plausible — add the
flipbook_*keys under your site’s Custom properties. Paste the connector after your Plausible script. - Piqo — paste the connector after your Piqo script; events arrive via
piqo(name, { props })with theflipbook_*keys attached, the same as Plausible. - Google Tag Manager — add the connector as a Custom HTML tag. Events are pushed to the
dataLayerasflipbook_view/flipbook_page_view/flipbook_read_time, ready for your own triggers and tags. - Segment — paste the connector after your
analytics.jssnippet; events arrive viaanalytics.track. - Umami — paste the connector after your Umami script; the
flipbook_*keys arrive as event data viaumami.track. - Fathom — paste the connector after your Fathom script. Fathom’s only extra event field is a
revenue
_value(in cents), which doesn’t apply to a reader event — so you’ll getflipbook_view/flipbook_page_view/flipbook_read_timecounts viafathom.trackEvent, without the per-flipbook breakdown.
Advanced: the raw events
Section titled “Advanced: the raw events”Under the hood, the embedded reader posts each event to the parent window. The connector is just a small listener on top of it — if your tool isn’t in the list above, any script on your page can listen for the same messages:
window.addEventListener('message', (e) => { if (e.origin !== 'https://embed.livingpage.app') return; const m = e.data; if (!m || m.source !== 'livingpage') return; // m.event → 'flipbook_view' | 'flipbook_page_view' | 'flipbook_read_time' // m.props → { flipbook_title, flipbook_slug, flipbook_id, flipbook_client, flipbook_page, flipbook_read_seconds } yourAnalytics.track(m.event, m.props);});Always check e.origin is https://embed.livingpage.app before trusting a message.
What’s shared
Section titled “What’s shared”Only what’s needed to identify the flipbook: its title, slug, id, the page number, the read time, and the client name. No reader is identified — the connector forwards the same anonymous, cookieless events Living Page measures, into a tool you control. What it does with them is up to your own analytics setup and privacy policy.
Read analytics — what Living Page measures on every plan, and what stays private.