flowpeekresources / guides / Sales
How to analyze product sales in an online store
You'll connect product interest with purchases and pick specific product pages, offers or data to improve.
Short answer
The key answer
Analyze a product in this order: views, add-to-carts, purchases and revenue. In Flowpeek you'll see these metrics in one table, together with brand, category and exit rate. First check the period, currency and how complete the observations are. Then look for products with clear interest that doesn't move on to the next step of the purchase.
- Metric definitions, so purchases aren't confused with units
- Four product situations and the next actions
- Checking the report against the product page and order history
1. Establish what each column counts.
The Flowpeek product report combines observed views, add-to-carts, purchases and revenue for recognized products. Purchases means distinct transactions that contain the product. If one customer buys three units in a single order, that doesn't automatically count as three purchases in this column. Views, on the other hand, count events, not just distinct people.
CR in this report relates a product's purchases to its observed views. It's not the same as the share of all store visitors who placed an order. Other tools may use different names and denominators: the GA4 documentation distinguishes between event-scoped and item-scoped metrics. Before comparing two tables, read the definitions instead of assuming that a similar label guarantees they match.
Read one row from left to right. The navy-and-beige shirt has 49 views, 28 unique users, 1 purchase and a CR of 2.04%: one purchase divided by 49 views. Dividing by 28 people would give a different metric. The navy-and-cream shirt, in turn, has 28 views, 5 add-to-carts and 0 recorded purchases. It's a good candidate for a closer look at the cart, but not yet an explanation of the abandonment.
| Flowpeek metric | How to read it |
|---|---|
| Views | Recorded product view events |
| Add to cart | Recorded add-to-cart events for the product |
| Purchases | Distinct transactions containing the product |
| Revenue | Explicit product line values, with currencies kept separate |
| CR | Purchases relative to observed views |
| Exit rate | Share of product page views that end the session |

2. Check the period, currency and catalog matching.
Pick a completed period with enough observations for your store. Too short a range can favor a product with a single purchase. Too long a range mixes seasons, promotions and varying availability. Start with a few weeks, and when you compare results, note any changes in price, placement and stock.
Read the completeness information. A missing explicit product list in an event, or no unambiguous match to the catalog, limits the report. Flowpeek doesn't guess a product from a similar name. A missing amount or currency stays missing data, not zero. To sort by revenue, pick one currency; judge the brand ranking the same way. The currency filter narrows purchases and revenue, but views and add-to-carts still include observations from all currencies in the selected period. Don't read that CR as the conversion rate of a separate market. PLN and EUR aren't automatically converted to a single value.
3. Change the question, then the sorting.
Ranking by revenue shows the products that build sales value. Ranking by purchases shows those that appear in many transactions. Ranking by views reveals interest that may not yet translate into results. None of these views alone describes a product's full role.
Go through the top few items in each list, then use category, brand or the available metric values to narrow the topic. When looking for product pages to improve, start with products that get noticeable traffic. A product with two views and zero purchases usually gives too little information to judge. Also, don't extend conclusions about one popular category to your whole range.
4. Recognize four typical situations.
Lots of views and few add-to-carts point to the offer: whether the ad matches the product page, the price, description, variants and availability. Check the page on the customer's device and a few recorded journeys. Don't assume straight away that price is the problem; an important variant may just as well be unavailable, or the description may not answer a key question.
Lots of add-to-carts and few purchases suggest checking checkout, shipping costs and whether the product is bought later. Few views with recurring purchases may justify testing more exposure, once you've checked stock. High revenue from a handful of transactions calls for caution: the result may hinge on a few expensive orders. These observations help you choose the next step; they don't yet prove the cause.
| Situation | First check |
|---|---|
| They view, rarely add | Product page, offer, variants and whether the ad's promise matches |
| They add, rarely buy | Shipping, payments, funnel and later visits |
| Low traffic, regular purchases | Exposure and availability before expanding a promotion |
| Revenue based on a few purchases | Number of transactions, repeat purchases and the mix of items in carts |
5. Example: a popular product page isn't a bestseller yet.
Say product A has 2,000 views, 100 add-to-carts and 20 transactions. Product B has 500 views, 60 add-to-carts and 15 transactions. Purchases relative to views come to 1% and 3% respectively. These are sample numbers to calculate with, not results from any Flowpeek customer.
It doesn't automatically follow that you should move all traffic to B. The products may differ in price, purpose, availability and the source of interest. First check whether A lives up to the promotion's promise and whether B can handle a larger scale. For A, plan a review of the product page and journeys; for B, consider a limited exposure test. Both actions should have a recorded baseline and a review date.
6. Check a few transactions and don't add up people across products.
One order can contain several products, and one person can view many product pages. That's why the sum of purchases from the product rows isn't automatically the store's number of unique orders. Likewise, adding up the unique users of each product doesn't give the number of distinct people in the whole store. Overlapping groups require a different aggregation.
If revenue looks unexpected, pick a specific product and the orders from that period. Check the quantity, line value, currency and the status of the source purchase. The total order amount may include other products or shipping. When comparing with GA4, remember that item revenue has its own definition. If you need further analysis, export the report to CSV; keep the separate currency rows and the notes about missing data.
7. Make one change and come back to the same metrics.
Pick a product with enough observation volume and a clear next step. Write down a hypothesis: "Customers don't see the compatibility information before the buy button." Fix that element instead of changing the price, photos, ad and shipping all at once. Come back to evaluate it over a comparable period.
Alongside CR, write down views, purchases and traffic context. With a larger influx of new visitors, the percentage may drop even as the number of purchases grows. The result after a change isn't proof of its impact on its own; stronger conclusions require a planned comparison. The product report helps you choose a sensible test and follow how it goes, while cost of goods and profitability are something you check in the company's financial data.
Common mistakes
Treating product purchases as the number of units sold
Read the definition: in Flowpeek this metric counts transactions that contain the product.
Treating the sum of rows as the store's number of customers
A person and an order can appear under several products. The groups overlap.
Sorting different currencies by a combined amount
Pick a currency when comparing values. Don't add a hidden conversion.
For your next review
Checklist
- I know what purchases are divided by in CR and what each column counts.
- The period doesn't include non-comparable history without a note.
- I've checked observation completeness and catalog matching.
- I compare revenue in a single currency.
- The chosen change has a baseline and a review date.
Now your store
Pick three products for your next review.
- 1
Find a frequently viewed product, a frequently purchased product and a product with a high share of carts.
- 2
Check the product pages, availability and a few transactions for each. Separate missing data from a weak result.
- 3
For one product, write down a hypothesis and a small change you'll be able to evaluate.
From report to decision
Example decision sheet for one product page
Back to product A from the example: 2,000 views, 100 add-to-carts and 20 transactions. The sheet below shows a way of working, not a growth forecast.
- Observation
- The product attracts attention, but purchases make up 1% of observed views. The numbers alone don't point to the cause.
- Hypothesis to check
- The compatibility information is hidden below the point most people viewing the page scroll to.
- First check
- Look at the page on a phone and at a few journeys. Check variant availability and the ad's promise.
- One change
- If the check confirms a visibility problem, move the compatibility information closer to the variant picker. Note the date of the change.
- Evaluation
- Over a comparable period, set views, add-to-carts and purchases side by side; also note any change in traffic sources, prices or stock.
You leave the report with a task for the person responsible for the offer, not a vague "we need to improve conversion." If the hypothesis isn't confirmed, you choose the next check without rebuilding the whole page.
Questions and answers
Why is the sum of product purchases higher than the number of orders?
One order can contain several products and be counted in each of their rows. It's a different level of aggregation.
Does product revenue mean its profit?
No. To judge profit, you need the cost of goods, fulfillment and the company's other costs. The revenue report doesn't replace them.
Why do I see missing data for a product?
The cause may be a missing observed denominator, value, currency or an unambiguous product match. Check the completeness message and the data source.
From knowledge to report
Open the right module.
Product analytics
Set interest in your product range against carts and order data. Find products worth giving more visibility to, and ones whose offer is worth improving.
Conversion funnel
The conversion funnel shows each step of the purchase: product, cart, checkout form and purchase. See how many visits reach each one and choose where to start making improvements.
User journeys
Open a visit's history and follow the path from the first page to the cart or order. See where the visitor came from, which products they viewed and what they did, step by step.
Read the next guide.
All guidesMarketing / 10 min
ROAS vs profit: how to judge an e-commerce campaign
Learn the ROAS formula, a break-even example and how to diagnose a drop. Judge a campaign in the context of costs, products and order volume.
Analytics / 10 min
Why do GA4, your store and your ads show different results?
Align dates, revenue definitions and attribution. Compare specific orders, find the source of the discrepancy and agree on a shared reporting rule.
Free · 30 minutes · online
GA4, your store and your ads show different numbers? We'll check it with you.
We compare one month of sales across your tools and point out three fixes to your measurement. No strings attached. What we check
30 days on your own data
Choose the products worth starting with.
See views, cart, purchases and revenue for your own range. During the trial, pick three product pages to analyze, and in the consultation discuss your first hypothesis and how to test the change.
- No fixed-term contract
- We set everything up for you in 48 h
- App servers in Germany (EU)
- Cancel anytime
30 days for PLN 0 · first payment after the trial · cancel anytime
See pricing after the trial