Blog

Jesús Avendaño
·
You open your ads manager on a Monday morning and the numbers disagree with each other. Meta claims credit for a batch of purchases. Google Ads claims a different batch. Your email platform reports revenue from a welcome flow. Shopify shows one order total, and it's smaller than the sum of what the platforms claim they produced.
None of those systems is lying. Each is answering a narrow question about a click, inside its own window, using its own definition of a conversion. What none of them can tell you is what the person did between Monday and Saturday, or which version of that path made money after ad spend, shipping and payment fees.
Customer journey analytics is the discipline that answers that second question. It's learnable, and it sits on data you already have.
What Customer Journey Analytics Measures and Why It Matters
A shopper sees your paid social ad on Tuesday. On Thursday she searches the category, compares two brands, and lands on your product page. On Saturday she opens your promotional email and closes it. On Sunday she types your store name into the address bar and buys.
The channel report calls that direct traffic. Three earlier touches helped create the order, yet the budget meeting still hears that paid social did nothing and email was ignored. Journey analytics exists for that gap: it puts interactions in time order across sessions, devices and channels, then shows where people advance, hesitate, return with a question, or leave.
The replay that explains the score
A box score gives the final number. A replay shows the pass that opened the defence, the turnover that swung momentum, and the substitution that changed the tempo. Journey analytics is that replay for a store, and it is how a bad week gets explained instead of guessed at.
The 2022 Tilburg University study on customer journey analytics defines the field as an approach for detecting and analysing journey pain points, measuring how touchpoints affect customer experience, and comparing the journey a business intended with the journey customers follow. The researchers applied process-mining techniques to an e-commerce case and showed that event data can answer practical journey questions a hand-drawn map cannot.
The concept has been studied in marketing and service research for decades, long before modern analytics tools made those paths measurable at store level.
A journey map records what you believe happens. Journey analytics records what happened, and then measures the difference.
The useful unit is a path with a cost and a profit outcome. Two customers can buy the same product for the same revenue and still be different journeys: one arrived through a discount code and a support ticket, the other through search and a reorder. After ad spend, fees, shipping and fixed costs, only one may be worth repeating.
That framing covers acquisition, browsing, conversion, fulfilment, support, repeat purchase and retention as one system. The practical question for this week is narrow: if you change a step, does it create profitable repeat customers, or does it move credit from direct to email while profit stays flat? Keep that test in view. Every stage metric, funnel count, attribution choice and cohort cut should answer it.
Journey Stages, Touchpoints and the Metric for Each
Measuring whole journeys isn't a refinement you add once channel reporting is tidy. Customers judge the whole sequence, not the single touchpoint a channel report isolates, and the sequence is what decides whether they come back.
That finding reframes how you read a dashboard. A single row of the table below tells you more about next month's profit than a grid of channel metrics, because it tells you which stage is leaking and what the leak costs.
The table below shows the stage map most stores can act on. Read it as a sequence, not a checklist.
Stage | Typical touchpoints | Metric to track | Question it answers |
|---|---|---|---|
Acquisition | Paid social, search, influencers, referrals | Customer acquisition cost (CAC), new-customer share | Which sources bring in new buyers? |
Browsing | Product pages, collections, site search | Product view-to-cart rate | Where do shoppers lose interest? |
Conversion | Cart, checkout, discount codes | Conversion rate, checkout completion rate | Where do buyers abandon? |
Fulfillment | Order confirmation, shipping updates | Time to delivery, refund rate | Does delivery build or break trust? |
Support | Help centre, chat, email, returns | Repeat-contact rate within 30 days | Which issues drive repeat contact? |
Repeat purchase | Post-purchase email, loyalty offers | Repeat purchase rate, days between orders | Do customers come back, and how fast? |
Reading the rows in shopper order
Acquisition is the only stage where you deliberately spend money to make strangers aware of you, so the metric that matters is cost per new buyer, not revenue per click. A weak reading looks like a falling new-customer share while total revenue holds steady: you're buying growth from people who already know you, and the top of the funnel is gradually collapsing.
Browsing answers a question channel reports can't. If 10,000 people view a product page and 600 add to cart, you have a merchandising, pricing or photography problem, not a traffic problem. Site search matters here too; if people search "linen shirt" and land on a page of polyester blends, the view-to-cart rate tells you before the refunds do.
Conversion splits into cart and checkout. A store with a healthy cart rate and a poor checkout completion rate has a payment, shipping-cost or trust issue, and no amount of extra traffic fixes it. For a refresher on the components, this explanation of how conversion rate is calculated is worth ten minutes before you set targets.
The last three rows run on different logic. Fulfilment is measured in days and refund rate, not percentages of a funnel, and a slow delivery often shows up first as a support contact rather than a complaint. Support quality is best read through repeat contacts within 30 days, because one unanswered question becomes three tickets. Repeat purchase is the only stage that tells you whether acquisition bought a customer or just bought a first order.
Consumers notice when those stages don't line up. McKinsey's research found that 71% of consumers expect personalised interactions and 76% become frustrated when companies fail to deliver them, and that personalisation commonly produces a 10% to 15% revenue lift. A broken sequence, where the email offers a product the shopper already bought or the checkout page ignores her saved address, costs more than one weak click ever will.
Practical rule: rank your six stages by revenue lost, then read only the worst row for a week. Chasing five stages at once produces five unfinished projects.
Event and Funnel Tracking That Shows Where Shoppers Stall
A funnel is only as good as the events underneath it. Before you can say where shoppers stall, every step has to be recorded with enough context to be counted once.
The five events that make an ecommerce funnel readable are product viewed, added to cart, checkout started, payment details entered and order placed. Each one needs a timestamp, a customer or anonymous ID, a session ID, the acquisition channel, the product and the order value attached to it. Without the ID you can count events but you can't follow a person.
The arithmetic of a leaking funnel
Take a month's worth of traffic: 10,000 product views, 1,200 add-to-carts, 480 checkouts started and 310 orders placed. Run the division and the problem becomes visible.
Step | Rate from previous step | Lost at this step |
|---|---|---|
Product viewed | Entry point | - |
Added to cart | 12% of views | 8,800 shoppers, 88% of views |
Checkout started | 40% of carts | 720 shoppers, 60% of carts |
Order placed | 65% of started checkouts | 170 shoppers, 35% of checkouts |
The checkout completion rate here, at roughly 65%, is normal enough. The cart rate is not: 88% of product viewers leave before adding anything to a cart, which is where the biggest block of lost shoppers sits. Fixing checkout in this store would recover at most 170 orders. Fixing the product page could move thousands of sessions.
That's the discipline. Compare the size of each loss in people, not the percentage that looks worst. A 35% drop from a small starting number is a smaller business problem than a 12% conversion from a very large one.
Three tracking errors that quietly break the funnel
A missing checkout event: if the checkout is hosted on a different domain or built as a single-page app, the event may never fire, and the step disappears from the report. You'll see an impossible jump from cart to order and blame customers for it.
Duplicate purchase events: a thank-you page that fires twice on refresh, or a server event plus a browser event with no deduplication, inflates order counts. Revenue looks better than Shopify's and every downstream rate is wrong.
A mismatch between storefront and order record: test orders, draft orders, subscription renewals and edits in the admin can all appear in one system and not the other. Reconcile against the order record before you draw conclusions.
Loops matter as much as steps. A shopper who returns to the shipping page three times before buying has hit friction even though the order eventually lands. Count those revisits. If the rate climbs while conversion holds, you've found a future drop-off before it costs you anything.
Finally, split every funnel by device and by channel. A blended 2.4% conversion rate can hide a desktop rate of 4% and a mobile checkout that loses half its buyers. When you're ready to reconcile what the storefront records against what your analytics platform sees, connecting GA4 to your Shopify order data gives you a second opinion on the same funnel.
Identity and Data Quality Before You Trust the Journey
Every journey conclusion rests on one assumption: that the events you're chaining belong to the same person. Get that wrong and the analysis becomes fiction with confident decimal points.
There are two ways to stitch records together. Deterministic matching links events through exact identifiers such as an authenticated customer ID or an email address. Probabilistic matching infers that partially overlapping records belong to the same person, which means it needs confidence thresholds, collision checks and an explicit rule for sessions it cannot resolve. The common failures are impossible attribute combinations, out-of-range values and broken references, each of which fragments journeys or invents touchpoints that never happened.
Eight steps, in order
Bring the sources into one dataset. Connect Shopify orders, ad platform spend and email events so a purchase and the campaign that touched it sit in the same table. Separate exports guarantee separate answers.
Standardise the fields. Customer, order, campaign and date formats should look identical everywhere. Timezone drift alone can shift a Friday order into Thursday's report.
Deduplicate conversions against the Shopify order record. The order record is the source of truth for what was sold. Platform claims are opinions about what caused it.
Apply deterministic matching first. Exact IDs and emails give you a high-confidence base you can defend in a meeting.
Add probabilistic matching only with rules. Set a confidence threshold, check for collisions where two records merge into one person, and keep unresolved identities labelled as unknown rather than forcing a guess.
Scan for impossible data. A shipping country of "unknown", an order value of zero, a discount above the order total: each one fragments a journey or creates a false touchpoint that skews every rate downstream.
Report match rate and unknown share next to conversion. A conversion rate built on 60% matched traffic is a different claim from one built on 95%, and the dashboard should say which.
Test your assumptions. Compare conversion rate, repeat-purchase rate and attributed revenue under strict deterministic rules versus an expanded probabilistic rule. A wide gap means your conclusions depend on identity guesswork.
Control test: if tightening your identity rules moves repeat-purchase rate by several points, the journey you described last quarter was partly an artefact of matching, not customer behaviour.
On privacy, our rule is simple. Cifra processes Shopify Customer Data solely to provide its core analytics and reporting services, and never sells, re-sells or shares it for advertising, marketing or AI model training.
Attribution Models From Last Click to Path Credit
Attribution answers one question: how much credit does each touchpoint deserve for a sale. Every model is an opinion about how to divide that credit, and each opinion has a blind spot worth knowing before you move budget.
Model | How it assigns credit | Best use | Main blind spot |
|---|---|---|---|
Last click | All credit to the final touchpoint before purchase | Quick checks on bottom-funnel campaigns | Ignores the ads and content that started the journey |
First click | All credit to the first recorded touchpoint | Judging which sources create discovery | Ignores nurturing and the closing touch |
Linear | Equal share to every touchpoint | Seeing assisted channels in the path | Treats a minor email the same as a paid ad |
Time decay | More credit to touchpoints closer to purchase | Short consideration cycles | Undervalues early discovery |
Position-based | Fixed share to first and last touch, remainder split across the middle | Balancing discovery and closing | The split ratio is an assumption, not measured |
Markov removal effect | Credit equals the drop in conversion probability when a channel is removed | Budget decisions across channels | Needs ordered customer-level data and a set lookback window |
Single-touch models are easy to explain and easy to game. Multi-touch models spread the credit, but the split is a choice somebody made. The Markov-chain research on customer journey analytics takes a different route: it models the journey as transitions between states and estimates a channel's contribution through its removal effect, the drop in modelled conversion probability when that channel is taken out of the graph. The same research, testing first- and higher-order Markov processes across four large multi-industry datasets, found that journey order matters because channels create carryover and spillover effects into the interactions that follow.
Reading a removal effect on one path
Suppose the path is paid social, then email, then a direct visit, then purchase. With paid social present, the modelled conversion probability for journeys of this shape is 3.1%. Remove paid social from the graph and it falls to 2.2%. The removal effect is 0.9 percentage points, and that number is the channel's defensible contribution, not the 100% a last-click report would hand to the direct visit.
Two implementation rules make this usable. Keep ordered, customer-level events and separate converting from non-converting paths, because a model trained only on people who bought will flatter whichever channel appears most often near the end. Then define a lookback window and keep it fixed, so month-over-month comparisons measure behaviour instead of a moving goalpost.
Credit and profit are different questions. A channel can carry a large share of path credit and still lose money once media spend, product cost and fees are counted.
That cost check is where most attribution projects stop short. Report attributed revenue beside incremental removal-effect estimates, then load your actual media spend, cost of goods and payment fees against them. If paid social earns 30% of path credit and consumes 45% of the marketing budget to do it, you have learned something no revenue dashboard will tell you.
One blind spot is growing. Discovery increasingly starts inside an AI assistant rather than a trackable ad click, and those visits usually arrive without a referrer that says so. You cannot fix that with a UTM tag. Add a "how did you hear about us" field at checkout, watch branded search volume by week, and label the conclusions as estimates, because that's what they are.
Google's own attribution research makes the budget case: in its study of valuing the customer journey, 52% of client-side marketers said attribution had increased spending on some digital channels. Attribution isn't a reporting chore. It moves money.
Cohort and Retention Patterns in Practice
A single repeat-purchase rate is the most misleading number in ecommerce, because it averages every product, channel and season into one figure nobody can act on. The scale of the problem shows in a pooled analysis of more than 156,000 direct-to-consumer customers, where the average repeat-purchase rate was 18.8%, meaning 81.2% never placed a second order in the measured period, as Shopify's retention guidance reports.
Break cohorts apart by sales, average order value, orders, spend per customer, acquisition channel, subscription mix and geography. A cohort is the group of customers whose first order fell in the same month. Track the share that orders again at months 1, 3, 6 and 12, and plot the curves side by side.
A January cohort, followed for six months
Say 2,000 first-time buyers arrived from a paid social campaign in January. By day 30, 180 of them had ordered again, which is 9%. By month six, 440 had reordered, or 22%. Compare that with a consumables campaign from search, where 16% reorder within 30 days, and an apparel campaign where only 4% do.
Cohort | Reorder at 30 days |
|---|---|
January paid social cohort | 9% |
Search consumables cohort | 16% |
Apparel cohort | 4% |
Same store, same month, fourfold difference. Now the actions diverge. The consumables group justifies a replenishment reminder at day 30, because the product runs out and the reminder arrives when the need does. The apparel group would find that email annoying; it needs styling content and a cross-sell at a longer interval, closer to the next season. The paid social cohort sits in between, which means the campaign, not the store average, is the thing to interrogate.
What the curve tells you: a flat line between month one and month three is a product or expectation problem. A steep start followed by a flat tail is a replenishment opportunity you're not currently prompting.
Then connect repeat orders to money. A cohort report that stops at order counts tells you people came back; one that carries contribution margin tells you whether they came back profitably. A campaign with a thin first-order margin but strong repeat behaviour can out-earn a campaign with a fat first order and no return over twelve months, and only the margin-loaded version shows it. Keep the 30-day figure reported alongside month 1 so the curve stays consistent before you compare campaigns. A cohort analysis report built this way turns retention from a slogan into a budget input.
Turn Journey Data Into Profitable Decisions This Week
Ignore the full roadmap for now. Pick the stage from the table that loses the most revenue, and spend one week proving whether fixing it creates profitable repeat customers or merely moves credit between channels.
Monday: choose the stage and write down its current number, plus the funnel step that feeds it. Tuesday: rebuild that funnel from the five events, split by device and by acquisition channel. Wednesday: pick one attribution view for the budget decision and freeze it, so nothing else changes while you test. Thursday: select one cohort, defined by first-purchase month and channel, and set its 90-day checkpoint. Friday: establish the counterfactual, either a holdout group that doesn't get the change or a matched cohort from the previous period. Then leave it alone for 90 days.
Why the counterfactual matters more than the map
Descriptive journey reporting is comfortable and often useless for decisions. Adobe's digital trends research found that 52% of organisations struggle to demonstrate measurable returns from AI investments using customer-experience metrics. Experience scores alone rarely convince the people who approve budgets; profit does.
The contrarian reading is uncomfortable but correct: more granular journey tracking won't improve a decision if identity resolution, cost data, consent and test design are weak. A polished path diagram with no holdout group is entertainment.
So evaluate every journey change on contribution margin after advertising and fulfilment costs, with an uncertainty range attached, not on return on ad spend alone. Ask what would have happened without the intervention. That's the difference between describing a path and knowing what caused the profit on it.
Weekly check: keep four numbers on one page. Profit after ad spend, customer acquisition cost, repeat-purchase rate and conversion rate for the weakest stage. If any of them moves without an explanation, go back to the funnel or the identity check before you touch a budget.
Reporting makes that easier when revenue and profit sit in the same view. Cifra shows revenue and customer value for new and returning customers side by side, answers questions such as which products are most profitable and which discount codes cost more margin than they were worth, and adds the costs Shopify Analytics does not count, including ad spend, fees, shipping and fixed costs, so profit is shown by product and by discount code. The four weekly numbers stop being a spreadsheet you rebuild every Monday.
Customer journey analytics only pays off when it changes a decision, and the fastest way to get there is to see profit beside every path, product and cohort you're already tracking. Cifra connects your Shopify orders with ad spend, fees and product costs, so you can read revenue, retention and net profit for the same journey in one place, split by new and returning customers. Connect your store and ad platforms, then start with the one stage where revenue leaks most.
Jesús Avendaño
·