{
  "slug": "cpm",
  "title": "CPM Calculator",
  "heading": "CPM Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/cpm",
  "summary": "Cost per thousand impressions, spend, or reach.",
  "description": "Solve for whichever leg you are missing: budget, impressions, or CPM. Useful for sanity-checking a media quote before you sign it.",
  "formula": "CPM = Spend ÷ Impressions × 1,000.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=cpm",
  "inputs": [
    {
      "id": "spend",
      "label": "Total spend",
      "kind": "number",
      "hint": null,
      "default": 4500,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "impressions",
      "label": "Impressions",
      "kind": "number",
      "hint": null,
      "default": 750000,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "ctr",
      "label": "Expected click-through rate",
      "kind": "number",
      "hint": null,
      "default": 0.9,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "conversionRate",
      "label": "Landing page conversion rate",
      "kind": "number",
      "hint": null,
      "default": 3,
      "unit": "%",
      "min": 0,
      "max": 100
    }
  ],
  "outputs": [
    {
      "id": "cpm",
      "label": "CPM",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "clicks",
      "label": "Expected clicks",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "cpc",
      "label": "Effective cost per click",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "conversions",
      "label": "Expected conversions",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "cpa",
      "label": "Cost per acquisition",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Total spend: 4500 $",
      "Impressions: 750000",
      "Expected click-through rate: 0.9 %",
      "Landing page conversion rate: 3 %"
    ],
    "outputs": [
      "CPM: $6.00",
      "Expected clicks: 6,750",
      "Effective cost per click: $0.67",
      "Expected conversions: 202.5",
      "Cost per acquisition: $22.22"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter total spend ($).",
      "Enter impressions.",
      "Enter expected click-through rate (%).",
      "Enter landing page conversion rate (%).",
      "Read your cpm on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "spend": 2700,
        "impressions": 450000,
        "ctr": 0.54,
        "conversionRate": 1.7999999999999998
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "spend": 4500,
        "impressions": 750000,
        "ctr": 0.9,
        "conversionRate": 3
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "spend": 7200,
        "impressions": 1200000,
        "ctr": 1.4400000000000002,
        "conversionRate": 4.800000000000001
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "How does the cpm calculator work?",
      "a": "Solve for whichever leg you are missing: budget, impressions, or CPM. Useful for sanity-checking a media quote before you sign it. The underlying maths is: CPM = Spend ÷ Impressions × 1,000."
    },
    {
      "q": "What do I need to enter?",
      "a": "4 values: total spend, impressions, expected click-through rate, and landing page conversion rate. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the cpm result mean?",
      "a": "It is returned as a money amount in US dollars and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Results are estimates before tax, fees, and inflation unless an input explicitly covers them."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone comparing money scenarios before committing — budgeting a payment, sanity-checking a quote, or seeing what a change in rate or term actually costs."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/cpc-budget",
    "https://www.revenuelab.fyi/toolbox/roas",
    "https://www.revenuelab.fyi/toolbox/conversion-rate"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — CPM Calculator (https://www.revenuelab.fyi/toolbox/cpm)"
}