You have Google Analytics. You have your platform's native analytics. You have dashboards from your ad platforms, your email service, your SMS vendor. You have more data than you have ever had. You are still making decisions the same way you always did - gut feel, interrupted occasionally by a number that supports what you already believed.

This is the gap at the center of ecommerce analytics. Not the lack of data. The lack of a decision system. Your reports tell you what happened. They do not tell you what to do about it. The store ran at 3.2% conversion rate last month. Good or bad? Compared to what? For which customer cohort? Acquired at what cost? Converting at what lifetime margin? Are you shipping with enough data to answer a single follow-up question, or are you just staring at a number that changed and hoping it moved in the right direction.

We built Sentinel because the operators we worked with all hit the same ceiling. The moment they crossed $500K annual revenue, they realized their analytics stack was producing reports, not decisions. This is the map of that ceiling. It names the three things a decision-grade analytics setup requires: a metric hierarchy that separates signal from noise, an attribution layer that tracks where customers actually come from, and a feedback loop that closes the gap between measurement and action. Then it walks through the stack that makes it real.

The reports problem.

Here is what this looks like in practice. You run Shopify. You have Google Ads, Meta Ads, email through Klaviyo, SMS through Attentive. You want to know whether you should spend more on email or on Google next month. You pull your platform's email analytics - 44% open rate, 3.2% click rate, $18 average order value from email clicks. You pull your Google dashboard - $120K spend, $380K attributed revenue, 3.2x ROAS. Your gut says spend more on Google because that number is bigger.

But the email number does not include repeat customers who saw your email three times before buying from a Google ad. The Google number does not include the customer who clicked a Meta ad on Sunday, ignored it, got an email Wednesday, and bought Friday after a Google search. The email platform does not know that 40% of email subscribers already bought from you and have a 68% repeat rate. Google's last-click attribution credits Google for the whole transaction and credits nothing to the channels that created the intent. Your Shopify analytics cannot see email at all. You have four dashboards and zero visibility into whether email is pulling customers who then buy from Google, or whether Google is pulling customers you acquired through email and now stealing the credit.

This is not a data problem. It is an architecture problem. And the decision you make with incomplete data is almost certainly wrong. The stores we work with usually discover this the hard way. You optimize for ROAS. You allocate all your budget to the channel with the highest last-click return. Six months later you have a cohort that acquired cheap and retained poorly, because you were optimizing for the first order and you had no visibility into the third or fourth order. Your CAC is $50 and your LTV is $62. You think you are profitable. You are profitable at 24% margin.

Three layers: vanity, operational, strategic.

The reason most analytics setups stay stuck at the report level is that they conflate three completely different kinds of metrics and treat them all as if they matter equally.

Vanity metrics. Sessions. Followers. Impressions. These are counts of attention. They are real, they are easy to measure, and they are almost completely decoupled from revenue. A store with 100K sessions and 2% conversion is shipping at $2K per session of expected revenue. A store with 10K sessions and 8% conversion is shipping at $16K per session. The session count tells you nothing about the business. Most teams spend their time here because the numbers are big and they move fast.

Operational metrics. Conversion rate. Average order value. Cart abandonment. Repeat customer rate. These are the levers you actually push. They move revenue directly. A store that improves AOV by $5 on a $500K annual revenue base at 2% conversion is shipping an extra $50K. That is real. Most professional teams operate in this layer, and they should. This is where the work lives.

Strategic metrics. Lifetime value. Customer acquisition cost. Contribution margin per cohort. Repeat rate by channel. LTV:CAC ratio. These are the numbers that separate profitable from unprofitable. A store with $50 CAC and $80 LTV at 60% gross margin is shipping $18 per customer after acquisition. A store with $80 CAC and $85 LTV is shipping $-1 per customer. The operational numbers say both stores are healthy. The strategic numbers say one is broken.

The gap between operational and strategic is where most ecommerce money disappears. You can improve conversion rate and AOV and watch your margin collapse because you are acquiring customers who do not repeat. You can have a 3x ROAS and be unprofitable because you do not know the repeat rate of the cohort you are acquiring.

A decision-grade analytics setup requires all three layers. But only the strategic layer can tell you whether you are actually optimizing for the right thing.

Attribution: the load-bearing problem.

The reason most stores cannot calculate LTV by channel or understand the repeat rate of a cohort acquired through a specific campaign is that they do not have a working attribution model. Last-click attribution credits the final touchpoint and ignores the journey. A customer sees your TikTok ad, does not buy. Lands in your email list. Gets an email two days later. Clicks to product page. Does not buy. Searches your brand on Google. Clicks your Google ad. Buys. Shopify and Google both credit Google with 100% of the order. Email gets credit for zero. TikTok gets credit for zero.

The math compounds quickly. Across the Shopify stores we audit, multi-touch journeys typically make up the majority of orders, and each misattributed order shifts spend allocation enough that you are probably overspending on one channel by $15K to $40K per month and underspending on another by the same amount. Run that for a year and you have reallocated $180K to $480K of budget against the wrong lever.

The fix is a server-side attribution layer. Instead of relying on pixels and cookies - which iOS 15+ made unreliable - you send conversion events from your backend to your analytics platform's server API. You tag every ad click with a click ID. When a customer converts, you match that order back to the click that started the journey. The ad platforms get told which orders actually came from which clicks. Your data warehouse gets timestamped records. Attribution becomes real.

Setup: GA4 with server-side event tracking. Shopify sending order events to your analytics platform's CAPI (Conversion API). Google, Meta, TikTok, and any other platform set up with click ID passback so the match-back works. All four platforms feeding data into a BigQuery or Redshift warehouse where you can join them. UTM hygiene on every ad link. This takes two weeks and costs nothing in new tools.

"Attribution is invisible until it's broken. By then, you're usually down 15-30% on efficiency and you don't know why."

LTV: why ROAS lies and how to fix it.

ROAS is a one-session metric. You spent $100 on ads and got back $320 in same-session revenue. 3.2x ROAS. But ROAS does not tell you whether the customer came back. It does not tell you the repeat rate of the cohort you acquired. It does not tell you the margin on the product they bought or whether you will still be profitable after returns and chargeback fees.

Lifetime value is a multi-year metric. First-time customers from your January 2026 cohort spent an average of $87 in month one, $12 in month two, $8 in month three, and $0 after that. LTV = $107. Your CAC for that cohort was $85. At 62% gross margin on $107 of revenue, you clear $66 per customer. Profit: $3 per customer, assuming nothing breaks.

Now your June cohort. First-time customers spent $91 in month one, $7 in month two, $2 in month three, and zero after. LTV = $100. CAC = $120. Margin at 62% on $100 = $62. Profit: $-58 per customer. Your June cohort is bleeding money. Somewhere between January and June your product or messaging changed and retention collapsed. If you are not measuring repeat rate by cohort, you do not know.

The mechanics: you need a cohort view that breaks down revenue by acquisition month and purchase month. You need a repeat curve that shows what fraction of each cohort came back in month two, month three, month six. You need a product repurchase rate that tells you whether repeat orders are going to repeat customers or new customers. You need churn curve that tells you when cohorts stopped buying. With all four pieces, you can calculate LTV credibly. Without them, you are guessing.

This is the work that separates $500K stores from $5M stores. The $500K stores do not measure LTV. They do not know which cohorts are profitable. They optimize the operational metrics and hope the strategic numbers work out. The $5M stores measure LTV by cohort and by channel. They know that cohorts acquired in March have a $92 LTV and cohorts acquired in April have a $108 LTV. They know why and they know whether to keep acquiring April customers or double down on March and fix what broke.

The feedback loop: measurement without action is decoration.

Your analytics setup is only as good as how fast you act on it. Most stores have months of latency between measurement and decision. You review June analytics in July. You decide to reallocate budget in August. You implement the change in September. The learning disappears in the noise.

A decision-grade feedback loop runs weekly or faster. Here is what it looks like. Every Monday morning you review the previous week's CAC by channel. Google was $68. Meta was $44. Email was $18. TikTok was $120. You look at the repeat rate on each cohort from the previous week. Google is converting at 22% in month two. Meta is 18%. Email is 31%. TikTok is 12%. Based on that data, you reallocate $5K from TikTok to email. Wednesday you measure whether the reallocation moved the needle. It did. Friday you increase email by another $10K. By the time you get to next Monday, you have already locked in the learning and you are measuring the next layer of questions.

