Skip to content

docs: position register as the analytics/event-tracking primitive#228

Draft
claude[bot] wants to merge 2 commits into
mainfrom
track-placement-alias
Draft

docs: position register as the analytics/event-tracking primitive#228
claude[bot] wants to merge 2 commits into
mainfrom
track-placement-alias

Conversation

@claude

@claude claude Bot commented Jun 27, 2026

Copy link
Copy Markdown

Requested by Jake Mor · Slack thread

Before / After

Before: This draft introduced a brand-new track method as an analytics-only alias of register/registerPlacement, plus a track vs. register subsection in the Showing Paywalls overview (content/shared/showing-paywalls/feature-gating.mdx).

After: That track method has been dropped. The docs now position the existing register method as Superwall's analytics primitive. No new SDK method is introduced — the page simply explains that every register call you already make is also an analytics event.

The new framing:

  • Every register call is an analytics event. Superwall records every register, uncapped and free, so the SDK you already have doubles as a full analytics destination with no separate library to install.
  • No handler or feature closure required. Calling register("event_name") (optionally with params) and not passing a feature block simply records the event — fire-and-forget. The same call gates a feature or presents a paywall when you pass a feature: closure, so anything you log today can become a paywall moment later without an app update.
  • Query it back via the Query API. You can query every recorded event with row-level-security-protected SQL through the Query API, making Superwall a viable, agent-first home for product analytics alongside (or instead of) Mixpanel, Amplitude, and PostHog.
  • The old track vs. register subsection is removed (there's only register); it's replaced by a short note that the same register call powers both paywalls and analytics depending on whether you pass a handler/feature closure.

How

  • Rewrote the added section in content/shared/showing-paywalls/feature-gating.mdx to "Every register call is an analytics event", using the page's existing multi-language tabs (:::ios/:::android/:::flutter/:::expo + <CodeGroup>) with Superwall.shared.register(placement:params:) and the per-platform equivalents.
  • Removed all references to the dropped track/trackPlacement method.
  • Kept the Query API link and the Mixpanel/Amplitude/PostHog positioning.

Validation

  • bun test → 65 pass, 0 fail
  • bun run build → full prerender succeeded (EXIT 0)
  • bun run check:links:source → 0 errors (Query API link resolves)

🤖 Generated with Claude Code

https://claude.ai/code/session_01UtYgc8YdMSybmCmTPNRZQS

Adds a section to the Showing Paywalls overview explaining the new
fire-and-forget track() method: a thin alias of register/registerPlacement
with no paywall handler and no feature closure, for sending Superwall every
analytics event uncapped and free and querying it back via the Query API.
Clarifies when to use track (pure analytics) vs register (gate a feature or
present a paywall). Augments existing register/paywall content; nothing removed.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 27, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
superwall-docs c613dcb Jun 28 2026, 07:39 PM

@claude claude Bot changed the title docs: introduce track() as an analytics-only alias of register docs: position register as the analytics/event-tracking primitive Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant