Identity stitching and resolution

Identity stitching (or identity resolution) is the process of combining customer identifiers across devices and channels into a single, unified profile in Vero.

This ensures you can recognize a user across web, mobile, server, and third-party touchpoints — and message them without creating duplicates.

In this help article we'll walk through the different ways you can "identify" a user (customer) and how you can stitch together data as customers move from device to device.

Identifiers and channel addresses

Each profile must have a single identifier:

  • User Identifier idrequired

..and can have multiple channel addresses:

  • Email address email – optional, but required for sending email
  • Phone number phone_number – optional, required for sending SMS
  • Device tokens (iOS/Android) – optional, required for sending push notifications

Learn more details about the makeup of a user profile

Stitching rules and configuration

Identity stitching rules determine when Vero merges incoming data into an existing profile and when it creates a new one.

By default, Vero only stitches on the id. You can optionally enable different stitching options by going to Settings > Advanced in the Vero 2.0 UI.

To understand how the different matching options work, lets look at two examples:

Example 1: id + email

In this example two profiles have been tracked with the same email address but two different id's.

id, email
1234, support@getvero.com, first_name: Bob
5678, support@getvero.com, first_name: Robert

With this example, here’s how each configuration behaves:

  • Default
    • Behaviour: Profiles are matched only on id. If the id is new, a new profile is always created — even if the email matches another profile.
    • Outcome: Two profiles are created even though they share the same email. id=1234, email=support@getvero.com, first_name=Bob id=5678, email=support@getvero.com, first_name=Robert
    • When to use: Best if your id’s are stable.
  • Option: Match customer via email and update the user’s profile
    • Behaviour: Profiles are matched on id first, and if no match is found, Vero falls back to matching on email. When an email match occurs, the existing profile is updated with the latest properties.
    • Outcome: One profile is created, the second call merges on email. id=1234, email=support@getvero.com, first_name=Robert
    • When to use: Best when email is your most reliable user identifier.
  • Option: Match customer via email and update the user’s profile and id is updated (Available on request - Contact support)
    • Behaviour: Profiles are matched on id, then email. If an email match occurs, the profile is updated — and the id is replaced with the most recent one provided.

    • Outcome: One profile is created, because the last id wins when merging by email.

      id=5678, email=support@getvero.com, first_name=Robert

    • When to use: Use if id's rotate/change.

Example 2: id + Device token

In this example two profiles have been tracked with the same device tokens but two different id's.

id, device_token
1234, token1
5678, token1

With this example, here’s how each configuration behaves:

  • Default
    • Behaviour: Profiles are matched only on id. Device tokens are ignored when deciding whether to merge.

    • Outcome: Two profiles are created even though they share the same device token.

      id=1234, device_token=token1

      id=5678, device_token=token1

    • When to use: Best if your id’s are stable and device tokens may be shared across multiple users.

  • Option: Match customer via device token and update the user’s profile
    • Behaviour: Profiles are matched on id first, and if no match is found, Vero falls back to matching on device tokens. When a token match occurs, the existing profile is updated with the latest properties.

    • Outcome: One profile is created, the second call merges on device token.

      id=1234, device_token=token1

    • When to use: Best when device tokens are the most reliable way to identify a user (e.g. mobile-first apps).

  • Option: Match customer via device token and update the user’s profile and id is updated (Available on request – Contact support)
    • Behaviour: Profiles are matched on id, then device tokens. If a token match occurs, the profile is updated — and the id is replaced with the most recent one provided.

    • Outcome: One profile is created, because the last id wins when merging by device token.

      id=5678, device_token=token1

    • When to use: Use if your system rotates or frequently changes id values, and you want the most recent id reflected in Vero.

Phone numbers

At this time you cannot configure Vero to use the phone_number as a field when stitching profiles together. However, when importing phone numbers, they will always respect the id and email fields when stitching as per the above descriptions.

Authors

  • Chris Hexton
    CEO and Co-Founder