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
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
Perfect for small teams or individual users
Perfect for multiple projects
No limits
Data-driven decisions
How much? How many?
Gathering data, enables you to optimize processes, enhance user experiences, and drive growth.
Automatic / Manual
As the saying goes, "You cannot improve what you cannot measure."
Ultra Flexible
Counterify allows you to collect and show the data accumulated by period. You should check the dashboard.
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.
Take control of your business operations with low-level tracking. Monitor call details, support interactions, and customer complaints to improve overall efficiency.
Measure your website's success with detailed analytics. Track visits, pageviews, and traffic sources to understand user behavior and refine your online presence.
Gain insights into your conversion funnel. Quantify the flow of visitors to leads, customers, and repeat customers, enabling you to optimize your business strategy.
The typical gadget digitalized, in real time, shared and logged.
Build you own KPI dashboard and maintain it nurtured in real time.
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.
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.
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.
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.
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:
https://api.counterify.com/count?apikey=[Your API Key]&label=[Counter Label]&value=[Value]
Parameters:
Authenticate your requests by including your API key as a query parameter.
apikey: [Your API Key]
label: String 255 chars max
value: Integer
Use the HTML ping attribute to send a GET request when an element is clicked. Check ping attribute compatibility with browsers
<a href="#" ping="https://api.counterify.com/count?apikey=XYZ&label=ABC&value=10">Click me</a>
Directly use the URL in a browser to send a GET request:
https://api.counterify.com/count?apikey=XYZ&label=ABC&value=10
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 -X GET "https://api.counterify.com/count?apikey=XYZ&label=ABC&value=10"
const apikey = 'XYZ'; const label = 'ABC'; const value = 10; const url = `https://api.counterify.com/count?apikey=${apikey}&label=${label}&value=${value}`; fetch(url) .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("https://api.counterify.com/count") 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}" else puts "HTTP Error: #{response.code} #{response.message}" end
const https = require('https'); const apikey = 'XYZ'; const label = 'ABC'; const value = 10; const url = `https://api.counterify.com/count?apikey=${apikey}&label=${label}&value=${value}`; https.get(url);
import requests apikey = 'XYZ' label = 'ABC' value = 10 url = f'https://api.counterify.com/count?apikey={apikey}&label={label}&value={value}' response = requests.get(url) # You can print the response if needed print(response.text)
$apikey = "XYZ"; $label = "ABC"; $value = 10; // Initialize a cURL session $ch = curl_init(); // Set the URL and other options curl_setopt($ch, CURLOPT_URL, "https://api.counterify.com/count?apikey=$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 curl_close($ch);
Start your 45-day free trial with full access, cancel anytime