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