Funnel Report
What the Funnel report needs to work and how to track each step of your conversion journey.
This documentation applies to the legacy Hardal platform. View current documentation or open the legacy dashboard.
The Funnel report visualises how users move through a sequence of events — from first visit to final conversion. It works with any events you're already tracking; no extra configuration is needed beyond making sure each step fires as a separate event.
How it works
Hardal counts the number of sessions that reached each step in order. A session must fire the events in sequence to be counted at each step. Drop-off between steps is calculated automatically.
The default funnel for an e-commerce signal is:
page_view → view_item → add_to_cart → begin_checkout → purchase
What each step needs
The funnel itself only requires that each event is tracked. For the best data, add context to your key events:
// Step 1 — auto-tracked by Hardal on every page load
hardal.track("page_view");
// Step 2 — user views a product
hardal.track("view_item", {
currency: "USD",
value: 99.99,
items: [{ item_id: "SKU-001", item_name: "Product Name", price: 99.99, quantity: 1 }]
});
// Step 3 — user adds to cart
hardal.track("add_to_cart", {
currency: "USD",
value: 99.99,
items: [{ item_id: "SKU-001", item_name: "Product Name", price: 99.99, quantity: 1 }]
});
// Step 4 — user begins checkout
hardal.track("begin_checkout", {
currency: "USD",
value: 99.99,
items: [{ item_id: "SKU-001", item_name: "Product Name", price: 99.99, quantity: 1 }]
});
// Step 5 — purchase complete
hardal.track("purchase", {
transaction_id: "ORDER-001",
value: 99.99,
currency: "USD",
items: [{ item_id: "SKU-001", item_name: "Product Name", price: 99.99, quantity: 1 }]
});
Use the same item_id and item_name across view_item, add_to_cart, and purchase. Inconsistent item identifiers break the Items report and make funnel-level product analysis unreliable.
Custom funnels
You can build funnels around any events. For a lead generation funnel:
hardal.track("page_view"); // Step 1 — landing
hardal.track("sign_up"); // Step 2 — registration
hardal.track("trial_start"); // Step 3 — trial
hardal.track("purchase", { ... }); // Step 4 — conversion
The Funnel page in the dashboard lets you select which events form each step.
Common setup issues
| Symptom | Likely cause | Fix |
|---|---|---|
| Steps show 0 sessions | Event name mismatch | Check the exact event name used — add_to_cart ≠ addToCart |
| Funnel not appearing | Events not firing in order | Verify each step fires via the Events page in analytics |
| Drop-off looks wrong | Same session fires steps out of order | Ensure events fire only when the action actually occurs |
View Funnel report
See your live funnel performance in the analytics dashboard