Skip to content

Clarify difference between flag prerequisites and user property targe…#1281

Merged
JeffScattini-amplitude merged 3 commits intomainfrom
DOC-419
Jan 14, 2026
Merged

Clarify difference between flag prerequisites and user property targe…#1281
JeffScattini-amplitude merged 3 commits intomainfrom
DOC-419

Conversation

@JeffScattini-amplitude
Copy link
Copy Markdown
Collaborator

@JeffScattini-amplitude JeffScattini-amplitude commented Dec 16, 2025

…ting

Adds a new section comparing flag prerequisites with targeting based on [Experiment] user properties. Explains timing considerations, dependency tracking, and provides a table of when to use each approach.

Resolves DOC-419


Note

Introduces guidance contrasting flag prerequisites with targeting based on [Experiment] user properties, and tightens evaluation step wording.

  • Adds "Prerequisites compared to user property targeting" section explaining how [Experiment] <flag_key> properties can be used in targeting, with limitations (timing, lack of dependency visibility, potential inconsistency).
  • Documents advantages of formal prerequisites (sequenced evaluation, visible dependencies, consistent bucketing, protected changes).
  • Includes a concise "When to use each approach" table mapping common use cases to Flag prerequisites vs User property targeting.
  • Minor copy edits to the evaluation flow steps for clarity (cohort check, dependency evaluation, then flag evaluation).

Written by Cursor Bugbot for commit 5f69429. This will update automatically on new commits. Configure here.

…ting

Adds a new section comparing flag prerequisites with targeting based on
[Experiment] user properties. Explains timing considerations, dependency
tracking, and provides a table of when to use each approach.

Resolves DOC-419
@vercel
Copy link
Copy Markdown

vercel Bot commented Dec 16, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
amplitude-docs Ready Ready Preview Jan 14, 2026 7:14pm

@markzegarelli markzegarelli self-requested a review December 16, 2025 19:20
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment @cursor review or bugbot run to trigger another review on this PR


**Limitations:**

- **Timing issues**: The `[Experiment]` user property is set when the assignment or exposure event is ingested. If you evaluate a dependent flag before this property syncs, the user may not match the targeting rule.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Passive voice in timing issues explanation (Bugbot Rules)

The sentence "The [Experiment] user property is set when the assignment or exposure event is ingested" uses passive voice ("is set", "is ingested"). Active voice would be clearer, such as "Amplitude sets the [Experiment] user property when it ingests the assignment or exposure event."

Fix in Cursor Fix in Web


**Advantages:**

- **Evaluated together**: Prerequisites are evaluated in sequence during a single evaluation call, eliminating timing issues.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Passive voice in evaluated together bullet point (Bugbot Rules)

The sentence "Prerequisites are evaluated in sequence during a single evaluation call" uses passive voice ("are evaluated"). Active voice would be clearer, such as "Amplitude evaluates prerequisites in sequence during a single evaluation call."

Fix in Cursor Fix in Web


| Use case | Recommended approach |
|----------|---------------------|
| Users must be assigned to Flag-A before seeing Flag-B | Flag prerequisites |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Passive voice in table use cases (Bugbot Rules)

The table contains passive voice constructions: "Users must be assigned to Flag-A" (line 95) and "users who were exposed to a flag" (line 98). Consider active alternatives like "Assign users to Flag-A before they see Flag-B" and "Target users you exposed to a flag days or weeks ago."

Additional Locations (1)

Fix in Cursor Fix in Web

Comment thread content/collections/advanced-techniques/en/flag-prerequisites.md
markzegarelli
markzegarelli previously approved these changes Dec 16, 2025
emetelka1
emetelka1 previously approved these changes Dec 16, 2025
Copy link
Copy Markdown
Contributor

@emetelka1 emetelka1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@JeffScattini-amplitude JeffScattini-amplitude merged commit c09f264 into main Jan 14, 2026
3 of 4 checks passed

**Advantages:**

- **Evaluated together**: Amplitude evaluates prerequisites in sequence during a single evaluation call, eliminating timing issues.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passive voice in bold label violates style guide

Medium Severity · Bugbot Rules

The bold label **Evaluated together** uses passive voice construction. The implied full phrase is "Prerequisites are evaluated together" which violates the Active Voice rule (CRITICAL priority). An active voice alternative like **Single evaluation** or **Evaluates in sequence** would align with the style guide.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants