Choosing a tracker looks like a technical question, but it is really a decision about what you will be spending time on three months from now: campaigns or a server. Below, without marketing, is how a cloud tracker differs from a self-hosted one, what hidden costs each has, and how to tell which one suits you. General selection criteria that do not depend on the model are collected in best tracker for affiliate marketing: how to choose and test.
Cloud tracker vs self-hosted tracker: the difference
A tracker is a system that records every ad click, links it to a conversion and calculates spend, revenue and profit. If the topic is new to you, start with affiliate tracker: what it is and why you need one.
By where the tracker lives, there are two types:
- Cloud tracker (SaaS) — a service running on the developer's infrastructure. You sign up, get a dashboard and set up campaigns right away. Servers, databases, updates and scaling are the service's problem.
- Self-hosted tracker — software you install on your own server, usually a rented VPS. You buy a license, install the tracker, attach a domain and SSL, and from then on you watch load, updates and database backups yourself.
Functionally, good trackers of both types do the same things: parameters, postbacks, spend, reports by dimension. The difference is who is responsible for everything around them.
Comparison by the main criteria
| Criterion | Cloud tracker | Self-hosted tracker |
|---|---|---|
| Launch | Minutes: sign up and configure | Hours or days: server, install, domain, SSL |
| Maintenance | On the service side | On you: updates, monitoring, disk space |
| Scaling | The service scales itself | You buy resources and move the database |
| Backups | Done by the service | You set them up and test them |
| Data control | Data lives in the service's infrastructure | Data lives on your server |
| Customization | Within what the service offers | Deeper: your own scripts, database access |
| Updates | Arrive automatically | Installed by hand, sometimes breaking things |
| Costs | Subscription | License + server + admin time |
Neither column is "right". The table just shows where responsibility lies.
The hidden cost of a self-hosted tracker
Media buyers often go self-hosted for the feeling of control and savings: a license plus a cheap VPS looks cheaper than a subscription. But that formula rarely includes time.
What you will have to do yourself:
- Watch disk space. The click database grows every day. A server that ran fine for a month suddenly starts lagging, and when the disk fills up, clicks simply stop being recorded.
- Update the tracker and the OS. Updates close vulnerabilities and add new traffic source templates. Skip them and you work with old macros; install one badly and you are fixing it at night.
- Make backups and test them. A backup you have never restored from is a hope, not a backup.
- Monitor uptime. If the server goes down at 3 a.m., ads keep running and clicks go nowhere. Without alerts you will find out in the morning — from the ad account bill.
- Renew SSL and domains. An expired certificate breaks redirects just as reliably as a dead server.
If the team has an admin, all this is routine. If a media buyer works solo, each of these tasks eats time that should go to tests and creatives.
Tip. Count not only the server price but also the monthly hours of maintenance. Multiply by what your hour is worth — that line often decides the choice.
When a cloud tracker pays off
The cloud option is usually better if:
- you work solo or in a small team with no dedicated tech person;
- you need to start fast — a funnel today, a test tomorrow;
- traffic comes in waves: a thousand clicks today, a hundred thousand tomorrow, and you do not want to keep a server "for growth" in advance;
- your team needs to work in one dashboard with roles and access levels (more in affiliate marketing in a team);
- you want new traffic source and network templates without manual updates.
A separate cloud advantage is built-in integrations. Affiliate network templates, sending conversions to ad accounts, cost import — the service team maintains all of that, not you.
When a self-hosted tracker makes sense
Your own server makes sense if:
- you have a large team and an admin for whom maintaining the tracker is part of the job;
- you need direct database access: custom exports, a link to an internal BI system, non-standard calculations;
- you have worked in one tracker for years, have hundreds of campaigns set up, and moving would cost more than maintaining it;
- your or your client's data storage requirements are stricter than a third-party service can meet.
If you already live in a self-hosted tracker and it suits you, there is no point switching for the sake of fashion. It makes more sense to add what it lacks — bot filtering, for example. More on that below.
Redirect speed and where the tracker sits
Speed is a common argument in this debate. The logic goes: "my server is closer to the audience, so the redirect is faster." That is only partly true.
The speed a visitor feels is made of several segments:
- from the device to the point where the decision is made (the tracker or code on the landing page);
- the time it takes to process the click;
- from the tracker to the landing page or offer.
If the tracker sits in one country and the audience is in another, there will be latency with any model. Meanwhile an extra redirect often matters more than distance: every hop between domains is one more connection, one more certificate check and one more chance that a mobile user closes the tab.
So the more useful question is not "cloud or server" but "how many hops does a visitor go through before the landing page". A setup where the decision is made right on your landing page (code in the page or a file on your server) is usually shorter than an "ad link → tracker → landing page" chain.
Data and access: who sees it
With a self-hosted tracker the data lives on your server. That is a plus, with a caveat: the server also has a hosting provider, and protecting it is on you. A weak panel password, an open database port, a forgotten account of a media buyer who left — and control becomes nominal.
With a cloud tracker the data is stored by the service. So check how it protects access:
- is there two-factor login protection;
- can you split team members' access by section and project;
- how are ad account keys and tokens stored — in plain text or encrypted;
- can you export your data.
For a media buyer what matters most is not the model but which people see the numbers: the client, the team lead, the buyer. For external clients, guest report links are handy: they show clicks and revenue but not spend or settings.
How it works in ArtisanClo
ArtisanClo is a cloud service: the dashboard, reports and decision engine run on our side. At the same time your site stays with you. The ad points to your landing page, and the link to ArtisanClo is made by one of two connection methods:
- JS tag — a line of code as the first line in the page's
<head>; - PHP file — a file on your server that receives the visit before the page is shown (for WordPress there is a plugin that installs the same PHP method).
Both methods are covered in detail in how to connect a cloaker to your site: JS tag or PHP file.
A flow has three modes: "Cloaking" (filtering without tracking money), "Tracker" (everyone goes to the offer; clicks, conversions, spend and profit are counted, and bots are only flagged in reports) and "Cloaking + Tracker". The "Tracker" mode without filtering works when connected via the PHP file, the Keitaro filter or the Binom gateway.
If you already have a self-hosted tracker
You do not have to move. ArtisanClo plugs into the tracker you already run:
- in Keitaro — as a flow filter: Keitaro asks ArtisanClo whether to let the visit through to the offer, and your flows decide where to send it;
- in Binom — as a gateway in the landing page: the file is included as the first line of the landing page and decides before it is shown.
You can keep counting money in your own tracker. In the flow's "Tracker" step you choose an external tracker — from the list or "Other tracker" — and CR and revenue appear in the cloaking stats. More in Keitaro + cloaker and Binom + cloaker, and the list of ready integrations is on the tracker integrations page.
Domain, SSL and the ad link
A separate question that comes up when choosing a model is which domain the ad platform and the visitor see.
If the ad points directly to a tracking link, the tracker domain ends up in the ad. With a self-hosted tracker it is your domain on your server: you buy it, attach an SSL certificate and keep it renewed. A cloud tracker usually lets you connect your own domain or use the service's domain — in which case check whether you share it with hundreds of other clients.
If the tracker code sits on your landing page, only your site address appears in the ad, and no tracking domain gets into the ad at all. This setup removes several issues at once: no need to buy and warm up a separate tracker domain, no extra redirect, and the platform's parameters arrive straight on the page.
Tip. Whatever model you choose, keep a renewal calendar: domains, certificates, tracker license. An expired domain in a live campaign is one of the most annoying ways to lose a day of traffic.
How to move from one tracker to another without losses
If you decide to switch models, do not flip everything over in one evening. A safer path:
- Move the reference data. Traffic sources, affiliate networks, offers, parameter scheme. It is faster than it seems if the new tracker has ready templates.
- Launch one test campaign in the new tracker alongside the old one. Walk the click path by hand and send a test conversion.
- Reconcile the numbers over a few days: clicks, conversions, revenue. A couple of percent difference is normal; a difference of several times means a mistake in the parameters or the postback.
- Move new campaigns over and let the old ones run out in the previous tracker. By this point network postbacks should go to both systems or be split by offer.
- Switch off the old tracker only once conversions with long hold periods have stopped arriving there.
Historical clicks almost never transfer without losses, so keep exports of the old reports. A table by day and campaign is enough to reconcile the transition period.
Checklist: how to choose between a cloud and a self-hosted tracker
Answer honestly:
- Do you have someone who will maintain the server? No — go cloud.
- Do you need direct database access for your own calculations? Yes — a self-hosted tracker, or a cloud one with an API and exports.
- How uneven is your traffic? Big spikes are easier to handle in the cloud.
- How many campaigns already live in your current tracker? Hundreds — moving is expensive; better to extend the current one.
- Who else looks at the reports? Team and clients — check roles, access and guest links.
- Which traffic sources and networks do you use? Check for ready templates, otherwise you will build every integration by hand.
- Do you need bot filtering? If so, decide whether it lives inside the tracker, in a separate service, or everything in one dashboard.
Whatever you choose, first check the most important thing: the end-to-end path of the click ID. More on that in click ID and sub ID: how to tie a click to a conversion.
Summary
A cloud tracker buys you time: launch in minutes, no servers, updates or night-time outages. A self-hosted tracker gives deep control and database access, but needs someone to look after it. If you already have a tracker that works, it is smarter not to replace it but to add what is missing, such as bot filtering, plugged in as a filter or gateway. What ArtisanClo plans include is on the pricing page.



