b2KIT

PPC Bid Simulator

Simulate bid adjustments and their impact on impressions, clicks, and cost. Visualize the bid-to-position curve with diminishing returns analysis.

Tested tool guide Tested browser tools Checked August 16, 2026

What PPC Bid Simulator does, with a checked example

This tool replays the pay-per-click auction for a keyword. You enter your bid, your quality score, the competitors you are up against, and expected click-through rates; it recalculates your ad position, your actual cost per click, and the resulting impressions, clicks, and monthly spend, and draws the bid-to-position curve so you can watch diminishing returns take over. The surprise most people hit: raising a bid that already towers over the next advertiser's Ad Rank changes nothing. The auction is second-price - your cost is set by the competitor below you, not by your own bid.

Worked example

A concrete input and expected output from the current implementation.

Input

Current bid: $2.00 | Quality Score: 10 | Competitors: $1.50 bid, QS 8; $1.00 bid, QS 5 | Expected CTR: 4.0% at position 1, 2.5% at position 2 | Traffic: 100,000 searches/month

Expected output

At $2.00: Ad Rank 20 = 2.00 x 10 - position 1, actual CPC $1.21 = 12 / 10 + $0.01, about 4,000 clicks and $4,840 per month. Simulate $1.10: Ad Rank 11 - position 2, CPC $0.51 = 5 / 10 + $0.01, about 2,500 clicks and $1,275 per month. CPC down 58%, clicks down 37.5%, spend down 74%. Raise to $2.50: Ad Rank 25 - still position 1, CPC still $1.21, zero change.

The auction is second-price, so your CPC is the Ad Rank directly below you divided by your quality score plus a cent. Dropping below competitor A's rank of 12 leaves you paying against the much weaker rank 5 below you; you lose clicks at position 2, but the per-click saving more than offsets them.

How the result is produced

1

Ad Rank ranking

Each advertiser's Ad Rank is bid multiplied by quality score, and ads sort by Ad Rank with the highest first. Because the rank is a product, a low bidder with a strong quality score can outrank a high bidder with a weak one, which is why the simulator needs the quality score of every competitor, not just their bid.

2

Second-price pricing

Each winner pays one cent above the Ad Rank of the advertiser directly below it, divided by its own quality score, and never more than its bid. The position you earn as your bid rises is therefore stepwise, not smooth: nothing changes until your bid crosses the next competitor's Ad Rank. That is exactly the flat stretch of the bid-to-position curve, where extra spend buys nothing.

Good uses

  • Holding position 1 with a wide Ad Rank gap: step the bid down until you nearly match the advertiser below, and bank the CPC saving.
  • Budget planning: get clicks and monthly spend estimates at several bid levels before committing, using your own CTR assumptions.
  • Competitive displacement: find the bid needed to take a competitor's spot - or the bid they would need to take yours - and what either swap costs.

Limits and checks

  • The simulator prices the classic bid-times-quality-score auction. Live platforms layer on extra quality signals, auction-time adjustments, ad thresholds, and match types, so outputs are directional models, not guarantees of what the platform charges.
  • Clicks and cost follow from your CTR assumptions. Change the assumed CTR and every dollar figure moves; the tool cannot know your real click-through rate, so stale guesses produce confident-looking but wrong totals.
  • The curve is stepwise and capped. Above the highest competitor's Ad Rank, further bid increases change nothing, and positions are snapshots - competitor bids and quality scores shift daily, so rerun the simulation often enough that the inputs stay true.

Common questions

Why does raising my bid sometimes leave my cost unchanged?

Because the auction is second-price: you pay one cent above the advertiser directly below you, capped at your own bid. If no competitor is close, your bid does not set your price. In the example, raising the bid from $2.00 to $2.50 keeps position 1 at $1.21 a click. Only crossing the next competitor's Ad Rank changes the outcome.

Can I trust the exact bid it says wins position 1?

Only as far as your competitor inputs are current. The threshold itself is simple - your bid times quality score must exceed theirs - and the tool computes it exactly. But competitor bids and quality scores move constantly, so a winning bid is a point-in-time estimate, not a guarantee. Re-enter current numbers before acting, and treat the curve as a planning tool.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools