Skip to content

Auxia control group#14775

Merged
tomrf1 merged 3 commits into
mainfrom
tf-auxia-control
Nov 4, 2025
Merged

Auxia control group#14775
tomrf1 merged 3 commits into
mainfrom
tf-auxia-control

Conversation

@tomrf1
Copy link
Copy Markdown
Member

@tomrf1 tomrf1 commented Oct 30, 2025

The new requirement:

  1. keep a fixed 5% of the global audience excluded from Auxia (though they can still see gates)
  2. track participation of this 5% in the pageview table, regardless of whether they see gates

The proposed solution:

  • On every page view, put 5% of the audience into a special NoAuxiaSignInGate AB test. This means the page tracks membership of the "test" through ophan. There are no variants in this test, it's just a way to track these browsers.
  • The API call for the sign-in gate includes a flag indicating that the browser is in the NoAuxiaSignInGate test, and it excludes them from Auxia based on this.
  • This would enable us to query the pageview table for browsers in theNoAuxiaSignInGate 5% group using the existing ab_test_array field.

Note - this is separate from the existing logic in SDC that splits the audience between Auxia and the hardcoded gate logic. It's necessary to do this control group client-side so that we can track it in the pageview data.

Implementation

  1. Sends a new boolean flag, isInAuxiaControlGroup, to the SDC endpoint for sign-in gates
  2. Assigns the last 5% of mvt values to a new NoAuxiaSignInGate AB test. This isn't a real AB test, and it only has a 'control' variant. It's a way to select a fixed 5% of browsers for the auxia control group.
  3. Refactors the canShowSignInGatePortal function to make the parameters clearer. It has a lot of parameters, so it now takes an interface CanShowSignInGateProps, which makes calling it cleaner and safer.

There will need to be a change in SDC to exclude users from Auxia if this flag is set.

Testing

Tested locally by changing the mvt cookie and observing the request to SDC.

With an mvt value in the bottom 95% of the range, the flag is set to false:
Screenshot 2025-11-03 at 15 10 31

With an mvt value in the top 5% of the range, the flag is set to true:
Screenshot 2025-11-03 at 15 09 51

The abTestRegister event that we send to ophan includes the new NoAuxiaSignInGate "test":
Screenshot 2025-11-03 at 15 12 56
Note - the existing SignInGateMainControl test here is meaningless and needs to be removed!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Oct 30, 2025

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 3, 2025

@tomrf1 tomrf1 marked this pull request as ready for review November 3, 2025 15:17
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 3, 2025

Hello 👋! When you're ready to run Chromatic, please apply the run_chromatic label to this PR.

You will need to reapply the label each time you want to run Chromatic.

Click here to see the Chromatic project.

@shtukas
Copy link
Copy Markdown
Contributor

shtukas commented Nov 3, 2025

Nice solution to the problem, and hopefully at some point, we will not need to set the mvt value anymore 🙂

@tomrf1 tomrf1 added the run_chromatic Runs chromatic when label is applied label Nov 4, 2025
@github-actions github-actions Bot removed the run_chromatic Runs chromatic when label is applied label Nov 4, 2025
@tomrf1 tomrf1 merged commit 539b99c into main Nov 4, 2025
31 checks passed
@tomrf1 tomrf1 deleted the tf-auxia-control branch November 4, 2025 08:31
@gu-prout
Copy link
Copy Markdown

gu-prout Bot commented Nov 4, 2025

Seen on PROD (merged by @tomrf1 7 minutes and 55 seconds ago) Please check your changes!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants