Analytics
Revenue trends, best-selling products, conversion, promotion performance, and storefront traffic. These are the numbers that run your store.
Your analytics live on the Dashboard (the first item in the sidebar), a real-time and historical view of your store's performance, scoped to the store you're viewing. Below the key metrics, the data is organized into tabs.
Who can see it. The Dashboard needs the View analytics permission. The Owner, Manager and Viewer roles have it; Staff does not, so a Staff member who opens the Dashboard sees "Access Restricted: You don't have permission to view analytics. Contact your account owner to request access." instead of any number. Tick View analytics on that member in Team and permissions to open it. The round refresh button next to the period picker reloads every figure.

What you'll find
| Area / tab | What it shows |
|---|---|
| Key metrics (top) | Revenue, profit, orders, average order value, conversion rate |
| Revenue card | Revenue by day with profit overlaid, and revenue split by currency |
| Smart Insights | Callouts and a short written summary, only after you press Activate insights (uses AI credits) |
| Operations | Fulfillment, orders by status, refund rate, abandoned checkouts, recent orders |
| Products & Customers | Top products by revenue, low and out-of-stock products, customers, sales by day, cohort retention |
| Promotions | Coupon and discount-rule performance: active ones, how often used, how much discount they gave. All time, the top three of each are listed |
| Traffic | Cookieless storefront analytics: live visitors, visits over time, sources, devices, countries, funnel, top pages, campaigns, products |
| Ask BOBO | Traffic questions answered in the chat with a card, compared with the period before |
Date ranges and channel
- Pick a period at the top of the Dashboard: Today, Last 7 days, Last 30 days, or a custom range (up to two years). The percentage next to Revenue, Profit, Orders and Avg. Order Value compares the period so far with the same stretch of the previous calendar period (not with the window just before it), see Revenue reports. For the order, revenue, profit, customer and sales-by-day figures, days follow the Timezone in Settings → General. The Traffic tab counts its days in UTC, not in your store timezone.
- Use the channel selector at the top to scope the numbers to a single sales channel, or leave it on all channels combined. Not everything follows it: customer figures, low-stock products, and the Promotions tab always cover the whole store, and the Traffic tab follows the period but not the channel selector.
- Selling in more than one currency? In Per currency view the Revenue, Profit and Avg. Order Value cards add order totals as they are, without converting, and label the sum with your store currency. In Single total view they convert every order into your Reporting currency, and Profit can read Not available for mixed currencies. See Revenue reports.
- Not every card follows the period. Customers (other than new customers), Inventory alerts, Cohort Retention, and Promotions are not tied to the period you pick. See Best-sellers report.
The Operations tab, card by card
Test orders are left out of every card on this tab. They all follow the channel selector. All of them except Abandoned Checkouts and Recent Orders also follow the period you picked.
| Card | What it shows |
|---|---|
| Fulfillment | How many orders in the period are Pending, Processing, Shipped and Delivered, with the average items per order (~N items/order) and the name of the period. Cancelled, refunded and other statuses are not shown here. It reads at most 10,000 orders. |
| Orders by Status | A donut and list of every order status in the period, each with its order count and share of the total. |
| Refund Rate | The share of the period's orders that were refunded, as N of M orders, plus the amount refunded. A partly refunded order counts toward the rate but not toward the amount: the amount adds up only fully refunded orders, at their full total, in your store currency. It reads at most 10,000 orders. |
| Abandoned Checkouts | A count of checkouts a shopper started and left: nothing was saved on them for at least one hour, and the last activity was within the last 48 hours. Orders already created and paid checkouts are not counted. A checkout with no email address counts too, and so does one that already got a recovery email (recovery emails go only to checkouts that have an email). It has a Review link to the Checkouts list. It is a live count that does not follow the period, and it shows No abandoned checkouts at zero. |
| Recent Orders | The ten newest orders (number, customer, status, amount, date) with a View All link to Orders. It does not follow the period. |
The Promotions tab, card by card
Both cards are all time and cover the whole store, whatever period or channel you picked. They open only when you open the tab.
- Coupons shows how many coupons are active, how many uses and how much was saved, then your three most used coupons with their uses. Manage opens Coupons. Saved adds up the discount on paid orders that used a coupon (at most the latest 10,000 such orders). Uses adds up the use counters of all your coupons, not only the three shown in the list.
- Discount Rules shows how many rules are enabled, the total applications and the amount discounted, then your three most applied rules. Manage opens Discount rules.
What the Traffic tab shows
The Traffic tab is your own cookieless storefront analytics. From the top it shows: six tiles (Visitors, Pageviews, Conversion rate, Orders, Bounce rate and Avg. time on page), a Live visitors map (people active in the last 5 minutes, where each browser tab counts as one session), Visits over time, Visits by country, Traffic sources (Direct, Search, Social, Referral, Paid, Email, AI assistants, Other), Devices (Mobile, Tablet, Desktop), the Conversion funnel (Visitors, Checkouts started, Orders paid), Top pages, Most viewed products, Top campaigns and Visitors from AI.
Two different "conversion rates". The Conversion rate tile here is visitors who ordered, out of all visitors, and is a few percent. The Conversion Rate card at the top of the Dashboard is paid checkouts out of started checkouts, and is tens of percent. They answer different questions: do not compare them. See Revenue reports.
The Traffic tab follows the period you picked at the top of the Dashboard, but not the channel selector.
The Traffic tab shows zero visitors
When visits are not being counted, the Traffic tab tells you why in a box at the top. Pick the message you see.
"Tracking requests are being refused"
Brainerce received tracking requests from an address that is not the domain set for the sales channel, so it refused them. The address in the message is only what the request claimed, and anyone can send a request with any address. Open Sales channels and check that the channel domain is the exact address your shoppers use for your live site. If it is not, correct it there. If you do not recognize the address, ignore the message. Never add an address you do not control as an allowed origin to make a message go away, because an allowed origin is trusted by your storefront API and your payment page, and on a test channel by customer sign in redirects. Add one only for an address you own, such as a preview deployment of your own site. Requests refused earlier are not recovered, so counting starts from the moment you fix it.
"This channel has no domain"
A live channel needs a domain before it can count anything. Set it in the channel settings.
"No visits received yet"
Brainerce has received requests from your site, for example to load products, but not one page view has arrived. The tracking line is missing from the site. Copy the line shown in the box into the main layout of your site, inside the head or at the end of the body. Sites created with recent versions of npx create-brainerce-store already include it. Sites built another way, for example by an AI coding tool, may not.
"Visits stopped arriving"
Visits were counted before, none for a week, and the site is still active. The tracking line was probably removed during a redesign or a redeploy. Put the line shown in the box back in the main layout.
What does not count as a visit
- Search engine crawlers and other bots are filtered out on purpose.
- A visitor who blocks tracking scripts in their browser is not counted.
- A brand new store with no shoppers yet shows zeros and no warning. The warning only appears once your site is connected and active but no page view has arrived.
You do not need Google Analytics for any of this, and you do not need a cookie banner for it.
Why my analytics numbers are off by a few hours: visits are counted in UTC days
Orders and revenue follow your store timezone, but storefront visits are stored per UTC day. Your store timezone is set under Settings → General, and it defaults to UTC until you change it. So a store in another timezone can see visits for "today" and "yesterday" shifted by a few hours around midnight, while its orders and revenue match its own clock. This is not a bug and nothing is lost: the visits are all there, grouped by UTC day.
- The Traffic tab counts UTC days. Its Visitors, Pageviews and Visits over time follow the period you picked, but the days inside it are UTC days.
- Today is always partial. Today's visit counts refresh about every 15 minutes, and today is never compared with a full day.
- No setting changes how visits are grouped. Changing the store timezone moves orders and revenue, not the UTC grouping of visits.
The Dashboard says "N checkouts idle for over an hour" (pending or abandoned checkouts)
The count on the Dashboard's Abandoned Checkouts card reads "N checkouts idle for over an hour". It counts checkouts a shopper started and left, with nothing saved on them for at least one hour and last activity within the last 48 hours, no order created and no captured payment. It is not the same as the Pending status in the Checkouts list, which is only the first step of a checkout. These are not orders and no payment has been taken. Click Review to open the Checkouts list. To contact these shoppers see Abandoned checkout recovery emails.
Ask BOBO about your traffic
You do not have to open the Traffic tab to see how the site is doing. Ask BOBO in plain words: "how many visits did I get this month", "how is traffic this week compared with last week", "where do my customers come from", "which products are viewed the most", "where do I lose customers before they buy" or "how many people are on the site right now". BOBO answers with one short sentence and a card with the numbers, a trend line and, depending on the question, sources, countries, pages, products, the purchase funnel or the live count. Open in dashboard on the card opens the Traffic tab for the same dates.
To keep the card short it shows the headline number and one or two blocks. Everything else is behind Show more detail, and a long list is behind +N more.
You need the permission to view analytics. A team member who is limited to some sales channels sees only those channels, and no live count.
What the numbers in BOBO's answer mean
- Visits, not people. A visit is one session on the site. Someone who comes back on another day is counted again, so BOBO never calls the number unique visitors.
- Compared with the period before. This month is compared with the same days of last month, this week with the 7 days before it. Today is never compared with a whole day, because today is not over and the counts refresh about every 15 minutes.
- Visits are counted in UTC days, even in BOBO's answers. Orders and revenue follow your store timezone (set it under Settings → General), but storefront visits are stored per UTC day. BOBO picks "today", "yesterday" and a custom date range by your store timezone, and the visits behind each of those days are still UTC days, so figures for today and yesterday can be off by a few hours around midnight (BOBO says so in its answer). The Traffic tab on the Dashboard counts UTC days as well.
- Conversion is paid orders divided by visits. Test orders and orders that were never paid are not counted. A change in conversion is shown in percentage points, for example 1.49% to 1.31% is 0.18 points.
- Sources come from where the visit started. Direct, search, social, paid, referral, email and AI. Visits from AI assistants are undercounted, because many do not pass on where the visitor came from.
What BOBO cannot tell you about traffic
- Which social platform. Visits from Instagram and Facebook are both shown as social. The report does not split them.
- Why traffic or conversion changed. BOBO shows what changed, for example that paid visits fell in the same week conversion fell. That is evidence, not proof of the cause, and BOBO does not guess one.
- Pages, products, blog posts, campaigns and bounce rate older than 90 days. The visit events behind them are kept for 90 days. Visit counts, sources and countries are kept for good.
- Google Analytics or ad reports. BOBO reads Brainerce's own traffic. Your Google Analytics and ad platform reports are separate.
- The funnel or the live count for one sales channel. Both are for the whole store.
- Who the visitors are. None of the answers contain names, IP addresses or visitor identifiers, only totals.
If a store shows no visits, the card says why instead of showing zeros. The reasons are the same as in The Traffic tab shows zero visitors.
Google Analytics, Meta and TikTok
The Traffic tab is Brainerce's own cookieless reporting. It needs no Google or Meta account and no cookie-consent banner.
Separately, your storefront can report to your Google Analytics 4 and Google Ads. Connect the Google app and the tracking starts by itself, with no ID to paste.
The Meta pixel and the TikTok pixel are not available today. Neither app has been released to the app store, and their pixel settings live inside those apps, so there is no box you can reach in the dashboard for either ID. Until they ship, fire those pixels through your own Google Tag Manager container instead. See Google Analytics, Google Tag Manager and the Meta pixel.