AlterCPA Pro v.35

AlterCPA Pro v.35

Kitties, another development milestone is in the books! Our AlterCPA Pro v.35 and AlterCPA Lite have gotten quite a glow-up ahead of the summer. This release is a slightly meme-heavy longread, but for the first time in history, it contains actual news. You haven’t seen this even in the AlterCPA channel! No spoilers…

The Prettiful

I was messing around with a light redesign of the AffiCat ecosystem websites and sort of lost my mind a little. Please welcome the updated design of the AlterCPA tracker and platform — the Modern theme.

Trackers were switched to this theme automatically. Platform users can enable it with a single checkbox in the appearance settings. What’s new:

  • Pinky! Reznik’s favorite color is now available as a theme for your tracker or platform. Even in the classic theme. Okay, that was the biggest news. You can stop reading now, just enjoy.
  • The look was refreshed and made a little more modern, while still maintaining continuity with the classic style — the same compact tables that pack a ton of statistics.
  • The theme automatically picks the color scheme — light or dark — based on the user’s browser settings. Especially beautiful for those who’ve taught their phone to change themes based on ambient light.
  • Page size decreased by about 500KB. That’s how much the font loading and old styles with scripts were eating up. Noticeably so on mobile.

The Modern design isn’t a hundred-dollar bill — not everyone’s going to love it. Creating your own theme on top of it is dead simple with a pinch of AI. I’ll hand a ready-made Claude Code project to anyone who wants one — it comes with all the templates to easily tweak the skin, tune it to your brand style, or completely rethink the look.

The Tracky Stuff

Let’s switch from looks to functionality. While the haters keep yelling that it’s still not pretty enough, I invite you to dive into the features of His Majesty the tracker. In this milestone it picked up considerably more updates than the platform.

  • Flow ways now have priority levels. This mechanism lets you elevate one group of ways above another, or conversely cast it into the depths of the distribution. This way you can first drain a cap on one group of offers, and when it runs out — switch to the next group.
  • Caps in ways got a little smarter too — they learned to only count the target they’re actually supposed to. For example, you’re running an offer with registrations and deposits in different leads, and your cap is specifically on deposits — we count only those, registrations are ignored, counting accuracy is perfect.
  • Some split-test enthusiasts have absolutely no idea how probabilities work, how best-way optimization mechanisms work, or how other complex mathematical formulas work. If a hundred clicks came in — the first path must get fifty, and the second exactly fifty too. For exactly those people, we added stupid even distribution. It simply sends each click to the next available way in rotation.
  • A tracker isn’t only about leads — sometimes you need to track simpler events. Like whether a user visited the site, scrolled the page, or clicked somewhere. Especially useful in teaser networks, where bots flow like a river. For this, custom events have appeared — they attach to clicks, are sent from sites, and report any behavior you care about, whether scrolls or installs. Can be sent via postback!
  • Speaking of sites. In a flow and its ways you can now specify hidden fields that don’t end up in the URL but can be applied on the site. For example, with this mechanism you can specify a monetisation link directly in the flow, or test different texts and images depending on the way. Parameter not set — you can hide that block or show some default piece.

I could write a whole article about each point here, and somewhere on my channel these little articles even exist. Want a detailed breakdown of all the points? Come join us on Telegram.

The Statsy Stuff

The tracker and platform got useful statistics updates, to work better with iGaming-flavored offers — and just to work better in general.

  • A new tracking label arrived in both products — the customer identifier. This is where you need to put the player ID from your favorite casino, so you can conveniently track deposits, chargebacks, and other pleasant and not-so-pleasant events by it. Or you can just use it as an extra label.
  • The tracker now has order value. For nutra and product affiliates it serves its direct purpose — counting total and average order value, if anyone bothers reporting it. For the iGaming flavor, here you can collect actual player deposit amounts.
  • The lead card in the tracker now has a status change log — you can always find out at what exact moment the approval suddenly became a rejection, when the payout was cut, and who’s to blame.
  • An interesting metric was introduced in the tracker — click uniqueness rate. With it you can easily assess whether we’re feeding creatives to the same audience over and over.
  • Still on the tracker side, a full set of sub-parameters for interacting with app rental services has been added — now there are five of them, just like in the platform, for any system labels.
  • In the platform, one technical label finally got indexing. From now on you can search by subid — too many people are used to this parameter, affiliates don’t know anything about their leads except it.
  • The graphics got hit again. I rebuilt the chart in the statistics sections from scratch, so it always shows beautiful contrasting colors for all lines.

