---
title: Campaign Performance Tracking | Torke
url: https://torke.tech/engine/ledger
description: Torke Ledger puts Google Ads, Search Console and GA4 in one file and judges each campaign weekly against its own target, refusing samples too small to read.
---

# One weekly read of every campaign

Torke Ledger is a Torke Node, one part of Torke Engine, and you can buy or rent it on its own. It puts your Google Ads, Search Console and GA4 figures in one file next to what each campaign set out to do, and every week it tells you which changes are large enough to act on and which are too small to read.

Diagram: How Torke Ledger works

Torke Ledger runs in steps: pull the sources, tidy the figures, register each campaign, write the weekly review.

## What is campaign performance tracking?

Campaign performance tracking is the work of measuring what each marketing campaign produced, such as clicks, conversions and cost per conversion, and comparing it with what the campaign was meant to achieve. Torke Ledger does this every week for Google Ads, Search Console and GA4, judges each campaign against the target recorded when it started, and only calls a change when both weeks hold enough data to support it.

## Why can't your team learn from last week's results?

Campaign results usually sit in three places that don't talk to each other. Google Ads shows clicks and cost, Search Console shows which searches found your site for free, and GA4 shows what visitors did once they arrived. None of the three remembers why a campaign was started, so a result can be read but rarely learned from, and a week where three conversions became six looks like a doubling when it tells you nothing.

Torke Ledger closes both gaps in the same file. Each campaign is registered when it starts with its objective, the bet behind it, the one number that counts as success and its target. The weekly review then compares the last complete week with the one before, campaign by campaign, and calls a change readable only when both weeks clear 100 clicks and 10 conversions, the default floors in its configuration.

In the demo review of 15 October 2026, with figures generated by the demo rather than taken from an account, a campaign aimed at booked calls from people searching for ABM help had a target cost per conversion of 60. That cost rose from 48.81 to 53.32 in the week of 5 to 11 October. The review marked the target as met, counted the comparison as readable, and proposed no lesson, because a rise of about 9 percent sits under the 20 percent move the ledger requires before it writes one. The same review flagged a second campaign that had spent 2,308.70 with no recorded purpose.

The floors are also the limit. An account with fewer than 100 clicks a week will see its numbers reported and labelled too small to judge for weeks at a time, which is correct but slower than many teams expect. What changes for your team is where Monday starts: one report that judges each campaign against the goal written when it began, and a log of confirmed lessons that a dashboard never keeps.

## How does Torke Ledger work?

Each step says who does it. Anything with a written rule runs in code, a model works only where judgment on free text is needed and always under a code check, and a person decides whatever someone must answer for.

### Pull the sources

Who does it

Code

What happens

Google's own client libraries copy Google Ads, Search Console and GA4 into one DuckDB file, re-reading the last 14 days of Google Ads so late conversions are counted. Each report is a custom query defined in configuration, so the column names stay fixed.

### Tidy the figures

Who does it

Code

What happens

SQL views rename, type and deduplicate the data. Google Ads re-reads the last 14 days for late conversions, so the newest copy of each day wins.

### Register each campaign

Who does it

Person

What happens

Once per campaign, someone ties a Google Ads campaign ID, a utm_campaign and a landing path to one ledger entry with its objective, hypothesis, success metric and target.

### Write the weekly review

Who does it

Code

What happens

The last complete week is compared with the week before against each target. A change counts as readable only when both weeks clear the click and conversion floors, and spend with no ledger entry is listed separately.

### Propose a lesson

Who does it

Code

What happens

A lesson is proposed only from a readable move of 20 percent or more on the campaign's own success metric.

### Confirm the lesson

Who does it

Person

What happens

A proposed lesson counts for nothing until someone confirms it with its cause named, or rejects it.

## What do you receive?

### A weekly review in one document

Each campaign against its target, the week before beside it, and a plain statement wherever the sample is too small to judge.

### Spend with no stated purpose

Every Google Ads campaign spending without a ledger entry, so nothing runs for long without an objective.

### Six saved questions

Paid searches where you already rank in the organic top three, organic searches paid has never bought, landing pages, channels, campaigns against target and unlinked spend, over the last 28 days by default.

### A log of confirmed lessons

