Skip to Content
FAQ

FAQ

How do I get my API key?

From your project’s settings page at dash.1sygnal.app . Use the public key (pk_...) in the SDK’s init() call — the secret key (sk_...) is for server-to-server calls only and should never ship in client code.

Why didn’t my survey show up?

Check, in order: does the survey’s Trigger match the event you fired, do its Rules pass, and is the user within Cooldown/Daily Cap? See How Triggering Works for the full two-stage check, and Testing Surveys Locally for debug: true to see the actual evaluation in your console instead of guessing.

What’s the difference between event triggering and API targeting?

track() lets a survey’s own trigger rules decide whether to show, based on client-observed events and user traits. The Server API lets your backend target specific users directly, for moments the client never sees (a renewal, a resolved ticket). Targeting adds recipients on top of trigger rules — it doesn’t replace them. See Triggering Surveys from Code for both.

Do I need to call identify() on every session?

Yes — call it as soon as you know who the user is, on every new session, not just the first time. Trigger rules and targeting both key off the current identified state, and a session that never re-identifies is invisible to any rule that reads user traits. See Identity.

What happens to a user’s data before they’re identified?

They’re tracked anonymously under a device/session ID the SDK generates locally. Calling identify() associates a stable user ID with that same activity going forward — it doesn’t discard what was already tracked anonymously. See Identity.

Does the SDK collect personal data automatically?

It collects device, app, network, and screen information as part of normal event tracking, to power targeting and analytics. Whether that requires user-facing consent under GDPR/CCPA/NDPR depends on your own privacy policy and consent flow — the SDK provides consentRequired to gate survey display until your own consent flow completes, but compliance itself is on the integrator. See Privacy & Consent.

Can I customize what a webhook payload contains?

No — the payload shape is fixed per event type. You choose which events an endpoint receives, not which fields. See Webhooks for the full event catalog and payload reference.

Is there feature parity across platforms?

Mostly, with a handful of intentional exceptions (e.g. reset() doesn’t exist on web). See Platform Parity for the complete operation-by-operation and event-by-event table.