Works with Notion

Client portals with real analytics

Embed tracked, branded document viewers in any Notion page - flipbook page-turns and all - and log every read into your Notion database. The portal your client already has bookmarked becomes the portal that tells you whether they read the work.

How it works.

Two halves that ship together: embeds need no setup at all - not even a Notion account on our side - and the database sync is a one-time connect from your account settings. Everything on this page works today, on every plan.

  1. 1

    Paste, then choose Embed

    Copy the embed link from the share sheet ("Copy embed link for Notion"), paste it into any Notion page, and pick Embed - not Bookmark - from the menu Notion shows. The tracked viewer renders in-page in whichever mode the document is set to - flipbook, swipe, or standard - and every read is attributed to the embed channel.

  2. 2

    Connect your workspace

    In Settings -> Account, choose Connect Notion and authorize your workspace, then pick a parent page. EveryPage creates an "EveryPage Reads" database there - every property ready, no template to duplicate, nothing to configure inside Notion.

  3. 3

    Reads become rows

    Each reading session is written as one row, moments after the reader closes the document: pages read, minutes spent, read-through, returning or not, source, country, and a link to the full session. A 30-day backfill import covers the reads that happened before you connected.

The Reads database.

One row per reading session - inserted moments after the session ends, never updated in place - in a normal Notion database you own. Relate it to your Clients database, build board views by engagement, sort follow-ups by read-through. These are the columns:

Document

The title property: which document this session read.

Reader

The invite name or gated email where one exists, otherwise a stable pseudonym like "Reader #214". Real names come from the Pro email gate.

Event

Viewed, Downloaded, or Gate completed - a select, so pipeline boards can filter on it.

Pages read

How many pages the session actually covered.

Time spent

Reading time, in minutes.

Read-through %

Pages read over total pages - the one number worth sorting a follow-up view by.

Returning

Checked when this reader has read the document before. Second visits are the signal.

Source

Where the read came from. Embeds are a separately attributed channel, so portal reads are distinguishable from direct link opens.

Country

Resolved in-flight from the connection; the reader's IP address is never stored.

Session link

A direct link to the full session in your EveryPage readership dashboard.

Share link

The document's public share link - the same durable URL every reader gets, ready to copy, open, or roll up into the Clients database it relates to.

QR code

The share link as a scannable QR image, attached as a file property - show it in gallery cards or print it, and scans are attributed to the QR channel.

Date

When the session happened.

Details

On gate-completed rows, the captured lead fields from the email gate (Pro).

Built for people who run their business in Notion.

Five portals this integration walks into on day one.

Freelance designer

Hand-offs that feel premium

The client portal shows deliverables in a branded flipbook instead of a flat file preview - and you know whether the client actually reviewed the work before the call.

Consultant

A pipeline that sorts itself

Each proposal read lands as a row - pages, minutes, returning or not - so the follow-up view orders itself by real engagement, without adopting a CRM. Notion already is one.

Agency PM

Portals that never go stale

When a deliverable is revised, replace the file behind the link and every embed updates in place - the Notion page is never re-edited, and the client never sees an old version.

Founder hiring

Know who read the culture deck

The deck embedded in your public hiring wiki is tracked: which candidates opened it, and how far they got - before the interview, not after.

Fractional CFO

Board packs, still controlled

Watermark the pack and set an expiry, and the embed stays tracked inside the private workspace page. Add a password and the embed deliberately refuses to render in-page, handing readers a direct link where the protection applies - control always wins.

What each plan unlocks.

Embeds and the database sync work on every plan, including Free. Pro adds identity: reader names come from the email gate, and gate-completed rows carry the captured fields. On Free and Basic the Reader column shows stable pseudonyms - "Reader #214" - never a surprise blank.

With NotionFreeBasicPro
Embed the tracked viewer in Notion pages - all viewer modes
"Copy embed link for Notion" in the share sheet
EveryPage Reads database sync - one row per reading session
30-day backfill import when you connect
Reader names in the Reader column (email gate)
Gate-completed rows with captured lead fields

Notion questions.

My pasted link shows as a Bookmark card - where is the viewer?

Notion asks what to do with a pasted link, and Bookmark - a flat preview card that sends readers to another tab - is easy to hit by accident. Delete the block, paste the link again, and choose Embed: the tracked viewer renders in-page. The "Copy embed link for Notion" button in the share sheet copies the URL best suited to this, with the reminder attached.

Is this a Notion app?

No - and nobody's is: Notion has no in-page marketplace apps or custom blocks. EveryPage works with Notion through the two surfaces Notion actually offers - the Embed block, which renders the tracked viewer in-page, and the workspace API, which writes read sessions into a database you own. "Works with Notion" is the honest phrasing, and both halves work today.

What happens on a public Notion page?

A public page means a public embed: anyone who can see the page can read the document, and those views count toward your plan's limits like any other read. Often that is the point - a public wiki with a tracked culture deck. When it is not, keep the page private, or protect the document itself.

How fast do rows appear - and can they lag?

One row per reading session, written moments after the reader closes the document - not one per page or per click. Notion's API is rate-limited, so a burst of simultaneous reads can queue: rows may trail a busy stretch by a little, and each write is retried automatically for around two hours. If writes keep failing - a renamed database property, say - the sync pauses and emails you: fix the database, resume from Settings, and use Import recent reads to fill the gap.

What happens if I disconnect?

Disconnecting stops the sync and removes EveryPage's access to your workspace. The Reads database and every row already in it stay yours - it is a normal Notion database, and nothing is deleted. Reconnect later and new sessions resume; the backfill import can cover up to 30 days of the gap.

Can I embed a password-protected or email-gated document?

Not in-page: a document with a password or an email gate refuses to render inside the embed and shows an "Open document" link to the direct share page instead, where the gate works as designed - an iframe on someone else's page is no place to type a password. For portals, the usual pattern is watermarks and expiry on embedded files, passwords on the ones you share as direct links.

Put a tracked portal inside Notion.

Paste one link and choose Embed - the next deliverable you hand off will tell you whether the client read it, page by page, in a database inside your own workspace.

Compare plans

Related: all integrations · the Zapier integration · the Make integration · the n8n node · the Notion embed guide