Understanding and cleaning up user identity in Beamer

Prev Next

Beamer identifies your users from the data your site sends it. When that data changes, or when it was never sent at all, you can end up with the same person recorded as several different users. This article covers how to tell which identifier Beamer holds, how duplicates happen, and what you can do about them.

Which identifier Beamer is using

Beamer identifies a user in this order:

  1. user_id, if your embed script or API sends one. This is your own internal ID for the user and it is the most reliable identifier.

  2. user_email, if no user_id is present.

  3. A browser cookie, if neither is present. A cookie is per browser and per device, so the same person on a laptop and a phone counts as two users.

To see what Beamer holds for a specific person, go to Users and open their record. The profile shows their stored attributes and the segments they match.

How duplicate records happen

The common causes:

  • No user_id is being sent. Beamer falls back to a cookie, so each browser and device creates a separate record.

  • The user_id changes. If your own IDs are regenerated, or a user's record is recreated in your system, Beamer sees a new person.

  • The wrong field is used against the API. beamerId is an identifier Beamer generates internally. It is not your user_id. Addressing PUT /users by beamerId when you mean userId creates a new record on every call.

  • Importing by email while user_id arrives elsewhere. See the CSV import section of the Advanced Segmentation Guide. Both identifiers are required on import for this reason.

Fixing a wrong or missing user_id

Correct the identifier at the source first, in your embed script or your API calls. Until that is right, cleanup will just be undone by the next page load.

Then be aware of what a correction does and does not carry with it: analytics already recorded against the old identity cannot be migrated to the corrected one. Post views, clicks, NPS responses and feedback stay attached to the record that was active when they happened. There is no merge operation that moves them.

If you need historical responses to stay findable under your own ID, send that ID as a custom attribute as well as user_id. Custom attributes can be filtered in the NPS dashboard and appear in the NPS export, which gives you a way to tie old responses back to the right person.

Removing duplicate records

  • One user at a time: go to Settings > Privacy, search for the user, and delete their stored data. This is self-serve and needs no request.

  • Large cleanups: contact our support team. We can remove duplicate records in bulk from our side. We will ask you to confirm your implementation is sending the right identifier first, so that new duplicates are not created as fast as we delete the old ones. Include your Product ID and a description of which records should go.

DELETE /users?beamerId= removes a single record through the API. It is not practical at volume, which is why bulk cleanups go through support.