Skip to main content

Troubleshooting Metrics

This article details how you can utilize Custom Tables to quickly debug your metrics & discover how your data is pulling through.

Sachi avatar
Written by Sachi
Updated this week

Overview

When a number doesn’t look right, it can be frustrating — especially when you’re not sure why it’s happening or where to start. The good news is that most metric issues come from a small set of common causes, and Polar gives you the tools to track them down.

In this article, we’ll show you a simple, repeatable way to troubleshoot metrics using Custom Tables. Custom Tables let you look at the raw data behind your dashboards so you can:

  • See exactly which records are included in a metric

  • Rebuild a metric step by step

  • Find where a mismatch or discrepancy starts

By the end, you’ll know how to confidently answer the question: “Why does this number look wrong?”


Section 1: Start With the Basics — What Is This Metric Actually Counting?

Before opening a Custom Table, it helps to be clear on what the metric is based on.

Step 1 — Identify the “building block” of the metric

Every metric is built from something more basic, like:

  • Revenue → orders, payments, or invoice line items

  • Orders → order records

  • AOV → revenue divided by orders

  • New customers → customers with their first purchase in a date range

  • Refunds → refund or adjustment records

Think of this as the unit the metric is counting or summing.

👉 Tip: It’s almost always easiest to debug metrics at the most detailed level (for example, orders instead of daily totals).


Section 2: Create a Debug Custom Table

Step 2 — Build a Custom Table just for debugging

  1. Go to Custom Tables

  2. Click Create table

  3. Choose the dataset that matches your metric’s building block

    • For revenue issues, start with Orders

  4. Give it a clear name like:
    Debug – Revenue (Orders) or Debug – New Customers

This table is your “source of truth” while troubleshooting.


Step 3 — Add columns that help explain the number

Start by adding a few key columns so you can easily compare and trace records.

Always include:

  • ID (order ID, customer ID, etc.)

  • Created date

  • Status (paid, refunded, canceled, etc.)

  • Currency

  • Amount fields (gross, net, discount, refund — whatever applies)

Often helpful:

  • Marketing source or channel

  • Product or SKU

  • Customer type (new vs returning)

  • Refund or adjustment fields

  • Tags or flags you use in filters

These extra columns make it much easier to spot patterns or outliers.


Section 3: Check Your Dates and Filters Carefully

Step 4 — Use a “safe” date range

When debugging, always start with a closed time period, like:

  • Last week

  • Last month

  • A specific day that’s already complete

Avoid “Today” or “Yesterday” until you’re confident the logic is right.

Also double-check which date field you’re using:

  • Order created date

  • Order paid date

  • Charge captured date

💡 Helpful trick:
If you’re unsure which date matters, create two tables using different date fields and compare the results. Differences here often explain the issue immediately.


Section 4: Rebuild the Metric Step by Step

Step 5 — Recreate the metric inside the table

Now you’ll rebuild the metric using the table data, one piece at a time.

Example: Debugging Net Sales

  1. Add columns for:

    • Gross sales

    • Discounts

    • Refunds

  2. Calculate:

    • Net Sales = Gross – Discounts – Refunds

  3. Compare:

    • The total from your Custom Table

    • The total shown in your dashboard

If they don’t match, you now know the issue is inside the logic — not the data itself.


Example: Debugging Orders

  1. Add Order ID and Status

  2. Filter to the statuses you expect (usually “paid”)

  3. Count unique Order IDs

  4. Compare that number to the dashboard

Most order mismatches come from status filters.


Example: Debugging New Customers

  1. Start from customers or orders

  2. Add:

    • Customer ID

    • First order date

    • Order date

  3. Filter to customers whose first order falls in your date range

  4. Count unique customers

Different tools often define “new” slightly differently, so this step is key.


Section 5: Find Exactly Where Things Break

Step 6 — Narrow it down until the mismatch appears

If totals still don’t match, break things down:

  1. Compare totals by day

  2. Find the first day that looks different

  3. For that day, group by:

    • Status

    • Channel

    • Product

  4. Look at the individual records (IDs)

This approach quickly shows which records are missing, duplicated, or categorized differently.


Section 6: Common Issues (and What They Usually Mean)

Revenue is higher than expected

  • Order totals are being counted multiple times

  • Line items are inflating totals
    ✔️ Fix: Make sure you’re not summing order totals at the line-item level

Revenue is lower than expected

  • Missing statuses (e.g., only “fulfilled” included)

  • Refund timing differences
    ✔️ Fix: Align status and refund logic with your definition

Orders don’t match Shopify or Stripe

  • Different date fields

  • Pending or canceled orders included/excluded
    ✔️ Fix: Compare order IDs for the first mismatching day

New customer counts are off

  • Different “first purchase” definitions

  • Refunds or cancellations affecting logic
    ✔️ Fix: Confirm how “new” is defined and applied


Conclusion

Custom Tables make troubleshooting much less intimidating by letting you see — and rebuild — exactly how a metric is calculated.

A simple checklist to remember:

  1. Identify what the metric is based on

  2. Create a dedicated debug Custom Table

  3. Add IDs, dates, statuses, and amounts

  4. Use a closed date range

  5. Rebuild the metric step by step

  6. Break it down until the mismatch appears

Once you find the cause, fixing the metric is usually straightforward.

Still Need Help?

If you’re unsure how your raw data is pulling into Polar, or if you’d like assistance with Custom Table, reach out via our in-app live chat—our Support Team will be happy to help.

Did this answer your question?