For SaaS

Find the ads that bring you subscribers, not just signups

Someone clicks an ad today, starts a trial, and pays two weeks later. Clakta connects the payment to the click, then credits every renewal after it to the same ad.

Why ad numbers stop making sense for SaaS

Ad platforms expect the purchase to happen right after the click. A subscription gets paid for later, and then again every month.

  • The payment comes weeks after the click

    A visitor clicks, signs up, uses the trial for two weeks and then pays. By then the ad platform has lost track of who they were.

  • Renewals are never counted

    Attribution windows close after a few days. The second month of a subscription, and every month after it, isn't credited to any ad.

  • Your site never sees the charge

    The charge goes through your billing platform, and there's no thank-you page on your site for the pixel to fire on.

Signups

See which ad each new account came from

Call identify when someone signs up. Clakta turns the anonymous visitor into a named account and keeps everything they did before signing up.

  • One call with your user ID or email. Any other field you send, such as the plan or company, is saved on the customer.
  • Earlier sessions stay on the account, including the ad they clicked, the UTM tags and the pages they read.
  • Accounts that haven't paid yet show up as leads, so you can see which campaigns bring in trials.
Subscriptions

Keep counting after the first payment

Connect the billing platform you already use. Payments, renewals, refunds and disputes come in as they happen and go on the same customer.

  • Supported billing platforms connect in a few minutes. Any other system can send payments to the Orders API.
  • Some billing platforms copy the tracking from the first checkout onto each renewal, so the subscription stays credited to its original ad.
  • Refunds and chargebacks come off the revenue they reversed. A campaign whose customers ask for their money back stops looking like a winner.
Ads

Put more budget into the campaigns that bring paying customers

The cheapest signups often come from campaigns that almost never convert to paid. Clakta shows signups, paying customers and revenue side by side for each campaign.

  • Meta, Google, X and Pinterest share one table, measured on the payments your billing platform recorded.
  • ROAS, CPA, profit and margin are calculated from real revenue after refunds, not from what the ad platform reports.
  • Pause a campaign, resume it or change its budget from the same table, one at a time or several at once.
Sales cycle

Keep the whole path when buyers take weeks to decide

A buyer might read your pricing page three times, come back through a newsletter and upgrade after talking to their team. Clakta puts every one of those visits on a single timeline.

  • Each account has its own page showing every session, touchpoint and payment in order.
  • Switch between five attribution models. First click shows what brings in trials, and last click shows what gets them to pay.
  • Once a visitor is identified, their sessions from before and after signup are joined, even across devices.
Automation

Find out about new customers as soon as they pay

Workflows keep running while you do something else. Post new subscriptions to Slack, email the team when revenue passes a target, or change an ad budget.

  • Trigger on a new order, a new customer, a status change or a revenue threshold, then send a message, call a webhook or adjust a budget.
  • Ask the Assistant which campaigns brought the customers who renewed. It answers from your data and draws the chart.

Set it up in an afternoon

Three steps, most of which you can copy and paste.

Read the docs
  1. 1

    Add the script

    Install the SDK on your marketing site and in your app, so the visit and the signup end up in the same session.

  2. 2

    Identify on signup

    When someone creates an account or logs in, tell Clakta who they are.

  3. 3

    Connect where you sell

    Connect the platform you sell through in settings.

    If yours isn't supported, send each purchase to the Orders API with a request like this one.

Works with the platforms you sell and advertise on

Sales platforms

  • ShopifyShopify
  • HotmartHotmart
  • KiwifyKiwify
  • CaktoCakto
  • Lemon SqueezyLemon Squeezy
  • Dodo Payments
  • PaddlePaddle
  • WhopWhop
  • SuperwallSuperwall
  • RevenueCatRevenueCat
  • GumroadGumroad
  • WooCommerceWooCommerce
  • BigCommerceBigCommerce

Ads

  • Meta Ads
  • Google Ads
  • X Ads
  • Pinterest Ads
  • Snapchat

Using something else? Send payments to the Orders API and they're attributed the same way.

Questions SaaS teams ask

Yes. The account is attributed when you call identify at signup, and the payment is attributed whenever it arrives, however long that takes. For each campaign you see both the signups and the customers who paid.

It depends on your billing platform. Some copy the tracking from the first checkout onto every renewal, so the whole subscription stays credited to the ad that started it. On the others, each renewal arrives as its own order, and it's credited when the payment carries the visitor's session in its metadata.

Identify the account when they sign up or book a demo. Then send the payment to the Orders API with the same customer, and the deal is credited to the ads and visits that came before it.

Yes, in privacy-friendly mode. Visits and payments are still attributed, but individual visitors can't be identified, so identify calls are ignored and signups stay anonymous. The account-level view on this page needs full attribution mode, with consent.

Yes. Send each payment to the Orders API with the visitor's session ID and it's attributed the same way as a payment from a connected platform.

Put your ad budget where the sales are.

Add one script, connect your ad accounts, and Clakta starts tying every click to the revenue it brought in.

Start tracking free

Free to start, and nobody will call you.