Every lesson with its campaign, the query behind it and the cause a person named when confirming it.

## Where does it stop?

It never calls a change real on a small sample, so below 100 clicks or 10 conversions in either week the review shows the numbers and says the sample is too small. It never treats a lesson as learned until a person confirms it.

It never edits the figures it copied, its question tool refuses any statement that would write, and it has no way to change a bid or a budget in your ad accounts. No step uses a language model, although your assistant can read the same file through the read-only question tool, which stops at 200 rows.

It reads Google Ads, Search Console and GA4 today. Other ad platforms, such as LinkedIn or Meta, are not connected.

## Who is it for?

Who gets the most from Torke Ledger, and when another tool or no tool is the better answer.

### A good fit

- A team spending on Google Ads that also cares about organic search.
- A team that wants each campaign judged against a target written before it started.
- A team that would rather wait a week for a readable answer than act on noise.

### A poor fit

- An account whose weekly volume stays far below 100 clicks and 10 conversions for months, because the review will keep reporting that it can't judge.
- A team whose spend runs mostly on platforms the ledger doesn't read yet, such as LinkedIn or Meta.

## Part of Torke Engine, and available on its own

Torke Ledger is the measuring node of Torke Engine and the first working version of the engine's performance warehouse and learning loop. It reads your own ad and analytics accounts, and each ledger campaign can be joined to first-party site tracking through its utm_campaign. To run it, you give read access to your Google Ads account, your Search Console site and your GA4 property through one sign-in, and the sync runs on our server when you rent it or in your own setup when you own it; secrets stay in a private settings file and are never printed. On the [Torke Engine](https://torke.tech/engine) page it appears as the weekly performance read.

Torke Ledger is a Torke Node, so you can run it on its own or inside Torke Engine with the other nodes, and add the others later without starting over.

## How much does Torke Ledger cost?

Three ways to run it. Prices are in Swiss francs, excluding 8.1 percent VAT, and media or third-party data you choose to add is billed at cost.

Run by Torke CHF 1’900

a month

- We operate Torke Ledger for you inside Torke Service: the setup, every run, the checks and a named operator who answers for the output each week. [How Torke Service works](https://torke.tech/service)

Rent it, where most teams start CHF 690

a month

- Your team runs it from its AI assistant or the command line. Setup, the first supervised run, updates and support are included, and you can stop with 30 days' notice. [Rent Torke Ledger](#get-in-touch)

Own it CHF 6’900

once

- A licence to run it on your own infrastructure with no monthly fee, the setup session included. Updates and support are optional at CHF 1’400 a year. [Ask about owning it](#get-in-touch)

## Where does it stand today?

We built Torke Ledger on Torke's own accounts first. The code runs end to end on synthetic data shaped like a real sync, its 35 automated tests pass, and since 19 October 2026 it reads Google's data through Google's own Apache-licensed client libraries, which is what lets us run it for you as a hosted service. It has not yet read a real account: the first real sync, a Monday morning schedule and a side-by-side comparison with the paid data service we use today are still open, and client accounts stay on that service until the comparison is done.

## What do teams ask about Torke Ledger?

Each answer stands on its own, so you can forward one to a colleague, and an assistant asked the same question can quote it as it is.

### What is campaign performance tracking?

It is the work of measuring what each campaign produced, such as clicks, conversions and cost per conversion, against what it was meant to achieve. Torke Ledger does it weekly for Google Ads, Search Console and GA4, and only calls a change when the sample supports it.

### Can it change our bids or budgets?

No. It reads your accounts and writes a review, and every change to a campaign stays with a person on your team.

### Can our AI assistant ask it questions?

Yes. Claude and other assistants can query the same file read-only, through six saved questions or any read-only SQL, and results stop at 200 rows.

## The other Torke Nodes

[

Torke Context

- ](https://torke.tech/engine/context)

[

Torke Signal

- ](https://torke.tech/engine/signal)

[

Torke Visitor Signal

- ](https://torke.tech/engine/visitor-signal)

[

Torke Router

- ](https://torke.tech/engine/router)

[

Torke Reachout

- ](https://torke.tech/engine/reachout)

[

Torke Qualification

- ](https://torke.tech/engine/qualification)

[Torke Engine

- ](https://torke.tech/engine)