In the tracker all of this came together with a nice little touch — a new column settings form. I beautifully grouped all the metrics by type — no more a single endless list stretching across two screens. From now on the whole screen will be a full field of checkboxes, just like Minesweeper.

The Postbacky Stuff

Postback is the king and god of tracking. The beginning and the end. The Alpha and Omega. Bonnie and Clyde. Tom and Jerry. In short, an important thing that sometimes doesn’t get enough attention. For example, people look for them very carelessly and sometimes can’t find them in the tracker at all. To simplify the task, a magic “Postbacks” button has appeared on the flows page with examples for the user and the team, a ready-made common-use template, and a link to the documentation.

But those are incoming postbacks — those are more or less clear. Outgoing ones got even less attention — well, they were somewhere in the flows, whatever. But it’s time to show you a miracle, kitties, and the name of that miracle is Postbacks 2.0!

  • A separate collection of outgoing postbacks, configurable at any level — for a user, a team, or globally for the entire tracker.
  • A postback attaches to any lead label — for example, bound to a specific traffic source, a specific campaign, or globally to all leads. With binding to statuses and goals.
  • Quantity is unlimited, and it doesn’t interfere with the main lead-sending flow. The postback is sent asynchronously in a separate queue, after the lead has already changed.
  • There’s a special format — sending a message to Telegram. Notifications about new deposits and registrations are set up in a couple of clicks.
  • The special killer feature — pre-authorization support. Which means with such postbacks you can literally send leads to affiliate networks. Drop a lead from a form into the tracker, and it’ll fly off to the right affiliate network all by itself.
  • And for the hardcore paranoiacs — through a proxy and without saving to the log, so you can, for example, track your affiliates’ actions within the team.

With such postbacks you can implement any interesting integration functionality, but connecting to existing ad networks is something we wanted to simplify. So hot on the heels of CAPI from the extremist Facebook, we’re rolling out CAPI for TikTok. The principle is exactly the same — automatic postbacks in a simple interface where you specify the token and counter. The tracker handles the rest.

The Domainy Stuff

And the tracker again, our dear one. This time it’s domains getting attention — important and useful functionality from the platform has started migrating to the tracker.

  • We’ve mastered pulling data from WHOIS, and we extract the registration expiration date and current domain status from there. For practically all zones we can reach.
  • Based on expiration dates, at night we send out a sort of digest about dying domains to the affiliate. We can send to email, we can send to Telegram — however our beloved user-beast wishes.
  • Since we’ve gotten the hang of notifications, why not report errors too? A domain suddenly goes down or comes back up — we’ll tell you again in Telegram or by email.
  • A domain sometimes needs to be verified with a special file in its root, or you need to upload a service worker handler there, or drop manifest and robots files. For this case, domains now have “Verification files” — they work with any parked domains even without site storage.

I used to think that domains were a personal thing, just like underwear. There’s no such thing as shared underwear, just like shared domains. Reality turned out to be harsh, and sometimes a whole team shares the same domain. Dirty, yeah, but who am I to judge? So I made team domain parking. With all the verification and confirmation file features. But not out of pure goodwill…

So Call Me Maybe

Suddenly this heading escaped the cat-meme territory, and you didn’t even notice because you weren’t reading this article. If anyone was, drop something in the chat just for decency’s sake — I’ll be happy. Because I was happy to give our beloved advertisers built-in telephony. Meet the new jssip hack — and with it, a dialer!

  • We never got a SIP over WebSocket implementation from the noble IP-telephony providers — turned out that’s beneath them. But that’s fine, we’re not proud people — we thought about it and built our own TCP-WSS proxy implementation for SIP. All you need is a simple virtual server, and every team has one of those.
  • The phone button on the order page has become magic — press it, and the automation immediately calls the customer. By itself, right from the browser, right on the order page, without any third-party software.
  • All this magic works through a single SIP account for the whole company — meaning all you need to buy is one multi-channel SIP trunk, and it’ll cover all outgoing calls — routing is handled by the WSS-proxy.
  • And of course, the main feature everyone was asking for — the number can be hidden. Change the dialing URL in company settings to id:[id] and the phone number is invisible! The dialer requests the number from the server itself, receives it in encoded form, and places the call. The operator’s only job is to sell, not to steal the database — nothing but headaches doing that anyway.