This requires an ops rhythm. A named person who owns the analytics. A standing 30-minute meeting every Monday. A dashboard everyone on the team can read. A decision framework that names exactly which metrics drive budget decisions. When all four are in place, the feedback loop becomes real and it compounds. You do not win because you are smarter than the other guy. You win because you measure faster and you act on the measurement on the same day.

The stack: what the right infrastructure looks like.

The architecture that makes all of this work is not magic. It is boring. GA4 is your source of truth for multi-touch sessions and attribution. Your ecommerce platform - Shopify, WooCommerce, BigCommerce - stays as your source of truth for order data. Your ad platforms stay connected. Email and SMS get routed to a data warehouse on day one. Then a layer sits on top that joins all four.

For stores under $500K revenue: Shopify analytics plus GA4 plus manual monthly audits in a spreadsheet gets you 80% of the way. You do not need the full machinery yet. By the time you cross $500K you will feel the pain points sharp enough to justify building the layer.

For stores between $500K and $2M revenue: GA4 with server-side tracking, Shopify feeding order data to a BI tool, your ad platforms connected, and a manual weekly CAC review meeting. Two weeks to wire. No new tools required. This solves 80% of the visibility problem by itself.

For stores above $2M revenue: the previous stack plus a real data warehouse (BigQuery, Redshift, Databricks) where all four sources feed raw data. A BI layer on top (Looker, Tableau, Metabase) that joins across channels and produces the LTV, cohort, and CAC reports. An intelligence layer - whether Sentinel or custom - that watches for drift and alerts you when the metrics move outside the guard rails. This is the layer where the math of the store becomes legible.

Each upgrade costs something. It also saves something. At $500K revenue, you are misallocating roughly $5K to $10K per month across channels because your attribution is wrong. At $2M, it is $20K to $50K per month. A proper reporting stack pays for itself in the first month of recovered efficiency.

How JAAX approaches this with operators.

We do two things. First, we build the reporting layer. That is the stack you need to see the truth. Platform native analytics plus GA4 plus a warehouse that joins them. This ships in two to four weeks depending on platform complexity. Second, we build or integrate an intelligence system on top. Sentinel is what we built for Shopify operators. We can build the same for WooCommerce or BigCommerce, or help you integrate an existing BI tool.

The reporting layer answers what happened. Sentinel answers why it happened and what you should do about it. For a store at $1M to $10M revenue, the intelligence layer usually pays for itself in the first month. A 3% improvement in CAC efficiency on a $30K monthly ad spend is $10,800 in recovered spend. Sentinel costs a fraction of that.

We run this as two engagements. The integration sprint is two to four weeks flat-rate. You get a live dashboard, an attribution model, and the query layer that makes the data legible. The ongoing piece is the intelligence layer - monthly, SLA-backed, tells you which numbers to move and how much to move them. If you want to explore the integration first, that is the starting point. If you are ready to move straight to the intelligence layer, we can advise on the vendor choice and handle the integration.

For context on the broader AI development work we do and the sister article that goes deeper on Shopify-specific implementation, the links are there. For a working example of the decision loop in practice, the piece on GenAI pilots walks through the same feedback loop with a different stack.

Tomorrow's homework.

Do this today. Open your analytics across all platforms - platform native, GA4, email, SMS, ads. Note down one question you want answered: which channel is actually most profitable for me after repeat customers. Try to answer it using only what you can see on the dashboards. Count how many steps it takes. If the answer requires joining data from three different platforms in a spreadsheet, or if you cannot answer it at all, that is the edge of what you have built. Beyond that edge is where the real margins hide.

In our experience, the stores that do this work ship meaningfully more efficient than the ones that do not. They do not convert better or attract better customers. They just know which levers to move and they move them faster. Over a year, that compounds to $200K to $500K of recovered spend on the same revenue base. The machinery is boring. The payoff is real.