Skip to content

Standard events

Audience: Engineers, technical integrators

Standard events (the general.core preset) are auto-enabled for every product — no subscription needed. They cover user lifecycle, verification & consent, and app lifecycle. For gaming-specific events see iGaming events.

Every event also carries the base properties (event, timestamp, identity.client_user_id, context.ip_address). The tables below list only the fields specific to each event.

Interactive explorer

Pick an event to see its fields and a ready-to-send envelope. Toggle "Required only", then copy as JSON or cURL.

POST/v3/s2s/eventregister
FieldTypeKeyDescription
eventStringRequiredFixed `register`. Must be a registered event name.
timestampNumberRequiredUTC epoch milliseconds (13 digits).
identity.client_user_idStringRequiredUnique user ID in your system. Identity needs at least one of client_user_id / anonymous_id.
identity.click_idStringSuggestedAd click ID for attribution.
identity.anonymous_idStringOptionalPre-registration anonymous ID; used for app-lifecycle stitching before client_user_id exists.
context.ip_addressStringRequiredEnd-user IP (IPv4 or IPv6).
context.user_agentStringSuggestedBrowser / device user-agent string.
context.privacy.email_hashStringSuggestedSHA-256 of email (lowercased & trimmed). Never plaintext. SHA-256
context.privacy.phone_hashStringSuggestedSHA-256 of E.164-normalized phone. Never plaintext. SHA-256
context.privacy.marketing_consentBooleanSuggestedWhether the user consents to marketing.
context.attribution.install_sourceStringSuggestedInstall / acquisition source.
context.phone_country_codeStringSuggestedE.164 country calling code (e.g. +55).
context.consent_timestampNumberSuggestedLast consent change, UTC ms.
context.attribution.utm_sourceStringSuggestedUTM source.
context.attribution.utm_mediumStringSuggestedUTM medium.
context.attribution.utm_campaignStringSuggestedUTM campaign.
context.attribution.utm_contentStringSuggestedUTM content.
context.attribution.utm_termStringSuggestedUTM term.
Request envelope
{
  "event": "register",
  "timestamp": 1718280000000,
  "identity": {
    "client_user_id": "user_001",
    "click_id": "RS_clk_998877",
    "anonymous_id": "anon_7f3a"
  },
  "context": {
    "ip_address": "203.0.113.1",
    "user_agent": "Mozilla/5.0 (...)",
    "privacy": {
      "email_hash": "3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b",
      "phone_hash": "3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b",
      "marketing_consent": true
    },
    "attribution": {
      "install_source": "google_ads",
      "utm_source": "google",
      "utm_medium": "cpc",
      "utm_campaign": "summer_promo",
      "utm_content": "banner_a",
      "utm_term": "slots"
    },
    "phone_country_code": "+55",
    "consent_timestamp": 1718280000000
  }
}

User Lifecycle

register

A new user account is created.

FieldTypeRequirementDescription
context.user_agentStringSuggestedBrowser / device user-agent string.
context.privacy.email_hashStringSuggestedSHA-256 of email (lowercased & trimmed). Never plaintext.
context.privacy.phone_hashStringSuggestedSHA-256 of E.164-normalized phone. Never plaintext.
context.privacy.marketing_consentBooleanSuggestedWhether the user consents to marketing.
context.attribution.install_sourceStringSuggestedInstall / acquisition source.
context.phone_country_codeStringSuggestedE.164 country calling code (e.g. +55).
context.consent_timestampNumberSuggestedLast consent change, UTC ms.
context.attribution.utm_sourceStringSuggestedUTM source.
context.attribution.utm_mediumStringSuggestedUTM medium.
context.attribution.utm_campaignStringSuggestedUTM campaign.
context.attribution.utm_contentStringSuggestedUTM content.
context.attribution.utm_termStringSuggestedUTM term.

referral_register

A registration attributed to a referral — carries the referrer's user id.

FieldTypeRequirementDescription
context.referral_client_user_idStringSuggestedThe referrer's client_user_id (the user who referred this registration).

login

A user authenticates into your platform.

FieldTypeRequirementDescription
context.user_agentStringSuggestedBrowser / device user-agent string.

email_verified

FieldTypeRequirementDescription
context.email_hashStringSuggestedSHA-256 of email. Never plaintext.
context.verification_methodStringSuggestedOne of link · otp · magic_link.

phone_verified

FieldTypeRequirementDescription
context.phone_hashStringSuggestedSHA-256 of phone. Never plaintext.
context.phone_country_codeStringSuggestedE.164 country calling code (e.g. +91).
context.verification_methodStringSuggestedPrefer sms_otp · voice_call · whatsapp_otp. (call · whatsapp still accepted but deprecated.)

Send the full state of all four channels each time (including the default consent at signup).

FieldTypeRequirementDescription
context.allow_emailBooleanRequiredConsent to email.
context.allow_smsBooleanRequiredConsent to SMS.
context.allow_pushBooleanRequiredConsent to push.
context.allow_whatsappBooleanRequiredConsent to WhatsApp.
context.update_sourceStringSuggestedOne of signup · settings_page · unsubscribe_link · support · admin.

App Lifecycle

NOTE

App lifecycle events apply to native App / APK advertisers and usually originate from the mobile SDK / MMP. For these events client_user_id (and ip_address on app_install) is downgraded to Suggested, since the user may be anonymous before registering — use identity.anonymous_id instead.

app_install

Fired once when the app is first installed & opened.

FieldTypeRequirementDescription
context.platformStringRequiredOne of ios · android · web.
context.app_versionStringSuggestedApp version on install.
context.attribution.install_sourceStringSuggestedMedia source / channel (from MMP).
context.device_idStringSuggestedDevice identifier.
context.storeStringSuggestedInstall store: app_store · play_store · apk_direct.
context.campaign_idStringSuggestedCampaign ID (from MMP).
context.is_reattributionBooleanSuggestedtrue if reinstall / reattribution.

app_open

Fired on app launch / foreground.

FieldTypeRequirementDescription
context.platformStringRequiredOne of ios · android · web.
context.app_versionStringSuggestedApp version.
context.session_idStringSuggestedSession identifier.
context.is_first_openBooleanSuggestedtrue for first open after install.

app_uninstall

A strong churn signal (MMP detects via push-token expiry).

FieldTypeRequirementDescription
context.platformStringRequiredOne of ios · android · web.
context.app_versionStringSuggestedLast installed version.
context.days_since_installNumberSuggestedDays from install to uninstall.

push_permission_updated

Push reachability / opt-in signal.

FieldTypeRequirementDescription
context.platformStringRequiredOne of ios · android · web.
context.permission_statusStringRequiredOne of granted · denied · provisional · revoked.
context.push_enabledBooleanSuggestedtrue if push permission granted.
context.update_sourceStringSuggestedWhat triggered the change: system_prompt · settings · onboarding.