Repository navigation
✨ [Shopify] Add a RUM SDK for Shopify Web Pixel app extensions - #5108
Draft
BeltranBulbarellaDD wants to merge 24 commits into
Draft
BeltranBulbarellaDD wants to merge 24 commits into
BeltranBulbarellaDD wants to merge 24 commits into
Conversation
Bundles Sizes Evolution
|
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 1 Pipeline job failed
ℹ️ InfoNo other issues found (see more)🧪 All tests passed 🎯 Code Coverage (details) Useful? React with 👍 / 👎 This comment will be updated automatically if new data arrives.🔗 Commit SHA: a1e669c | Docs | View more details | Give us feedback! |
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BeltranBulbarellaDD
force-pushed
the
beltran.bulbarella/shopify-web-pixel
branch
from
October 5, 2026 09:44
4db1ff5 to
be29705
Compare
- Type raw events with DefaultRumEventAttributes, derived from the generated RUM event schema, instead of a hand-written RawEvent union - Type the view loading type with ViewLoadingType, exported as a type from browser-rum-core - Use error source and handling literals instead of importing ErrorSource and ErrorHandling - Only send the anonymous id when trackAnonymousUser is enabled, like the RUM SDK user context Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Move the Shopify API types, configuration schema, consent mapping, checkout context and RUM event builders out of startWebPixelRum, so it only keeps the collection flow. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Add an internal `sessionCookieAccess` init option and a `CookieApi.CUSTOM` cookie API, so integrations running where neither `document.cookie` nor the Cookie Store API is available (e.g. a Shopify Web Pixel worker) can persist the session in the top frame cookies. When provided, `selectCookieStrategy` only probes this access, and the legacy `_dd_s` cookie migration (read through `document.cookie`) is skipped. `buildCookieString` is extracted from `setCookie` so such accesses can format cookies the same way. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2 of 5 tasks
- Default workers to cookie persistence when a custom cookie access is provided, instead of memory. - Treat a throwing cookie access factory as unauthorized cookies in `areCookiesAuthorized`, so the next persistence fallback is tried. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Run the storefront to thank you page flow on the Web Pixel POC dev store, and check that the storefront SDK and the Web Pixel SDK share one session. The local bundles replace the CDN ones, and intake requests, sent to the intake configured in the app, are forwarded to the test intake. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The strategy only serves the Shopify Web Pixel integration for now, so name it after it: `sessionInShopifyCookie.ts`, `ShopifySessionStoreStrategyType` (`type: 'shopify'`), `selectShopifyCookieStrategy` and `initShopifyCookieStrategy`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…opify-web-pixel # Conflicts: # packages/browser-core/src/domain/session/sessionManager.spec.ts # packages/browser-core/src/domain/session/sessionManager.ts
…n-store' into beltran.bulbarella/shopify-web-pixel # Conflicts: # packages/browser-core/src/domain/configuration/configuration.ts # packages/browser-core/src/domain/session/storeStrategies/sessionInCookie.ts
…n-store' into beltran.bulbarella/shopify-web-pixel
BeltranBulbarellaDD
force-pushed
the
beltran.bulbarella/shopify-web-pixel
branch
from
October 13, 2026 09:41
f99fa27 to
a1e669c
Compare
2 of 5 tasks
This branch has not been deployed
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.
Motivation
Shopify Web Pixel app extensions run in a sandboxed worker without DOM access. Collect checkout RUM events while continuing the session created by the storefront SDK.
Changes
settings.rumConfig.browser.cookieinternally and adapt its async get/set methods in the Shopify package. Supply the store directly to the shared session manager; publicsessionPersistencekeeps its existing browser options.Test instructions
yarn lint,yarn typecheck,yarn format,yarn build, and 195 targeted unit tests covering cookie access, configuration, session storage, registration, and checkout collection._dd_s_v2session ID, then enter checkout and verify the same ID. The previous live PoC check confirmed matching IDs; the latest adapter relocation has unit coverage but has not been retested live.Checklist