Skip to content

feat(analytics): Interceptor Usage Reports instrumentation (RQ-3644 Task 3) [EPIC / stacked-PR base]#84

Draft
wrongsahil wants to merge 2 commits into
masterfrom
feat/rq-3644-usage-reports
Draft

feat(analytics): Interceptor Usage Reports instrumentation (RQ-3644 Task 3) [EPIC / stacked-PR base]#84
wrongsahil wants to merge 2 commits into
masterfrom
feat/rq-3644-usage-reports

Conversation

@wrongsahil

Copy link
Copy Markdown
Member

Interceptor → BrowserStack Usage Reports instrumentation (RQ-3644, Task 3)

Epic rollup for the Interceptor analytics instrumentation that lets BrowserStack Usage Reports attribute Requestly Interceptor usage per group / user. Sibling to the API Client track (Task 2, requestly-api-client).

This is the stacked-PR base. Each 3.x subtask PR targets this branch and merges down into it; this branch merges to master last.

Attribution model (key decision)

Group is a property of the user, not the workspace. Source = the user's BS-linked billing team browserstackGroupId (1:1 with browserstack-<groupId>, globally available via useBillingTeamsListener). sub_group_id is not consumed by Interceptor. Full rationale + evidence in the design doc added by this PR (docs/superpowers/specs/2026-07-17-interceptor-usage-reports-design.md).

Planned stack

Subtask Ticket What
3.1 RQ-4675 group_id onto every event — first stacked PR
3.2 RQ-4676 sharedList_updated event
3.3 RQ-4677 explicit product_name
3.4 RQ-4678 reconcile extension-popup rule_toggled
3.5 RQ-4679 super_user_id staff-impersonation flag
3.6 RQ-4680 confirm/document EDS→BigQuery sink
3.7 RQ-4681 browserstack_user_id coverage
3.8 RQ-4682 personal-workspace attribution decision

Out of scope

  • API Client track (Task 2) — separate repo.
  • Verification _qa rig — do-not-merge draft (per RQ-4684 / API Client #3482).

🤖 Generated with Claude Code

…44 Task 3)

Design spec for the Interceptor analytics instrumentation that lets
BrowserStack Usage Reports attribute Interceptor usage per group/user.
Seeds the stacked-PR base branch for subtasks 3.1–3.8 (RQ-4675–4682).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…(RQ-4675)

group_id flows the same way as browserstack_user_id: a top-level data.* field
emitted in the requestly-cloud webapp eds.ts overlay (which overwrites this
repo's modules/analytics via patch.sh), NOT in event_details. This repo only
exposes window.currentlyActiveBrowserstackGroupId (selector + hook); the emit
half is requestly-cloud PR #861.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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