Make it Count

Experience a simple yet powerful digital tally counter that measures and counts everything, enabling cookie-less tracking for better data-driven decisions. Start your 45-day free trial with full access

Start your 45-day free trial with full access, cancel anytime

New Customers
New Leads
Calls received
Forms submitted
Unique visits
Page views
SEO visitors
SEM visitors
E-mail marketing visitors
Direct visitors
SEO Leads
SEM Leads
E-mail marketing leads
Direct Leads
Signup, try it for free

Start your 45-day free trial with full access, cancel anytime


Start measuring, start improving

Start your 45-day free trial with full access, cancel anytime

Basic Plan

$29 /year

Perfect for small teams or individual users

  • 30 groups of counters
  • 100 counters total
  • API Access
  • Mobile Web App
Get started today

Pro Plan

$99 /year

Perfect for multiple projects

  • Unlimited groups of counters
  • 500 counters total
  • API Access
  • Mobile Web App
Get started today

Unlimited Plan

$199 /year

No limits

  • Unlimited groups of counters
  • Unlimited counters
  • API Access
  • Mobile Web App
Get started today

Data-driven decisions

How much? How many?

Gathering data, enables you to optimize processes, enhance user experiences, and drive growth.

Digital Tally counter API
Start pushing data, via API or manually via the mobile web app. With our powerful data collection capabilities, you can rest assured that you're getting accurate and reliable data in real time.
Visualize & Export
It's easy to explore your data, you can quickly get a clear picture of your data and make informed decisions based on the insights you uncover. You can just export it too.
Product screenshot

Automatic / Manual

API & Mobile Web App

As the saying goes, "You cannot improve what you cannot measure."

Use Counterify's API to collect data directly. Create counters on-the-fly
Data can come from any real life situation or scenario.
Not a boring dashboard
By pressing in any counter you can +1 at any moment. From a desktop you can view logs, charts and visualize data by period.
Product screenshot

Ultra Flexible

Use Cases

Counterify allows you to collect and show the data accumulated by period. You should check the dashboard.

Conversion Optimization Made Simple

Enhance your website's performance with conversion optimization. Utilize Counterify's data collection to perform A/B testing on elements and track user interactions effortlessly.

Low-Level Operations Tracking for Businesses

Take control of your business operations with low-level tracking. Monitor call details, support interactions, and customer complaints to improve overall efficiency.

Website Traffic Analytics

Measure your website's success with detailed analytics. Track visits, pageviews, and traffic sources to understand user behavior and refine your online presence.

Visualize Your Funnel

Gain insights into your conversion funnel. Quantify the flow of visitors to leads, customers, and repeat customers, enabling you to optimize your business strategy.

Monitoring the headcount in a facility

The typical gadget digitalized, in real time, shared and logged.

Real-time KPIs

Build you own KPI dashboard and maintain it nurtured in real time.

Marketing Funnel Visualization and Control

Gain comprehensive control over your marketing funnel with detailed visualization. Monitor each stage from awareness to conversion, identify bottlenecks, and optimize your marketing strategies for better performance and higher ROI.

SaaS Metrics

Track essential SaaS metrics effortlessly. Monitor key performance indicators such as MRR, churn rate, LTV, and CAC to make informed decisions and drive your subscription-based business towards growth and profitability.

Habits Tracking

Monitor and improve personal or team habits with precision. Use Counterify's tools to track daily activities, measure progress, and establish routines that contribute to long-term success and productivity.


Counterify API Documentation

This document provides quick start examples on how to interact with the Counterify API to manage counters via HTTP requests. To push data to counters via API, businesses can use any programming language that supports HTTP requests, allowing real-time tracking of user behavior or internal metrics.

Getting Started

Maximum flexibility allows seamless integration of Counterify's functionality into your websites or web applications for real-time tracking and analytics. You don't need to create counters upfront, If a counter doesn't exist, it will be created on the fly.

One public endpoint only:[Your API Key]&label=[Counter Label]&value=[Value]


Authenticate your requests by including your API key as a query parameter.

apikey: [Your API Key]
label: String 255 chars max
value: Integer

Example Requests

For non-developers

Ping HTML Attribute

Use the HTML ping attribute to send a GET request when an element is clicked. Check ping attribute compatibility with browsers

<a href="#" ping="">Click me</a>
Browser Request

Directly use the URL in a browser to send a GET request:

For Developers

It's a good practice to encapsulate the call into some backend function so your API key is not public, but it depends on the case. Ideally, you will make the request to an internal service, then this service will make the request to the Counterify API.

cURL Example
curl -X GET ""        
const apikey = 'XYZ';
const label = 'ABC';
const value = 10;

const url = `${apikey}&label=${label}&value=${value}`;

  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    return response.text();
  .then(data => {
    console.log('Response:', data);
  .catch(error => {
    console.error('Error:', error);

require 'net/http'
require 'uri'

apikey = "XYZ"
label = "ABC"
value = 10

# Construct the URI
uri = URI("")
params = { apikey: apikey, label: label, value: value }
uri.query = URI.encode_www_form(params)

# Create the HTTP GET request
response = Net::HTTP.get_response(uri)

# Check the response
if response.is_a?(Net::HTTPSuccess)
  puts "Response: #{response.body}"
  puts "HTTP Error: #{response.code} #{response.message}"
const https = require('https');

const apikey = 'XYZ';
const label = 'ABC';
const value = 10;

const url = `${apikey}&label=${label}&value=${value}`;


import requests

apikey = 'XYZ'
label = 'ABC'
value = 10

url = f'{apikey}&label={label}&value={value}'

response = requests.get(url)

# You can print the response if needed
PHP example
$apikey = "XYZ";
$label = "ABC";
$value = 10;

// Initialize a cURL session
$ch = curl_init();

// Set the URL and other options
curl_setopt($ch, CURLOPT_URL, "$apikey&label=$label&value=$value");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // Timeout after 10 seconds

// Execute the cURL session
$response = curl_exec($ch);

// Check for errors
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo 'Response:' . $response;

// Close the cURL session
Start trial for free

Start your 45-day free trial with full access, cancel anytime