Skip to content

Commit 10ebca7

Browse files
authored
Merge pull request #28327 from guardian/ab/highlights-ab-test
Highlights client side multivariant test
2 parents c2a8f19 + 8d10cf0 commit 10ebca7

File tree

3 files changed

+48
-1
lines changed

3 files changed

+48
-1
lines changed

common/app/conf/switches/ABTestSwitches.scala

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,15 @@ trait ABTestSwitches {
5959
exposeClientSide = true,
6060
highImpact = false,
6161
)
62+
63+
Switch(
64+
ABTests,
65+
"ab-personalised-highlights",
66+
"Allow personalised highlights to be shown on the front page",
67+
owners = Seq(Owner.withEmail("[email protected]")),
68+
safeState = Off,
69+
sellByDate = Some(LocalDate.of(2025, 12, 4)),
70+
exposeClientSide = true,
71+
highImpact = false,
72+
)
6273
}

static/src/javascripts/projects/common/modules/experiments/ab-tests.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { ABTest } from '@guardian/ab-core';
2+
import {personalisedHighlights} from "common/modules/experiments/tests/personalised-highlights";
23
import { auxiaSignInGate } from './tests/auxia-sign-in-gate';
34
import { remoteRRHeaderLinksTest } from './tests/remote-header-test';
45
import { signInGateMainControl } from './tests/sign-in-gate-main-control';
@@ -10,5 +11,6 @@ export const concurrentTests: readonly ABTest[] = [
1011
signInGateMainVariant,
1112
signInGateMainControl,
1213
remoteRRHeaderLinksTest,
13-
auxiaSignInGate
14+
auxiaSignInGate,
15+
personalisedHighlights
1416
];
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
export const personalisedHighlights = {
3+
id: 'PersonalisedHighlights',
4+
start: '2025-10-29',
5+
expiry: '2025-12-04',
6+
author: 'Anna Beddow',
7+
description: 'Allow user behaviour to personalise the ordering of cards in the highlights container.',
8+
audience: 0,
9+
audienceOffset: 0,
10+
successMeasure: '',
11+
audienceCriteria: '',
12+
idealOutcome: '',
13+
showForSensitive: true,
14+
canRun: () => true,
15+
variants: [
16+
{
17+
id: 'control',
18+
test: () => {},
19+
},
20+
{
21+
id: 'click-tracking',
22+
test: () => {},
23+
},
24+
{
25+
id: 'view-tracking',
26+
test: () => {}
27+
},
28+
{
29+
id: 'click-and-view-tracking',
30+
test: () => {},
31+
},
32+
],
33+
};
34+

0 commit comments

Comments
 (0)