← Back to Dimensions

Registration Type

ConversionRetail

Categorises the method, pathway, or account model used when a user completes registration or sign-up. Typical values include email, social login, SSO, phone, invite-only, guest-to-account, free trial, paid account, provider referral, or offline-assisted registration. This dimension is used to compare conversion quality, onboarding performance, and downstream retention by registration pathway.

Business Use Case

Growth and product teams compare conversion rate, activation rate, and 90-day retention for users who registered via email versus social:google versus sso:okta to determine which registration pathways drive the highest quality users and where onboarding friction exists.

Business Criticality

High

Journey / Navigation Area

Digital Analytics

Scope

User

Formula

Derived from the registration submission context using a prioritised mapping of identity method and registration source. Example logic: CASE WHEN sso_provider IS NOT NULL THEN CONCAT('sso:', LOWER(sso_provider)) WHEN social_provider IS NOT NULL THEN CONCAT('social:', LOWER(social_provider)) WHEN phone_verified = TRUE THEN 'phone' WHEN guest_conversion = TRUE THEN 'guest-to-account' WHEN invite_code IS NOT NULL THEN 'invite' WHEN registration_channel = 'offline' THEN 'offline-assisted' ELSE 'email' END

Calculation Notes

1️⃣ Capture on definitive registration completion event. 2️⃣ Standardise values to controlled taxonomy and lowercase format. 3️⃣ Avoid mixing provider and method unless intentionally designed. 4️⃣ Persist user-scoped property after successful registration; retain event-scoped value for auditability. 5️⃣ Do not use raw email domains or identifiers; align guest-to-account logic with merge rules.

Technical Details

Data Typestring
Lookback WindowEvent, Session, User, Time based - Daily/Monthly/Yearly

Events

PlatformEvent
Google Analytics 4registration_start registration_complete
Adoberegistration_start registration_complete

Data Mappings

W3 Data Layer
{
  "event": "user_registration",
  "registration": {
    "type": "email",
    "method": "email_password",
    "provider": null,
    "guestConversion": false,
    "inviteCodeApplied": false
  }
}
GA4 Data Layer
{
  "event": "sign_up",
  "registration_type": "email",
  "registration_method": "email_password",
  "registration_provider": null,
  "guest_conversion": false,
  "invite_code_applied": false
}
Adobe Client Data Layer
{
  "event": "user_registration",
  "xdm": {
    "eventType": "web.webinteraction.linkClicks",
    "registration": {
      "type": "email",
      "method": "email_password",
      "provider": null,
      "guestConversion": false,
      "inviteCodeApplied": false
    }
  },
  "data": {
    "__adobe": {
      "analytics": {
        "eVar12": "email"
      }
    }
  }
}
XDM Mapping
{
  "event": "user_registration",
  "xdm": {
    "eventType": "web.webinteraction.linkClicks",
    "registration": {
      "type": "email",
      "method": "email_password",
      "provider": null,
      "guestConversion": false,
      "inviteCodeApplied": false
    }
  },
  "data": {
    "__adobe": {
      "analytics": {
        "eVar12": "email"
      }
    }
  }
}

SQL Queries

Google Analytics 4 (BigQuery)
SELECT user_pseudo_id, user_id, event_timestamp, CASE WHEN LOWER(COALESCE((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'sso_provider'), '')) <> '' THEN CONCAT('sso:', LOWER((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'sso_provider'))) WHEN LOWER(COALESCE((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'social_provider'), '')) <> '' THEN CONCAT('social:', LOWER((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'social_provider'))) WHEN COALESCE((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'phone_verified'), 0) = 1 THEN 'phone' WHEN COALESCE((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'guest_conversion'), 0) = 1 THEN 'guest-to-account' WHEN (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'invite_code') IS NOT NULL THEN 'invite' WHEN LOWER(COALESCE((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'registration_channel'), '')) = 'offline' THEN 'offline-assisted' ELSE 'email' END AS registration_type FROM `project.dataset.raw_events` WHERE event_name IN ('sign_up', 'complete_registration', 'account_created')
Adobe Experience Platform (AEP Query Service)
SELECT identityMap.ECID[0].id AS mcid, eventTimestamp AS event_timestamp, CASE WHEN LOWER(COALESCE(_experience.analytics.customDimensions.eVars.eVar1, '')) <> '' THEN CONCAT('sso:', LOWER(_experience.analytics.customDimensions.eVars.eVar1)) WHEN LOWER(COALESCE(_experience.analytics.customDimensions.eVars.eVar2, '')) <> '' THEN CONCAT('social:', LOWER(_experience.analytics.customDimensions.eVars.eVar2)) WHEN COALESCE(_experience.analytics.customDimensions.eVars.eVar3, FALSE) = TRUE THEN 'phone' WHEN COALESCE(_experience.analytics.customDimensions.eVars.eVar4, FALSE) = TRUE THEN 'guest-to-account' WHEN _experience.analytics.customDimensions.eVars.eVar5 IS NOT NULL THEN 'invite' WHEN LOWER(COALESCE(_experience.analytics.customDimensions.eVars.eVar6, '')) = 'offline' THEN 'offline-assisted' ELSE 'email' END AS registration_type FROM xdmExperienceEvent WHERE eventType IN ('commerce.purchases', 'commerce.registration', 'commerce.accountCreation')

Source Data

Digital Analytics, CRM, Identity Provider, Business Intelligence

Dependencies

Prerequisite: List the dependencies required for this Dimension

Events:

sign_upcomplete_registration

Report Attributes

Dimensions: Registration type, Registration provider, Device category, Source/Medium, Landing page Metrics: Registrations, Registration conversion rate, Activation rate, Revenue per registered user KPIs: Cost per registration, Retention rate

Segment Eligibility

True

Governance

Data SensitivityInternal

Derived Dimensions

Governance

Created byswapnamagantius
Created on4/28/2026
Last modified bydevyendarm
Last modified on6/3/2026
StatusPUBLISHED

GitHub

View related Pull Requestcatalog/dimensions/registration-type.yml

Community Discussion