feat: add curator-note tracking (has_curator_note + tapped/clicked events)#733
Draft
MounirDhahri wants to merge 1 commit into
Draft
feat: add curator-note tracking (has_curator_note + tapped/clicked events)#733MounirDhahri wants to merge 1 commit into
MounirDhahri wants to merge 1 commit into
Conversation
…ked events) Support analytics for the curator's note feature on marketing collections: - Add optional `has_curator_note?: boolean` to the artwork tap/click events so we can tell whether a tapped/clicked artwork carried a curator note: TappedArtworkGroup, TappedMainArtworkGrid (iOS), ClickedArtworkGroup, ClickedMainArtworkGrid (web). - Add new events for tapping/clicking the note itself: TappedCuratorNote (iOS) + ClickedCuratorNote (web), with matching ActionType members, imports, and Event union entries. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X2iHtPiKHN91ghgcJWyJjC
MounirDhahri
pushed a commit
to artsy/eigen
that referenced
this pull request
Jul 16, 2026
- Gate CollectorNote behind the AREnableCuratorNotes Echo feature flag (added to features.ts; needs registering on echo.artsy.net + `update-echo`). - Track a TappedCuratorNote event when the note label is tapped (fired from ArtworkGridItem and ArtworkRailCardMeta via a new CollectorNote `onTap`). - Add has_curator_note boolean to the artwork tap events: TappedMainArtworkGrid (grid) and TappedArtworkGroup (CollectionsByCategory rail), so we can compare taps on artworks with vs. without a note. Depends on the cohesion additions (artsy/cohesion#733); the new symbols (TappedCuratorNote, has_curator_note, ActionType.tappedCuratorNote) type-check once @artsy/cohesion is published and bumped here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X2iHtPiKHN91ghgcJWyJjC
MounirDhahri
pushed a commit
to artsy/force
that referenced
this pull request
Jul 16, 2026
- Gate CuratorNote behind the `curators-notes` Unleash flag (useFlag). The flag must be created in the Unleash dashboard; confirm the exact name/prefix with the owning team. - Track a ClickedCuratorNote event when the note is clicked (fired from CuratorNote using useAnalyticsContext + the artwork id/slug threaded from Details; added `slug` to Details_artwork). - Add has_curator_note boolean to the artwork click events: ClickedMainArtworkGrid (collection page grid, threaded via ArtworkGrid's onBrickClick) and ClickedArtworkGroup (HomeEmergingPicksArtworksRail). Depends on the cohesion additions (artsy/cohesion#733); the new symbols (ClickedCuratorNote, has_curator_note, ActionType.clickedCuratorNote) type-check once @artsy/cohesion is published and bumped here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X2iHtPiKHN91ghgcJWyJjC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Analytics schema for the curator's note feature on marketing collections (eigen artsy/eigen#13770, force artsy/force#17490).
1.
has_curator_note?: booleanon the artwork tap/click events — so we can tell whether a tapped/clicked artwork carried a curator note (to compare performance of artworks with vs. without notes):TappedArtworkGroup,TappedMainArtworkGrid(iOS / eigen)ClickedArtworkGroup,ClickedMainArtworkGrid(web / force)2. New events for tapping/clicking the note itself (opens the sheet/dialog):
TappedCuratorNote(iOS / eigen) +ActionType.tappedCuratorNoteClickedCuratorNote(web / force) +ActionType.clickedCuratorNoteEach carries
context_module, the collection ascontext_*_owner_*, and the artwork asartwork_id/artwork_slug.All new fields are optional and follow the existing snake_case convention; the new events mirror the standalone-event pattern (e.g.
TappedAskSpecialist). Wired into theActionTypeenum, the import block, and theEventunion insrc/Schema/Events/index.ts.Consumers
Once this is published (canary or released) and eigen/force bump
@artsy/cohesion, they'll reference these to:has_curator_noteon the artwork tap/click payloads, andTappedCuratorNote/ClickedCuratorNotewhen the note badge is tapped/clicked.Not merging yet
Draft — opened for review, not to be merged. The consuming eigen/force PRs reference these symbols and will type-check once this publishes and they bump the dependency.
CI note
Authored without
node_modules, soyarn type-check/yarn lint/yarn testwere not run locally — please rely on CI. In particularyarn lint(sort-keys-fix / simple-import-sort) may reorder the new enum member / import / union entries; I placed them in best-guess alphabetical position.🤖 Generated with Claude Code
Generated by Claude Code