By the way, this automation is available to everyone absolutely free in AlterCPA Moe. The telephony server is built-in there — just add a SIP trunk. That’s quite a decent CRM we’ve put together, and free too! Free in a way that it actually works…

The Redirecty Stuff

Remember our wonderful autologiner hack, which simulates autologin link navigation for lazy investment advertisers? The very ones who can’t manage to make their own call center work around the clock — must be from poverty, quite the investors.

So, in the basement of that hack you could drop a link to some clever service for quality redirect simulation. Except nobody had ever actually seen that service, apart from the most hardcore gurus who had reached the zen of antidetects and built such tools entirely on their own.

For everyone else, please welcome the creation of the AlterCPA dark genius for browser control, Vision — a full-featured simulator! Doesn’t simulate orgasms, but it handles autologin just fine. It lives in its own pen: cpa.st/autologin — download the little app, install it together with the Vision browser on a Windows server following the instructions, and enjoy. Yes, you’ll have to read the instructions. Just don’t forget to drop the magic link into the hack settings.

The Nicey Bits

In this milestone I’ve already dumped a whole pile of nice things on you, but let me throw in one more small handful — and behind each point here lies a ton of work done:

  • The AlterCPA Lite tracker has been completely rewritten for full support of PHP 8.2 and above — that very version of PHP developed by the progressive heroes of open source. Taking this opportunity, I’m sending rays of diarrhea to all the morons who decided to abolish dynamic typing in my favorite language. From now on AlterCPA Lite and its site storage work great on Debian from version 11 to 13.
  • Improved all traffic verification systems in AlterCPA One, which scan your internet and find unpleasant and dangerous characters in it. Now we catch proxies and VPNs much better, along with nasty moderators and other network riffraff. The downside — people who like to test the filter through a proxy will most likely get banned too, because why not — they’re the same kind of violators. They’ll figure out the whitelist for testing exists, and learning is always useful.
  • The Excel report generation function got flattened under the refactoring steamroller. Before, it output files in Excel XML format, which periodically failed to open in third-party office suites. Now we output proper XLSX — works everywhere, even in Numbers.
  • On top of Excel output, I also added Excel input. A new importxls hack appeared in the platform, which lets you load orders into the database from Excel files. Will come in very handy for call centers cold-calling a very-much-cooled-down lead database that someone borrowed from their previous job.
  • I’m gradually simplifying the ancient and over-engineered API interface for working with leads in the platform. I’ve set up universal API endpoints for sending and checking lead status, which work for both affiliates and agencies and companies. But I won’t show them to you, because they don’t have documentation yet.
  • Since I’m already simplifying life for regular users, I’ll fix the archives too. The ones with sites — whether for the tracker, platform, or white page storage. Now they’re automatically corrected on upload and the most common errors are fixed — a folder instead of files, hidden service folders, and all that sort of thing.
  • The diagnostics section can now install and remove phpMyAdmin right inside the platform and tracker. Need to dig around in the database — calmly install PMA, dig around, and remove it. Login only from within the platform, won’t let you in without the database password — foolproof protection included.
  • Had a good play with the site storage in the tracker. The storage lost almost completely and was stripped of any identifying marks on the outside. It’s now considerably harder to determine that you’re using one of the AlterCPA trackers. And finding a specific license by a properly configured storage — flat-out impossible!

THE SUDDENLY!

Kittens, I have two more pieces of news – good and bad. The good news is that I’ve suddenly created a new service for you. It’s AlterCPA TOP – a mini-tracker for tracking conversions in Telegram, which helps you build a complete funnel for all entries and exits from a group or channel. That was good news. But the bad news is that I didn’t write a single line in it… How could this happen? Read our latest issue!

The Wrappy-Up

That’s how another AlterCPA product development milestone turned out — came out pretty chunky. We closed old pain points, especially with sites, the dialer, and Excel. We got better-looking on the outside. And on the inside… well, there’s still plenty of work to do on the inside — I’m actively refactoring the platform so it works on the godawful PHP 8.2 and above too, stay tuned for a release soon!