One customer, one journey
See the ad that found your customer, not just the one that closed the sale.
When a shopper's visits, clicks and order can't be tied together, one person looks like four strangers and the last click takes all the credit. NodeNarrative joins them back into one customer, so the ad that found them gets its share.
10 places · 40% off for 12 months · launching when our connector approvals clear
Where the credit goes wrong
A broken link hands the credit to whatever came next
Each of these strips an identifier from the journey. Lose one, and the journey appears to start at whatever came next.
-
The cookie that runs out
Safari caps cookies set by scripts at 7 days. A shopper who clicks an ad and comes back on day 8 arrives as someone new.
-
The in-app browser
A shopper taps your ad inside Instagram, then comes back later in Safari. Two browsers keep separate cookies, so they look like two people.
-
The second device
A shopper who browses on their phone and buys on their laptop looks like two people. We don't join devices yet: see below.
Step one: capture
The visits your shoppers agree to, with their source attached
Nothing can be joined that was never collected. The pixel comes with the Shopify app, so it is on from the moment you connect, and each visit arrives with the link that brought it.
Switched on when you connect your store
Native Shopify Web Pixel
The pixel is part of the Shopify app, so connecting your store switches it on. It runs in Shopify's own pixel sandbox: no theme code to edit, no script tag to maintain.
- Shopify Web Pixel Runs in Shopify's sandbox, not in your theme
- Status you can see Your dashboard shows whether the pixel is active
Each visit keeps the link that brought it
Landing URL kept
Each page view the pixel sends keeps its landing URL, so the UTM tags and click IDs your ads add (fbclid from Meta, gclid from Google, ttclid from TikTok, sccid from Snapchat) travel with the visit. Every event is then written in one format, so a Meta click and a Shopify order sit on the same timeline.
- Click IDs and UTM tags Kept in the landing URL of each visit
- NodeNarrative Event Protocol One event format that every source is translated into: page views, add to carts, purchases and ad clicks alike.
Only what your shoppers agree to
Shopify Customer Privacy API
The pixel follows each shopper's consent settings in Shopify and sends nothing unless they allow analytics. It sets no cookies of its own. The pixel never sends checkout email, phone or address: the order of record comes from Shopify's servers.
Shopify runs app pixels in a sandbox kept apart from your storefront's own code, so the pixel runs outside your theme code. Will install from the Shopify App Store once our listing is approved. No developer, no tag manager.
Step two: resolve
The ads that found the customer stay on the record
Certain matches today, scored matches next, all held on one customer in a knowledge graph that computes the attribution itself. The visits, clicks and orders it can connect land on the same customer, and all seven models read that joined-up journey.
- 01
Known customers join up on their own
Deterministic matching
When a shopper gives an email or phone number, or logs in, every visit carrying that identifier joins their record. No guesswork: each match rests on an identifier you can verify.
Hashed with SHA-256 before storage, so the raw email or phone number is never kept in plain text.
Check it in the table: Deterministic identity matching - 02
Anonymous visits get matched, with a score
Probabilistic identity scoring Planned
Next: visits with no login will be scored against known customers on behaviour and session patterns, so you get a likely match with its confidence attached, not a silent guess. Today, visits join on a shared identifier.
Planned on Splink, an open-source library that implements the Fellegi-Sunter method of record linkage (a published statistical method for deciding whether two records belong to the same person). Matching runs separately for each store, so a match never crosses into another account's data.
Check it in the table: Probabilistic identity scoring - 03
The ad that found them can keep its place
Knowledge graph identity
Every identifier becomes a point in a graph, linked to the customer it belongs to, and every journey step becomes a link between them. Once a visit is joined to the customer, its first click stays attached to the order, so a model that credits the whole journey can credit it.
Resolved in Neo4j, a graph database, and used to compute the attribution itself, rather than as a memory for an AI assistant.
Check it in the table: Graph-based identity resolution
What's live, what's next
Where each piece stands
Joining devices is not built yet, and most ad platforms are still on the way: each one's status is listed here. You should know that before you apply, not after.
Cross-device stitching
PlannedJoining the same shopper across phone, tablet and desktop into one journey. Planned, not live.
Check it in the table: Cross-device stitching (marked Planned)Sending joined-up conversions back to your ad platforms
More complete, correctly credited conversions give the platforms' bidding better input over time. Meta is live; the rest are listed with where they stand.
- Meta Conversions API Live now
- Google Ads Offline Conversions In development
- TikTok Events API Planned
- Snapchat Conversions API Planned
What each tool can join into one customer
Every tool here collects visits. What differs is whether the visits, clicks and orders then land on one customer.
| Capability | NodeNarrative | GA4 | Polar Analytics | Triple Whale |
|---|---|---|---|---|
| Resolves Whether the visits land on one customer | ||||
| Graph-based identity resolution | ||||
| Deterministic identity matching | Not confirmed | |||
| Probabilistic identity scoring | Planned | Not confirmed | Not confirmed | Not confirmed |
| Cross-device stitching | Planned | Not confirmed | Via fingerprinting | Not confirmed |
| Arrives Whether each visit keeps its source | ||||
| Click ID preservation | Not confirmed | Not confirmed | ||
Not confirmed: we could not confirm it either way, so we say so rather than guess. Polar's cross-device cell is from Polar's own Pixel and Lifetime ID feature page (checked October 2026). Every row label links to its evidence above.
Collecting the data is where these tools overlap. Of the four compared here, NodeNarrative is the one that resolves identity in a graph: certain matches today and scored matches planned, each matched identifier held on one customer. Our graph computes the attribution itself, rather than acting as a memory for an AI assistant.
See the full platform comparisonQuestions about identity
What does the pixel collect, and how?
Will the pixel slow down my Shopify store?
How does NodeNarrative know two visits are the same shopper?
Can NodeNarrative send conversions back to my ad platforms?
Do I need a developer to install the pixel?
Give the ads that find new customers their share of the credit
In the example at the top of this page, the ad that found the customer goes from 0.00 to 0.31 of the credit once the journey is joined.