Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WORLDSERVICE-418: Optimizely Experiment Lite Site CTA #12557

Draft
wants to merge 11 commits into
base: latest
Choose a base branch
from

Conversation

shayneahchoon
Copy link
Contributor

@shayneahchoon shayneahchoon commented Mar 24, 2025

Resolves JIRA: WORLDSERVICE-418

Summary

Lead branch for lite site Optimizely experiment to test variations of the lite site CTA copy.

Example of experiment working for user:
Screenshot 2025-03-25 at 15 19 55

Example of experiment tracking scrolls:
Screenshot 2025-03-26 at 12 21 50

Example of click tracking:
Screenshot 2025-03-26 at 13 48 41

We've checked that component view events are fired only once the user sees a CTA, events will not be fired for the loading div.

Code changes

  • Added variations to Gahuza service config.
  • Added scroll tracking.
  • Added click tracking.

Developer Checklist

  • UX
    • UX Criteria met (visual UX & screenreader UX)
  • Accessibility
    • Accessibility Acceptance Criteria met
    • Accessibility swarm completed
    • Component Health updated
    • P1 accessibility bugs resolved
    • P2/P3 accessibility bugs planned (if not resolved)
  • Security
    • Security issues addressed
    • Threat Model updated
  • Documentation
    • Docs updated (runbook, READMEs)
  • Testing
    • Feature tested on relevant environments
  • Comms
    • Relevant parties notified of changes

Testing

  • Manual Testing required?
    • Local (Ready-For-Test, Local)
    • Test (Ready-For-Test, Test)
    • Preview (Ready-For-Test, Preview)
    • Live (Ready-For-Test, Live)
  • Manual Testing complete?
    • Local
    • Test
    • Preview
    • Live

Additional Testing Steps

  1. List the steps required to test this PR.

Useful Links

Base automatically changed from 444-lite-site-cta to latest March 25, 2025 11:43
Copy link
Contributor

@eagerterrier eagerterrier left a comment

Choose a reason for hiding this comment

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

T-Shirt-Image-2_1-1

@@ -26,6 +26,7 @@ export interface Translations {
informationPageLink: string;
dataSaving: string;
articleDataSavingLinkText: string;
experiment: Record<string, string>;
Copy link
Contributor

Choose a reason for hiding this comment

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

🎯

@shayneahchoon shayneahchoon marked this pull request as draft March 25, 2025 14:17
@shayneahchoon shayneahchoon force-pushed the WORLDSERVICE-418-lite-cta-optimizely branch from a042d84 to 98e1ab5 Compare March 25, 2025 15:13
@shayneahchoon shayneahchoon changed the title WORLDSERVICE-418: Add experiment labels to config WORLDSERVICE-418: Optimizely Experiment Lite Site CTA Mar 26, 2025
const { enabled: showCTA } = useToggle('liteSiteCTA');
const viewRef = useViewTracker(eventTrackingData);
const titleVariation = useOptimizelyVariation(
OPTIMIZELY_CONFIG.flagKey,
true,
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this boolean param meant to be here?

Copy link
Contributor Author

@shayneahchoon shayneahchoon Mar 27, 2025

Choose a reason for hiding this comment

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

Ohhh, I missed out a param.

<div
css={[
styles.liteCTAContainer,
!titleVariation && styles.displayNone,
Copy link
Contributor

Choose a reason for hiding this comment

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

Heads up (I think) this means that users without JS (and possibly on Opera Mini extreme mode) will not have the displayNone styles removed. The blank fallback will be shown.

Since it's an experiment, we could follow the rationale that if a user is not in the experiment, then we will not show this component. But alternatively, we might want to have a fallback for non-JS users.

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.

5 participants