Most analytics tools bury conversion tracking behind walls of configuration. Rule builders with AND/OR logic. Drag-and-drop funnel editors. Branching conditions. Complex segment filters you need a manual to understand.
We think that's backwards.
In Boxy, a goal is the simplest thing it can be: a single condition.
It's either an event name — like signup, purchase, or download — or a URL match — like /thank-you or /pricing.
That's it. No compound rules. No property filters. No regex builders. One goal, one condition, one conversion metric.
You name it something clear ("Newsletter Signup"), pick the trigger, and you're done. The dashboard immediately shows you conversions and conversion rate for the selected time range. Click the row to see the trend over time.
A funnel in Boxy is an ordered list of goals. Pick 2 to 8 goals, arrange them in sequence, and the funnel shows you how visitors flow through each step.
Step 1: Viewed Pricing → Step 2: Started Trial → Step 3: Subscribed.
The visualization is a horizontal bar chart. Each bar shrinks proportionally to the number of visitors who made it to that step. Between steps, you see the drop-off percentage. No ambiguity. No hidden calculations.
Want to know where your signup flow breaks? Build a funnel. The answer is immediately visible.
A common concern: how can conversion tracking work without cookies?
Boxy uses a hashed visitor fingerprint — a combination of user agent, screen resolution, timezone, and other browser signals, salted daily. This gives you reliable session and visitor identification without storing anything on the user's device.
When a visitor triggers a goal, Boxy counts that unique fingerprint hash. The conversion rate is the percentage of distinct visitor hashes who triggered the goal out of total distinct visitor hashes in the time range.
No cookies. No local storage. No consent banners needed. And the numbers are accurate.
Track four events with boxy.track():
boxy.track("viewed_pricing");
boxy.track("started_trial");
boxy.track("completed_onboarding");
boxy.track("subscribed");
Create a goal for each. Chain them into a funnel. You'll instantly see where users drop off — maybe onboarding is the bottleneck, not pricing.
Create URL-based goals for key pages:
/blog — reached the blog/docs — reached the docs/sign-up — reached sign-upBuild a funnel: Blog → Docs → Sign-up. Now you know if your content pipeline actually converts.
boxy.track("added_to_cart");
boxy.track("started_checkout");
boxy.track("completed_purchase");
Three goals. One funnel. Cart abandonment rate is right there in the drop-off percentage.
Every feature in Boxy follows the same principle: the simplest version that's actually useful.
A goal doesn't need compound logic. A funnel doesn't need branching paths. Conversion tracking doesn't need cookies.
Simple tools get used. Complex tools get abandoned.
Build your first goal in Boxy. It takes ten seconds. Then build a funnel. You'll have real conversion data before you finish reading this sentence.