How it works

Live in three steps, automatic after that.

The tracking snippet finds the banners on your pages, counts the ones actually seen on screen, and ties the click and the order that follows to the same banner. Your report is ready every morning.

5 min

Add the tracking snippet

Add the one-line snippet to Google Tag Manager or your site template. It loads asynchronously, is ~6 KB compressed and does not hold up page load.

<script async src="https://cdn.bannivo.com/bt.js"
  data-site="YOUR_SITE_KEY"></script>
5 min

Mark your slots

Define banner slots with a CSS selector in the dashboard; no changes to your site needed. Or, if you prefer, add one attribute to your HTML.

<div data-bt-slot="home-hero">
  <!-- your existing banner -->
</div>
5 min

Connect orders

If you have GA4 e-commerce tracking, the purchase event is read from the dataLayer automatically. To get around ad blockers, you can also send a signed webhook from your server.

// your existing GA4 setup is enough
dataLayer.push({ event: 'purchase', ... })
Metrics

Every number has a clear definition.

We don't hide our assumptions. The same explanation sits next to every metric in the dashboard.

Viewable impression

Counted when at least 50% of the slot stays on screen for at least 1 second (IAB viewability standard). In carousels, the banner showing at that moment is counted; once per page view.

Revenue attribution

If a visitor clicks a banner and places an order within 7 days, the order is credited to the last banner they clicked (last click, 7 days). The window can be changed per site.

Revenue per 1,000 impressions

To compare banners with different traffic fairly: revenue from the banner ÷ viewable impressions × 1,000.

Creative score

The banner's revenue per 1,000 impressions ÷ the average of banners in the same slot × 100. Without revenue, click-through rate is used; no score is given below 300 impressions.

Slot and heat map

Where each slot sits on the page, whether it is above the fold, what share of visitors scroll down to it and where clicks land.

Session

Plan limits are measured in monthly sessions: on pages with the tracking snippet, a new session starts after 30 minutes of inactivity; bots are not counted.

Last-click attribution does not prove that a banner created the sale on its own; it is a good indicator for decisions. A/B (incrementality) testing is on our roadmap.

30-day pilot

Decide with your own numbers.

The pilot is free and needs no card details. All features of your chosen plan are enabled; we do the setup together.

Day 0

Setup

Tracking snippet, slots and order connection. First banners in the dashboard the same day.

Day 14

Interim findings

A summary of the first two weeks and a short call: what we measured, what we can't see yet.

Day 23

Proposal

Your post-pilot price and founding customer discount.

Day 30

First 30 days report

Top 3 banners, 3 banners to replace, revenue per slot. The decision is yours.

If you don't subscribe after the pilot, data collection stops, the dashboard stays read-only for 30 days, and then your data is deleted.

Let us measure your banners free for 30 days.

15-minute setup, no fee.