On this page

Exposures Without Assignments

The Exposures without Assignments chart appears in the Diagnostics card. The chart shows the cumulative number of unique users who triggered an exposure event without a corresponding assignment event each day.

If a large number or percentage of users appear in the chart, interpret your experiment results carefully. Investigate what happens if someone gets exposed to the experiment when they shouldn't:

  • Is the experience bad?
  • Can the user view the experience?
  • What does it mean if a user can view both experiments when they're mutually exclusive?

Exposure without assignment can also affect future experiments, so investigate and fix the issue.

This chart doesn't appear if you selected the assignment event as the exposure event, or if you're using local evaluation.

Sometimes Amplitude delays the exposure event and sends it on a different day than the assignment event. For example, Amplitude sends the assignment event today and the exposure event tomorrow. An issue exists if, between the assignment and the exposure events, the user's properties change in a way that affects whether they should be targeted. Otherwise, ignore this warning.

Causes

A significant number of users in the Exposures without Assignments chart can come from a few scenarios:

  • Identity mismatch between assignment and exposure.
    • The user ID and device ID are incorrect, switched, or missing on either assignment or exposure. For example, sending the device ID as the user ID or vice versa.
  • Account switching on the same device.
    • If a real user has multiple accounts on the same device, and you don't call fetch on login or logout, the value that variant() accesses triggers an exposure for the new user without an assignment event. Re-call fetch() whenever the user identity changes.
  • Exposures for fallback variants.
    • If you manually track exposure events, don't track exposure events for fallback or default variant values. For example, if a user doesn't get assigned a variant for an experiment and you show the user the control, don't track an exposure event with the variant value control for that user.

Debugging

To debug exposure without assignment, open the chart in analytics and view user streams. Common problems include:

  1. Users who only have assignment or exposure events. This issue likely comes from an identity mismatch between assignment (fetch()) and the exposure tracked through analytics.
  2. User login followed by exposure events without an assignment event. This issue likely comes from account switching on the same device. Use user lookup with the device ID to determine whether multiple logged-in users share the same device. If a user has multiple accounts on the same device, calls fetch(), signs out, signs in to another account, and then calls variant(), this pattern occurs. Re-call fetch() whenever the user identity changes.

Problems with your experiment

  • Users can get exposed to the experiment when they don't meet the rule-based targeting criteria. This happens because Amplitude checks the rule-based targeting on the fetch() call.
  • Users can get exposed to both experiments even though the experiments are mutually exclusive.

Was this helpful?