How we check every value
The directory lists facts, not opinions. Each number comes with the date of the check, and a value we could not confirm is shown as a dash.
Every value in the directory comes either from a check we run ourselves or from the vendor’s own public pages. This page describes how each kind of value is collected and what the labels in the table mean.
Script size
We measure the tracking file that the vendor’s installation guide tells you to add to your pages. When that address contains an account or site ID, we use an address from the vendor’s documentation, a public demo or the vendor’s own website. Some tools have no separate file: a plugin may print its script directly into the page, or the code may come as an npm package that is built into your app. In that case we measure that code as the vendor ships it, and the tool’s card says what was measured.
We download the file, following any redirects, and record two sizes: the file itself, uncompressed, and the same file compressed with gzip at the highest compression level. The table shows the compressed size; tool cards show both. Servers deliver files with different compression settings, so the number of bytes your visitors actually download can differ from ours. Compressing every file the same way keeps the numbers comparable across tools.
The size covers that one file. It does not include other files the script may load later or the requests it sends. Where the file only loads the main script, the table marks it as a loader. What a vendor serves can also depend on configuration, so the file on your own site can be larger or smaller than the one we measured, depending on which modules are switched on.
We keep a fingerprint of every file we measure, so a later measurement shows whether the content has changed, not only the size. If the address returns an error or a web page instead of a script, that run records no new size. “Not measured” means there is no successful measurement on record for the tool. The date under each size is the day of the measurement.
Prices
We read the vendor’s public pricing page as a visitor sees it; pages that build their prices with JavaScript are opened in a browser. We record prices for monthly billing, without VAT, in the currency the page shows. When a vendor sells paid plans only with annual billing, we show the monthly equivalent of the annual price and mark it “billed yearly”. If the page lets you switch currency, we record US dollars. We do not convert between currencies.
- Entry price is the lowest monthly price of the vendor’s hosted plans. “Free” means that the vendor has a free hosted plan or offers the tool only for self-hosting.
- At 100k / month is the monthly price of the cheapest hosted plan that covers 100,000 units a month, in the unit the vendor bills, such as pageviews or events. The unit is shown with the price. We do not convert between units, so compare this column only between tools that bill in the same unit. “Free” means that a free plan covers this volume or, as with the entry price, that the tool is offered only for self-hosting.
- On request, in either column, means the vendor does not list a price for that plan on its pricing page and gives it individually, for example after you contact sales or sign up.
- No longer sold means the service has closed or no longer takes new customers. The tool’s card shows the status and its source.
- Free plan is “Yes” only when the vendor offers a free hosted plan with no time limit. Free trials and free self-hosting do not count.
Where the directory has a separate pricing page for a tool, that page lists the vendor’s published prices by volume. The date under a price is the day we last read the pricing page.
Features
Feature values come from the vendor’s own pages: documentation, pricing page, privacy policy, data processing agreement, code repository and announcements. They describe what the vendor documents; they are not the results of our own tests of each feature. The Cookieless column is the one exception: where a script that the vendor calls cookieless keeps a lasting identifier in the browser, the column follows what the script does, and the tool’s card explains the difference.
- Partly means the feature exists, but with limits or only on some plans. A feature that a vendor sells only on higher plans, as a paid add-on or as a separate edition is marked “Partly”, and the tool’s card names the plan. A cap on how many of something a plan includes, such as the number of funnels or the number of steps in one, leaves the column at “Yes”; the numbers belong on the tool’s card. In the Cookieless column, “Partly” means the tool has a cookieless mode that is not switched on by default.
- A dash means we could not confirm the value.
- Platforms and frameworks on a tool’s card record what the vendor documents for a shop platform, a site builder, a framework or a tag manager. “Yes” means the vendor publishes its own app, plugin, package or guide for it. “Partly” means the integration is written by someone else, or the vendor names the platform without documenting more than its standard snippet. A platform that is not listed on a card has no documentation from that vendor; a WordPress plugin on its own does not count as support for WooCommerce, because a shop needs the order, cart and product events that only some vendors document.
- Data retention is the period the vendor keeps data on its cheapest paid plan, because that is the plan most buyers start with. For tools with no paid plans, and for software you run yourself, it is the period the free service or the software allows. “Configurable” means you set the period yourself, and “Unlimited” means the vendor sets no end date.
The main columns use these definitions:
- Cookieless: by default, the tracking script sets no cookies and stores no identifier in the browser that outlasts the current tab. See what “cookieless” means here.
- Open source: the code is published under an open-source license. Code that is public but under a license that restricts its use is not counted. See open-source web analytics you can self-host.
- Self-hosting, shown in the label under the tool name: the vendor provides an official way to install the tool on your own server.
- Data in EU: the vendor’s hosted service stores data in the EU or lets you choose an EU region.
Tool cards show statements such as “No consent banner needed” and “No personal data collected” as the vendor’s position. They are not our conclusion and not legal advice.
Status
- Active: on the date shown, the vendor’s website opens, sign-up or purchase is available and the tracking script is served.
- Paused: the service still works, but the vendor has published no releases, code changes or changelog entries for at least nine months.
- Closed: the vendor has announced a shutdown, or the service no longer works. The tool stays in the directory with the closing date and a link to the vendor’s announcement, and the shutdown is recorded in the market log.
- Merged: the product still runs for the customers it has, but it is no longer sold on its own, because the vendor now sells it as part of another product. New accounts cannot be created. The tool stays in the directory with a link to the vendor’s own statement, the price columns read “No longer sold”, and the tool is left out of the criterion pages, because those answer the question of what to choose today.
- Closed and merged tools stay in the table but not in the criterion pages. The table is the record of the market, so the numbers in the list at the top of the directory cover every tool in it. A criterion page answers the question of what to choose today, so it leaves out anything you can no longer sign up for; that is why its count can be lower than the same number at the top of the table.
The date under the status in the table is the day of the last status check.
What we do not do
- No overall score. Tools are not rated, ranked or given stars. The page on why there is no overall score explains the reasoning.
- No paid placements. No row is promoted, highlighted or labeled as recommended. Rows are sorted by name until you sort them by a column.
- No user reviews. The directory does not collect or publish user reviews or user ratings.
Corrections
If you find a value that is wrong or out of date, tell us through the contact page. Please include the tool name, the value and a link to the vendor’s page that shows the current information. When we change a value, its date changes as well.