In-app guides · onboarding

Onboard users. Know if it worked.

Tours, checklists and announcements — built in-product and rendered by the analytics SDK you already ship. No second vendor, no second tag. And because every step lands on the spine, a guide is joined to the activation and revenue it drove — not stranded in an onboarding tool that can't see your money.

~3.8 KB lazy chunk · Shadow DOM · DNT/GPC honored

One engine, three modes

Tours, checklists, announcements

The same lightweight renderer does all three. Pick the mode that fits the moment. Click through them.

Tour

Anchored, multi-step walkthrough

  • Spotlight an element, step by step
  • Anchor each step to a selector with placement
  • An action button can move them along or deep-link

Checklist

A task list that completes itself

  • Each step auto-checks off a real product event
  • No self-reported progress — the product is the source of truth
  • Perfect for an activation 'get started' list

Example data

Announcement

A modal or banner, shown once

  • Ship a changelog note, a heads-up, a nudge
  • Modal or banner placement, dismissible
  • Frequency: once or always

Why ours, not a point tool

A guide that knows what it was worth.

Standalone onboarding tools can tell you a checklist was completed. They can't tell you the accounts that completed it activated faster and pay more — their data never meets your revenue. Here it's one record.

  • Engagement lands on the spine

    Every view, step and completion is a guide.* event on the same analytics_event stream as the rest of your product — joined to the customer account on write.

  • Activation, not just clicks

    Because checklist steps complete off real product events, 'finished the checklist' means the user actually did the activating thing — so the funnel from guide to activation is real, not vanity.

  • The MRR behind the flow

    Per-guide performance carries the revenue of the accounts that engaged — so 'is this onboarding flow worth keeping?' is answered next to the dollars, not in a separate tool.

Delivery

It rides your analytics SDK. Nothing else to install.

If you already run the product-analytics SDK, guides are one flag away. The renderer is a separate chunk that only loads when there's a guide to show — so visitors who never see one never pay the bytes.

  • A ~3.8 KB gzipped chunk, lazy-loaded only on init({ guides: true }) — the analytics core stays lean.
  • Rendered in a Shadow DOM overlay — hostile-CSS isolation, so your page resets can't break a guide and its styles can't leak onto your page.
  • No framework, no dependencies — vanilla DOM. Honors Do Not Track and Global Privacy Control like every ProductOS SDK, and respects the same one-call opt-out.

Turn guides on · one flag

ProductOSPA.init({
  productKey: "pk_live_…",
  guides: true
});

Same SDK as your product analytics. Live guides are fetched on boot, matched against the page, and rendered. ~3.8 KB, measured.

Authoring

Build it in-product. Flip it live.

No code to ship a guide. Compose it in the builder, target it, and publish — the SDK picks it up on the next load.

  • Compose steps

    Title, body, media and an action button per step — ordered, edited inline.

  • Target it

    URL rules (exact, prefix, contains or any) and frequency (once or always). Set an accent and modal-or-banner placement.

  • Draft → live

    Save as a draft, preview, then flip the status to live. The SDK only ever reads live guides — drafts stay in the builder.

  • Watch it perform

    Expand any guide for its performance — views, completion and the revenue of the accounts that engaged.

The real builder — three live guides on the Brightline demo workspace · Example data

Where the edges are — plainly

  • Web-only. Guides render through the web product-analytics SDK. Native mobile guides are roadmap, not shipped.
  • Three types of guide, not a whole suite. Tours, checklists and announcements ship today. NPS and CSAT surveys ship separately, in Insights; a built-in resource center is still on the roadmap.
  • Targeting is URL + frequency. Page-match and once/always today; completion is event-driven. Full behavioural segmentation on who-sees-what is next.

Early access

Onboard users without onboarding another vendor.

Turn on one flag and ship a tour, a checklist or an announcement today — then watch it drive activation next to the revenue it earned.

FAQ

Questions, answered

What are in-app guides in AIOProductOS?

Three things, one engine: tours (anchored, multi-step walkthroughs with a spotlight), checklists (task lists that auto-check off real product activity), and announcements (a modal or banner shown once). You build them in-product and the Product Analytics SDK renders them on your own site — no separate onboarding vendor.

Is this a Pendo, Appcues or Chameleon alternative?

For tours, checklists and announcements, yes — and it's the same SDK as your analytics, so there's no second tag and no separate vendor bill. The difference is the spine: guide engagement joins to activation and revenue on the same customer record, so 'did this onboarding flow actually drive activation and retained MRR?' is a lookup, not a separate study. NPS and CSAT surveys ship too — in Insights, weighted by the revenue behind each response. A built-in resource center is the one piece still on the roadmap.

How heavy is it, and will it slow my site?

The guides renderer is a separate ~3.8 KB gzipped chunk, lazy-loaded only when you set init({ guides: true }) — it never touches visitors who don't see a guide. It runs in a Shadow DOM overlay, so your CSS can't break it and its styles can't leak into your page.

How do checklists know when a step is done?

A checklist step completes off a real product event — a feature key or event name you already track. The user does the thing in your product and the item checks itself off; you're not asking them to self-report progress.

Who builds the guides, and where?

Any team member, in the in-product builder — pick a type, add steps (title, body, media, an action button), set URL and frequency targeting, save as a draft, then flip it live. The SDK reads only live guides; drafts never leave the builder.