SDK data guide

Data Collection Guide

A plain-language guide to what the Zero to Studio SDK sends, what public forms collect, and what developers should never send.

Effective
June 4, 2026
Last updated
June 4, 2026

SDK quick reference

  • The browser SDK can automatically send page_view when initialized on the web, unless autoPageView is disabled.
  • The SDK creates anonymous and session IDs for returning-user context.
  • SDK payloads include project id or publishable project key, event type, platform, anonymous id, session id, page URL, screen name, and event properties.
  • Event properties are limited to 8KB after JSON serialization.
  • The server accepts only seven V1 event types.

Accepted event types

  • page_view: a web page view or route view.
  • app_open: an app open signal.
  • screen_view: a mobile or app screen view.
  • cashflow: a payment or sale signal sent after success.
  • feedback_submit: a feedback message and optional rating.
  • waitlist_signup: a waitlist signup.
  • beta_signup: a beta tester request.

Fields the SDK may add

  • anonymousId stored in localStorage.
  • sessionId stored in sessionStorage.
  • pageUrl from the current browser location for web events.
  • title from the current document title for page views.
  • ztsContext with SDK version, visit count, usage event count, active seconds, user tier, and returning-user flag.
  • Attribution context when available from the page URL.

Public form collection

Public feedback, waitlist, and beta forms collect only the fields shown in the form, such as email, name, optional message, feedback message, rating, source, and phase.

These collection actions are not direct database writes from the browser. They go through controlled API routes and validation.

Safe examples

Prefer small, descriptive properties that explain product behavior without exposing private content.

Safe product signal
void ZeroToStudio.track("screen_view", {
  screen: "pricing",
  source: "app_nav",
  plan: "starter"
});
Safe payment signal after success
void ZeroToStudio.cashflow({
  amount: 29,
  currency: "USD",
  product: "Pro plan",
  type: "subscription",
  source: "stripe"
});
Safe feedback signal
void ZeroToStudio.feedback({
  message: "The onboarding step was confusing.",
  rating: 3,
  source: "in_app_feedback"
});

Do not send

Avoid raw form values, secrets, message bodies, payment credentials, or sensitive profile data.

Unsafe event properties
void ZeroToStudio.track("page_view", {
  password: form.password.value,
  cardNumber: checkout.cardNumber,
  privateMessage: thread.fullText,
  exactLocation: user.gpsCoordinates
});

Developer checklist before launch

  • Review every track, feedback, waitlist, beta, and cashflow call before shipping.
  • Send stable IDs only when you have a valid reason and proper user notice.
  • Keep event properties small and purposeful.
  • Disable autoPageView for sensitive pre-launch flows or pages where a page URL should not be collected.
  • Keep your own privacy policy aligned with the data you send to Zero to Studio.