Skip to content

Report popup step views, starts and completions - #105

Merged
rockwellll merged 1 commit into
mainfrom
popup-step-events
Nov 6, 2026
Merged

rockwellll merged 1 commit into
mainfrom
popup-step-events

Conversation

@rockwellll

@rockwellll rockwellll commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

What it sends

The popup controller reports its steps through Hellotext.track, with popup_id, step_id (the step's data-step-id) and tracked_at:

Action When
popup.step_viewed The dialog shows the step: showInitialState() (automatic or short-link open), open() (bubble click) and showStep() (moving to a step, or returning to one after a cancellation or server errors). The bubble alone, and the completion screen, don't count.
popup.step_started The first input event in one of the step's fields. Focus alone doesn't count.
popup.step_completed In next(), when the step passes validation and the visitor moves on. The last step never sends it: sending the popup completes it, and the server counts the submission.

Each report is sent once per session, popup, step and local day, with a localStorage mark written only when the server accepted it, the same pattern as form.started (#104). A failed report is sent again the next time, and tracking errors never reach the popup.

Release

Release after hellotext/hellotext#6947 is deployed. Before that, the server answers 404 to these actions, so no mark is written and the reports are just sent again later.

Tests

New "step tracking" cases in __tests__/controllers/popup_controller_test.js. The full suite passes locally (1175 tests). docs/popups.md has a new "Step reporting" section. lib and dist are rebuilt from a fresh yarn install --frozen-lockfile.

🤖 Generated with Claude Code

The popup now reports its steps through Hellotext.track, with the popup's
and the step's public ids, for the popup report's per-step funnels:

- popup.step_viewed when the dialog shows a step: when it opens
  automatically or from a short link, after a bubble click, or when the
  visitor reaches or returns to the step. The bubble alone doesn't count.
- popup.step_started on the first input in one of the step's fields.
  Focus alone doesn't count.
- popup.step_completed when the step passes validation and the visitor
  moves on. The last step never reports it: sending the popup completes
  it, and Hellotext counts the submission.

Each report is sent once per session, popup, step and local day. The
daily mark is written only when the server accepted the report, so a
failed one is sent again the next time. Tracking errors never reach the
popup.

Rebuilt lib and dist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-06T18:15:08.153754Z b68e87f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@rockwellll
rockwellll merged commit 21b1683 into main Nov 6, 2026
3 checks passed
@rockwellll
rockwellll deleted the popup-step-events branch November 6, 2026 19:11
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.

1 participant