Skip to main content

Identifiers

Every user in your request must include at least one primary identifier so RevBridge can link events to the correct customer profile.

Primary identifiers

At least one of these is required per user:
IdentifierTypeDescription
user_idstringYour internal user or customer ID
emailstringThe user’s email address
phone_numberstringPhone number in E.164 format (e.g., +5511999887766)
anon_idstringAn anonymous identifier for users who haven’t signed up yet
If none of these four identifiers are provided, the user will be rejected with a validation error.

Additional identifiers

You can also include device and advertising identifiers:
IdentifierTypeDescription
idfastringApple Identifier for Advertisers
adidstringGoogle Advertising ID

Identity resolution

RevBridge uses deterministic identity resolution to match events to customer profiles. When you send an event with identifiers, the system:
  1. Looks for an existing profile that matches any of the provided identifiers.
  2. If a match is found, the event is linked to that profile, and any new identifiers are merged.
  3. If no match exists, a new profile is automatically created.
Providing multiple identifiers (e.g., both email and user_id) improves matching accuracy. When a user logs in and you know both their anonymous ID and their real identity, send both to merge the profiles.

Example: Merging anonymous and known users

{
  "users": [
    {
      "identifiers": {
        "anon_id": "device_abc123",
        "user_id": "usr_001",
        "email": "jane@example.com"
      },
      "events": [
        { "event_name": "login" }
      ]
    }
  ]
}
By including the anon_id alongside the authenticated identifiers, RevBridge links the anonymous browsing history to the known customer profile.

User profile fields

Beyond identifiers, you can send profile attributes in the identifiers object. These fields are attached to the customer profile and can be used for segmentation and personalization.

Personal information

FieldTypeDescription
first_namestringFirst name
last_namestringLast name
genderstringGender
birthdaystringDate of birth (e.g., 1990-05-20)
agenumberAge (must be a numeric value)
languagestringPreferred language (e.g., pt-BR, en-US)
timezonestringIANA timezone (e.g., America/Sao_Paulo)

Location

FieldTypeDescription
citystringCity name
countrystringISO 3166-1 country code (e.g., BR, US)

Technical context

FieldTypeDescription
platformstringPlatform (e.g., web, ios, android)
ip_addressstringUser’s IP address
user_agentstringBrowser or app user agent string
carrierstringMobile carrier
device_modelstringDevice model (e.g., iPhone 15 Pro)
os_versionstringOperating system version
app_versionstringYour application version
RevBridge tracks channel-level consent to ensure campaigns only reach users who have opted in. Send these as part of the identifiers object.
FieldTypeDescription
email_opt_inbooleanUser has opted in to receive emails
sms_opt_inbooleanUser has opted in to receive SMS
whatsapp_opt_inbooleanUser has opted in to receive WhatsApp messages
rcs_opt_inbooleanUser has opted in to receive RCS messages
web_push_opt_inbooleanUser has opted in to web push notifications
mobile_push_opt_inbooleanUser has opted in to mobile push notifications
gdpr_consentbooleanUser has given GDPR consent
Send consent flags whenever they change — for example, when a user subscribes to your newsletter or updates their communication preferences.

Custom attributes

Any fields in the identifiers object that are not listed above are stored as custom attributes on the user profile. This lets you attach any business-specific data.
{
  "identifiers": {
    "email": "jane@example.com",
    "user_id": "usr_001",
    "first_name": "Jane",
    "loyalty_tier": "gold",
    "company": "Acme Inc",
    "signup_source": "google_ads"
  },
  "events": [
    { "event_name": "purchase", "revenue": 59.90 }
  ]
}

Complete example

A request with full profile data, consent flags, and custom attributes:
{
  "users": [
    {
      "identifiers": {
        "user_id": "usr_001",
        "email": "jane@example.com",
        "phone_number": "+5511999887766",
        "first_name": "Jane",
        "last_name": "Smith",
        "gender": "female",
        "birthday": "1992-03-15",
        "age": 33,
        "language": "pt-BR",
        "timezone": "America/Sao_Paulo",
        "city": "São Paulo",
        "country": "BR",
        "platform": "web",
        "email_opt_in": true,
        "sms_opt_in": true,
        "whatsapp_opt_in": false,
        "loyalty_tier": "gold"
      },
      "events": [
        {
          "event_name": "purchase",
          "timestamp": "2026-01-15T14:30:00Z",
          "revenue": 259.90,
          "currency": "BRL",
          "order_id": "ORD-12345"
        }
      ]
    }
  ]
}