Skip to content

History / shopify

Revisions

  • docs: shopify.md proofread fixes + sync companion pages Four fixes to shopify.md from a proofread against the real Web Pixel implementation and the BucketedVariation type definition: - Cart-attribute writer now reads `v.id` / `v.key` instead of the non-existent `v.variationId` / `v.variationKey`. BucketedVariation spreads ExperienceVariationConfig at the top level, so the variation's own identity is on `id` / `key`, not on dedicated fields. - checkout_completed forwarder uses `event.data.checkout.subtotalPrice` (matching what the official Convert Shopify App pixel uses) instead of `totalPrice`, with a one-liner noting the choice. Updated the transaction id to `event.data.checkout.token` (always present, canonical idempotency key) instead of `order?.id ?? token` (order may not be populated when the event fires). - Option B (direct POST to the tracking endpoint) now warns about the tracking server's bot filter and links to the Direct Tracking Endpoint guide. Default server-side HTTP-client User-Agents are silently dropped (200 OK, event lost). Required header is `User-Agent: ConvertAgent/<version>`. The browser-side pixel is unaffected since it sends the browser UA; the warning targets anyone adapting the pattern to a server-relay variant. Also adds (via sync-docs.js) the companion pages that shopify.md and client-side-experimentation.md cross-reference and that previously 404'd on the wiki: - server-side-experimentation.md (cross-SDK, JS examples only on this wiki target; PHP examples appear on the PHP SDK wiki via the same sync pipeline once PR #6651 merges). - from-tracking-script-to-sdk.md (cross-SDK translation reference; same JS-only filter on this wiki). Re-running sync-docs across all existing wiki files also rewrites relative cross-links in client-side-experimentation.md to absolute github.com/convertcom/javascript-sdk/wiki URLs — matching how the sync workflow produces wiki content. Once PR #6651 merges and the sync runs, these two new pages will sync as no-ops since the content matches what the workflow would emit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @JosephSamirL JosephSamirL committed May 27, 2026
  • docs: add Client-Side Experimentation and Shopify guides (JS-specific) Two browser-focused how-to guides that live in the JS SDK wiki only — they document patterns that don't have a PHP equivalent and therefore aren't shared via the canonical-source sync pipeline. - client-side-experimentation.md — replicates the classic tracking script in the browser using the JS SDK: visitor cookie identity, consent gating, bucketing with locationProperties / visitorProperties, applying variation changes across SPA navigations, trackConversion, and a working localStorage-backed DataStore. - shopify.md — Fullstack-on-Shopify integration: cart-attribute bridge across the storefront -> checkout boundary, and the custom Web Pixel pattern for tracking checkout-side conversions via either a merchant backend that calls trackConversion (Option A) or a direct POST to the Convert tracking endpoint (Option B). Both pages are already linked from Home.md and _Sidebar.md (added in the previous commit) so they're discoverable from the wiki navigation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @JosephSamirL JosephSamirL committed May 27, 2026