Skip to main content

Analytics

Built-in DZBuild analytics, what's tracked, and how to feed data into external tools.

Written by Support

DZBuild's dashboard ships with the analytics most merchants need — no setup required. For deeper analysis, you can pipe data into Google Analytics, Looker Studio, or your own warehouse via the public API.

Where the analytics live

Open /dashboard — the analytics are on the dashboard home page, below the date-range buttons. There is no /dashboard/analytics page and no Analytics entry in the sidebar unless the Advanced Analytics add-on is active.

The default view is the last 7 days. After that, the dashboard reopens on the last preset you picked in that browser (a custom range is not remembered). Presets: Today, Yesterday, 7 days, 30 days, This month, Last month, This year, plus a Custom range of up to 365 days. A traffic filter beside the presets narrows the visitor figures to all traffic, landing pages only or the store only; the order figures and the conversion rate always cover the whole store.

Every KPI shows a percent-change badge comparing the selected period against the immediately preceding period of the same length.

Top-line KPIs:

Metric

Definition

Revenue

Merchandise value of delivered orders only: subtotal minus discount, excluding shipping and payment fees. An order counts on the day it was delivered, not the day it was placed.

Profit

Revenue minus the cost of goods on those delivered orders (quantity × the product's cost price). You must fill the cost price on your products — if it's empty, profit equals revenue.

Orders

Every order created in the period, whatever its status (cancelled and returned included).

Delivered orders

Orders delivered inside the period.

Cancelled orders

Orders created in the period with status cancelled.

AOV

Average order total — shipping and payment fees included — across orders that were not cancelled or returned.

Visitors

Distinct visitor fingerprints that hit the storefront in the period.

Page views

Total storefront page loads.

New customers

Customer records created in the period.

Conversion rate

Orders ÷ Visitors, shown as a percentage (using the all-status order count).

⚠️ Warning — The KPIs don't reconcile with each other — by design

Revenue, Orders and AOV are computed from three different order sets and money fields. Revenue is delivered-only and windowed on the delivery date; Orders counts every status and is windowed on the creation date; AOV averages the full order total across non-cancelled, non-returned orders. So Revenue ÷ Orders will not equal AOV, and AOV × Orders will not equal Revenue.

Charts below the KPIs:

  • Peak buying hours: orders and page views for each hour of the day across the selected period, with the busiest sales hour highlighted.

  • Visitors & page views: unique visitors, page views and orders over time.

  • Orders by status

  • Top products — the 10 best-sellers ranked by units sold (cancelled and returned orders excluded), showing quantity, revenue (store owner only) and unique product-page views. Product names are not clickable.

  • Top wilayas: the 10 wilayas with the most orders in the period (all statuses), plotted by order count.

All charts respect the date range picker.

Staff accounts don't see financials

If a team member is not the store owner, revenue, profit and AOV are never sent to their account at all: they are not merely hidden in the interface. Staff see orders, visitors, page views and conversion rate; the revenue column disappears from Top products.

How visitor numbers are collected

Visitor and page-view counts come from a JavaScript beacon on the storefront. For each page view it records a browser fingerprint, the page type, the referrer domain, the traffic source, the device and a session ID.

Two limits worth knowing:

  • Visitors with JavaScript disabled, or who leave before the beacon runs, are not counted.

  • Tracking is rate-capped per visitor, so a single very heavy session stops adding page views after a point.

Advanced Analytics add-on (Enterprise)

The Advanced Analytics add-on adds a private Umami analytics instance hosted by DZBuild — cookie-free, and no visitor data leaves DZBuild. It is Enterprise-plan only, and is managed at /dashboard/addons/advanced-analytics.

What it adds over the built-in charts: real-time visitor count, overview and session reports, top pages and referrers, device / browser / OS and country breakdowns, period comparison, UTM breakdowns, custom events, performance metrics — and a funnel report, which the built-in dashboard does not have.

The add-on page also has a Full view button that opens your Umami dashboard in read-only mode: you can browse and filter the reports it shows, but you cannot create or edit reports there.

Connecting external tools

Google Analytics 4

Install via Pixels. GA4 receives the same storefront events DZBuild fires for Facebook (view_item, add_to_cart, begin_checkout, purchase), plus generate_lead when a visitor submits a landing-page custom form.

Google Tag Manager, Mixpanel, Amplitude

DZBuild does not push named events to the GTM dataLayer, so a GTM container on its own gives GTM nothing to trigger on. To get e-commerce events into GTM you must also add a Google Analytics (or Google Ads) pixel — the storefront then fires gtag('event', …) calls that GTM can pick up as Google-Tag events.

For Mixpanel or Amplitude, trigger a GTM Custom HTML tag off those Google-Tag events, or off window.trackPixelEvent.

Looker Studio / Power BI / your warehouse

Use the DZBuild API at https://api.dzbuild.app/v1:

  • GET /v1/orders — paginate through orders, filter by date. GET /v1/orders/{id} for one order.

  • GET /v1/analytics?range=30d returns the dashboard figures: the KPIs with their change against the previous period, plus orders, revenue, visitors, devices, traffic sources, top products and top wilayas. range takes the dashboard presets (today, yesterday, 7d, 30d, this_month, last_month, this_year) and defaults to this_month; range=custom&from=YYYY-MM-DD&to=YYYY-MM-DD covers up to 365 days. Revenue, profit and AOV are left out unless the key belongs to the store owner. Needs the analytics:read scope.

  • GET /v1/quotas returns your API key's request limits, handy for guarding a scheduled job. GET /v1/usage and GET /v1/usage/history count your API calls, not your sales.

  • GET /v1/customers, GET /v1/products, GET /v1/landing-pages for joins.

⚠️ Warning — API keys are Enterprise-only

Only the store owner on an active Enterprise plan can create keys, at /dashboard/api. Other owners see an upgrade card there, and team members see an owner-only notice. You create the key yourself, up to 3 per store, and it authenticates straight away.

For near real-time data, subscribe to webhooks. The add-on publishes seven order topics and nothing else: order.created, order.confirmed, order.processing, order.shipped, order.delivered, order.cancelled, order.returned. See Webhooks.

Privacy

DZBuild does not track customers across sites. Browser-side pixels (when you install them) do, but that's between you and the pixel provider — and DZBuild's CAPI sends only what you configure in Pixels.

DZBuild does not generate a privacy policy for you. If you need one, add it as a page or landing page and link it yourself.

Frequently asked

Q: Why is my visitor count different from Google Analytics? A: Different collection methods. DZBuild counts distinct browser fingerprints from its own beacon and caps very heavy sessions; GA counts sessions and applies its own bot filtering.

Q: Where do I see returns / cancellations? A: Filter the orders list at /dashboard/orders by status, or use the Advanced Order Management add-on. Via the API: GET /v1/orders?status=returned.

Q: Can I export the dashboard charts? A: No. The dashboard charts have no CSV or JSON export today. To get the underlying data out, use the API (GET /v1/orders, GET /v1/analytics) or the Google Sheets export add-on.

Q: How real-time is the data? A: The KPI counters and the charts are cached for 120 seconds per store and date range, and reloading inside that window returns the same numbers. While the dashboard home is open, a new order adds itself to the Orders counter and the recent-orders list straight away.

Did this answer your question?