Log in / Create free account🌐 ES☀️

← Basic training · Module 5 — Budgets and bids — concepts, CPC/CPA/ROAS and where NOT to touch

How to set a realistic target CPA or ROAS (not the one you'd like)

⏱️ 10 min read · 💰 Bids and budgets 📐 Measurement · updated on 2026-08-22

🎧 Listen to the lesson · ≈ 5 min🔒 Subscribers only

The target you give Smart Bidding is the most important instruction in the account: «get me customers at €30» or «give me back €5 for every euro». Getting it wrong has two symmetrical failure modes: too demanding and the campaign stops entering auctions (little spend, few conversions, «it doesn't work»); too lax and it buys expensive customers for no reason. This lesson is the method for getting it right.

Step 1 · The business target: how much you can pay

Before you look at Google Ads, look at your profit and loss.

Lead generation (CPA)

You need three numbers: what a customer is worth (average revenue × margin), how many leads it takes to get a customer (close rate) and what share of the margin you accept spending to win them.

Average customer: €1,200 in revenue, 40% margin → €480 of margin. You close 1 in every 5 leads → each lead is worth up to €96. You want to keep at least half the margin → maximum CPA ≈ €48 per lead.

Ecommerce (ROAS)

With a 35% gross margin and fixed costs per order, break-even is ROAS = 1 / margin → 1 / 0.35 ≈ 2.9. Below that you lose money on every sale; to make money, the target ROAS has to be above it (from 4 onwards, in this example, it starts to pay). Important: Google's «target» ROAS is calculated on the conversion value you send: if you send revenue including VAT, the threshold changes.

Step 2 · The achievable target: what your history says

Now open the campaign with the last 30 days (or more, if there are few conversions) and look at its actual CPA (or actual ROAS). That number is what the campaign is capable of doing today. Three scenarios:

History vs business What to set
Actual CPA (€45) ≤ maximum CPA (€48) Target = actual CPA, or slightly below (€40). It is already profitable; fine-tune
Actual CPA (€70) > maximum CPA (€48) Target = actual CPA minus 10-20% (€60). Bring it down in steps to the maximum (lesson 5). If it never gets there, the problem is not the bid: it is tracking, ad, landing page or product
No history (new campaign) Maximize conversions with no target for 3-4 weeks; then set from the actual figure

The classic mistake: setting the desired target straight away (€48) when the campaign is doing €70. Google only enters the auctions it estimates at €48 or less: almost none. The campaign quietly switches itself off, and the diagnosis «Smart Bidding doesn't work» is false: you asked it for the impossible overnight.

Step 3 · Adjust by campaign and conversion type

Step 4 · Review, don't chase

The target is reviewed every 3-4 weeks with the whole chain (actual CPA, volume, lost IS (rank)). Signals:

💡 Ninja trick: the target the strategy chases and the business target are two different things, and Google only knows the first one. Our Smart Bidding (SBNS) stores each campaign's business target (its actual CPA or ROAS, with its reference conversions) and judges compliance against that —never against the strategy's target— bringing the target closer to the real one in gradual steps and only when the data allows. It is exactly the method in this lesson, running every night.

What you should remember

📝 Lesson quiz

Create your free account to take the quiz and save your score.

📎 Sources and further reading

💡 Suggest new content

⚠️ Free training with no support. Ninja Scripts support channels (email and Telegram) are only for the use of the scripts, not for Google Ads questions or questions about this training.
🎓
You're reading the Basic training in the open

Create your free account (no card) to save your progress, take the graded quizzes, earn the Basic level certificate and unlock part of the Intermediate and Advanced training.

Create my free account →
🥷

Subscriber feature

This option is part of the Ninja Scripts Suite subscription.

See the subscription →