Skip to content

Specsavers "Design ditt par" -- Data Correction Plan ​

Creative: Specsavers // Design ditt par // Double Fullscreen // 2026 Creative ID: 90991 Campaign period: 2026-04-14 to ongoing Date for analysis: Monday 2026-04-28


Root Cause: Script-Driven Actions ​

The creative uses 4 custom scripts + 1 library script (responsive-video-swap). The 4th script is the root cause of inflated actions and conversation metrics.

How it works ​

Users select glasses and colors via radio buttons (a custom HTML form, not flow choices). On every radio change, script 4 programmatically navigates the flow:

User changes radio button
  -> script clicks ".c15" (Back choice node)
  -> script waits for target choice to appear
  -> script clicks target choice (e.g. ".c18" = Hele_Sun_RX_Blue)

Each glasses/color change = 2 programmatic .click() calls on flow choice nodes. These count as actions and flow events. A user trying multiple combinations generates many actions -- this is correct behavior, each action represents a real user choice of frame + color.

The ready flag (original auto-click fix) ​

javascript
setTimeout(() => { ready = true }, 500);

This 500ms delay prevents the initial default radio values from triggering clicks on load. Before this fix (Apr 14-21), every single impression auto-fired clicks.

Actions rate timeline ​

  • Apr 14-19: Test period, low volume, auto-click bug active but few impressions
  • Apr 20-21: Auto-click bug + high volume = massively inflated (38-69%)
  • Apr 22-23: Bug fixed, ~1.5% action rate (but interacted was broken, so low engagement visible)
  • Apr 24: New publish (goal change) -- actions jumped to ~829%. The publish got actions working properly, so now it reflects real user choices at scale.
  • Apr 25: 1,119.75% actions -- confirms this is the real rate post-fix. Each interacting user tries ~11 combinations on average.

Metrics Status (validated Apr 25) ​

Working correctly now ​

  • Interacted: 0.86% (Apr 25, full day) -- use this as the real baseline, not 0.31% from Apr 24 partial day
  • Started: 0.18% -- consistent
  • Continued: 92.59% of started -- consistent
  • Actions: ~1,119% -- correct, represents programmatic flow clicks from user choices
  • Clickthroughs: 0.42% -- link clicks out to Specsavers
  • Video metrics: W25/50/75/100 all reliable throughout
  • Viewable / Seconds in View: Reliable throughout

Still broken ​

  • Finished Conversation: 0 in report UI. Goal/reachedEnd mechanism does not fire. This is a platform bug to investigate separately.

How to derive Finished Conversation ​

Multiple approaches, all valid:

  1. Go_Back? flow node -- users who completed the full flow (chose frame + color and saw the result)
  2. Any choice click at the end -- all color choice nodes (c18-c35) represent a completed interaction
  3. Clickthroughs -- users who clicked through to Specsavers have definitely "finished" the experience

For client reporting, recommend using Go_Back? flow data as primary "Finished" metric, with clickthroughs as a separate "Converted" metric.


Data Periods and What to Correct ​

Period 1: Apr 14-19 (test/ramp-up, 4,879 impressions) ​

  • Very low volume, no flow data was being recorded
  • Auto-click bug was active but few impressions
  • Approach: These days have impressions and video metrics (plays, watch quartiles, viewable, seconds in view) but NO meaningful conversation/action data
  • For client: Show only video/viewability metrics for these days. Note as "test period" with limited data. Don't estimate conversation metrics -- just show what we have (impressions, viewable, seconds in view, video completion)
  • Key question for Monday: Do these days have viewable/plays data? If yes, show those. If no, they're truly empty test days.

Period 2: Apr 20-21 (auto-click bug, 244,813 impressions) ​

  • High volume but actions/started/continued massively inflated
  • Approach: Estimate corrected values using post-fix baselines
  • Actions baseline: use Apr 25 rate (~11x per interacting user, with ~0.86% interacted)
  • Started/Continued: use post-fix rates (0.18% / 92.6% of started)
  • Video/viewability metrics are correct as-is
  • Finished: estimate from Go_Back? flow data if available, otherwise use post-fix rate

Period 3: Apr 22-23 (post-fix but interacted broken, 238,459 impressions) ​

  • Actions and conversation metrics are correct
  • Interacted = 0 (broken) -- estimate using Apr 25 rate (0.86%)
  • Everything else is reliable

Period 4: Apr 24+ (all working except Finished Conversation) ​

  • All metrics reliable
  • Interacted confirmed working (0.86% on Apr 25)
  • Finished = 0 is a platform bug -- derive from flow data (Go_Back?)
  • Actions rate is high but correct (reflects real user choices)

Monday Checklist ​

Data ​

  • [ ] Pull fresh report Apr 14-27 (will have 3 full post-fix days: Apr 25-27)
  • [ ] Pull daily flow data for Apr 14-27
  • [ ] Verify Apr 14-19 has viewable/plays data (determines if we show those days or mark as test-only)
  • [ ] Extract Go_Back? node impressions per day as "Finished" metric
  • [ ] Extract clickthroughs per day as "Converted" metric

Corrections ​

  • [ ] Use Apr 25-27 as baseline for interacted rate (expect ~0.86%)
  • [ ] Estimate interacted for Apr 14-24 using that baseline
  • [ ] For Apr 20-21: estimate corrected actions using post-fix interacted rate * avg actions per interacting user
  • [ ] For Apr 14-19: only show video/viewability metrics, note as test period
  • [ ] Add Finished (Go_Back?) column from flow data
  • [ ] Add Clickthroughs column

Presentation ​

  • [ ] Decide on final metrics to show client:
    • Reach: Impressions, Viewable Impressions
    • Attention: Seconds/Minutes/Hours in View, avg seconds per viewable impression
    • Video: Plays, W25%, W50%, W75%, W100% (completion rate)
    • Interaction: Interacted (unique users who engaged)
    • Completed experience: Go_Back? (explored product) + Clickthroughs (clicked to Specsavers). Both count as "finished" -- Go_Back means they completed the glasses/color flow, clickthroughs means they converted to the landing page. Some users click through without completing the full flow, which is equally valuable.
    • NOT raw actions (confusing for client, inflated by programmatic flow clicks)
  • [ ] Build final corrected Excel with clean numbers
  • [ ] Write short summary explaining the test period and estimation methodology
  • [ ] Be transparent: "new setup, some metrics needed calibration in the first week"

Platform bug ​

  • [ ] Investigate why goal/reachedEnd doesn't fire (separate from client report)
  • [ ] File as internal bug if confirmed

Internal documentation