Every published widget collects analytics automatically. This article explains what each event means, how the percentages are calculated, and where to find the breakdowns that help you actually decide whether a widget is working.
Where to Find the Data
- Open your website's dashboard and select the Widgets tab
- Click any widget in the list — its detail view opens inline
- Use the range switcher (7, 30, or 90 days) to set the period
The view leads with the widget's CTR and four stat cards, then a per-day chart, the event funnel, and the per-page and per-device breakdowns. The Widgets list (one level up) shows each widget alongside its key numbers for a quick comparison.
The Four Events
Every widget fires up to four event types per visitor, per impression.
Shown
Fired the moment the widget becomes visible on the page. Counts as one impression.
| Notes |
|---|
| One impression per widget appearance — if the widget appears twice in the same session (e.g. cap is "Always"), that's two impressions |
If the widget loads but is dismissed by another popup or by JS before it renders, no shown event is recorded |
shown is the denominator for every percentage on the dashboard |
Clicked
Fired when the visitor clicks the primary call-to-action button (the main one you defined on the Content step).
| Notes |
|---|
| Counts even if the link goes to an external site — the click is recorded before navigation |
| Multiple rapid clicks on the same button only count as one |
Secondary clicked
Fired when the visitor clicks the secondary button (if you configured one — e.g. "No thanks", "Maybe later"). Tracked separately because secondary buttons usually represent a softer signal than the primary CTA.
Dismissed
Fired when the visitor closes the widget without clicking — typically by:
- Clicking the X / close icon
- Pressing the Escape key
- Clicking outside the widget (for center modals)
- Tapping the dim overlay
Dismissals are useful negative signal: a high dismissal rate often means the offer doesn't fit the audience.
The Headline Metrics
| Metric | Formula | Reads As |
|---|---|---|
| CTR | clicks ÷ impressions | "% of viewers who clicked the main CTA" |
| Impressions | Count of shown | "How many times was the widget seen?" |
| Unique visitors | Distinct visitors shown the widget | "How many people saw it, ignoring repeats?" |
| Clicks | Count of clicked | "How many people clicked the main CTA?" |
| Dismissals | Count of dismissed | "How many closed without clicking?" |
CTR is the big number at the top; impressions, unique visitors, clicks, and dismissals are the four stat cards beside it. The dismissals card also shows the dismissal rate (dismissed ÷ impressions).
Reading CTR
A "good" CTR depends on the offer:
| Widget Type | Healthy CTR Range |
|---|---|
| Checkout-rescue discount | 8 – 20% |
| Newsletter signup | 2 – 8% |
| Generic "stay" prompt | 1 – 4% |
| Demo / sales request | 0.5 – 3% |
Take these as ballpark anchors, not targets. A 1% CTR can be excellent if the offer is high-value and your traffic is large.
Reading Dismissal Rate
| Range | What It Usually Means |
|---|---|
| 30 – 60% | Normal — most visitors who weren't going to convert just close |
| 60 – 85% | Offer is fine but mistargeted — try narrower page or device rules |
| > 85% | The widget is annoying or irrelevant — rewrite content or pause |
The Event Funnel
Below the headline metrics, the detail view draws a funnel of the four events so you can see how each impression resolved:
Shown 1,000 impressions
↓
Clicked 120 (primary CTA)
↓
Secondary clicked 40 (softer action)
↓
Dismissed 520 (closed, no click)
This is the quickest way to read a widget's overall reception: a tall "Clicked" bar relative to "Dismissed" means the offer is landing, while a funnel dominated by dismissals points to a targeting or messaging problem.
If you want to tie a widget's primary action back to a concrete outcome like a purchase or signup, point the primary button's link at a page you've set up as a goal, then track that goal on the website's analytics — goal completions live on the Analytics side, not inside the widget view.
Per-Page Breakdown
The detail view shows a table of the top pages where the widget fired:
| Page | Impressions | Clicks | CTR |
|---|---|---|---|
/pricing | 540 | 88 | 16.3% |
/checkout/cart | 320 | 19 | 5.9% |
/blog/launch | 140 | 13 | 9.3% |
Use this to spot pages that are pulling the average down — if /checkout/cart is at 5.9% but /pricing is at 16.3%, you might want a separate widget tuned to checkout-stage visitors.
Per-Device Breakdown
The same dimensions apply to device:
| Device | Impressions | CTR |
|---|---|---|
| Desktop | 720 | 14.0% |
| Mobile | 250 | 4.8% |
| Tablet | 30 | 9.0% |
Mobile CTR is almost always lower than desktop because the trigger (scroll-up + visibility-return) catches less-clear exit signals. If your mobile CTR is much lower than desktop, it's normal — but consider whether mobile visitors deserve a different message.
Time-Series View
A line chart shows impressions and clicks per day across the selected range. Two important behaviours to know:
Today vs. older days
- Today's data updates live — the view refreshes in the background so recent events show up within a minute or so
- Yesterday and earlier are aggregated and don't change once the day closes
This matters when comparing "today vs. yesterday at the same time of day" — yesterday is final, today is still in progress.
Time zone
Daily aggregates are computed in UTC, just like frequency caps. If your business is in a different time zone, expect slight off-by-one effects at the day boundary.
Comparing Widgets
The Widgets list view (one level up from a single widget) shows each widget next to its key numbers, so you can scan impressions, CTR, and dismissals side by side without opening each one.
Two widgets with identical content but different targeting rules can have very different CTRs — this view makes that obvious.
Troubleshooting Numbers
"Impressions" is 0 after publishing
- Check the widget is Active and within its scheduled date range
- Confirm targeting rules (try widening to "all pages" temporarily)
- Test in incognito so frequency caps don't suppress the trigger
- Wait a few minutes — there's a small delay between event capture and dashboard display
CTR seems implausibly high
- Multiple
clickedevents from the same impression are de-duplicated, but make sure the primary button isn't auto-clicked by a script you're testing - If you've been clicking through the widget yourself, those clicks are real — exclude your IP or test in a fresh session
Numbers don't match my external tool
Cross-tool reconciliation is hard. Common reasons:
- Different time zones (Zenovay rolls up in UTC)
- Different attribution windows
- Ad-blockers that suppress one tool but not the other
- Different definitions of "click" (some tools count
mousedown, Zenovay counts the full click)