--- name: "ctr-calculator" description: "Calculate click-through rate from manual inputs or verified campaign data, compare engagement fairly, and explain what CTR can signal. Use when a media buyer asks for CTR, click-rate changes, or a creative and placement comparison." license: MIT compatibility: "Manual calculations work in Agent-Skills-compatible clients. Live ad-account reads require Adspirer and network access." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "analytics-reporting" adspirer_source: "https://www.adspirer.com/skills/ctr-calculator" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "ctr calculator" adspirer_secondary_keywords: "click through rate calculator,calculate ctr,ctr formula" adspirer_launch_wave: "wave-1" adspirer_trigger: "Calculate my click-through rate and help me compare it fairly." adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "google,meta,linkedin,tiktok,amazon" adspirer_supported_clients: "claude,claude-code,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Calculate CTR, compare engagement on a consistent basis, and explain what the percentage does and does not prove." adspirer_story: "A new creative has twice the CTR of the control, but it ran in a different placement with cheaper inventory. Before the team calls a winner, the calculation and comparison need the same denominator." adspirer_connections_required: "adspirer" adspirer_connections_optional: "ga4" adspirer_page_type: "utility-skill" adspirer_tool_component: "ctr-calculator" adspirer_seo_title: "Free CTR Calculator: Click-Through Rate | Adspirer" adspirer_seo_h1: "CTR Calculator: Calculate Click-Through Rate" adspirer_meta_description: "Calculate CTR free from clicks and impressions, compare campaigns fairly, and understand click-through rate. No login required; download the AI skill." --- # CTR Calculator A new creative has twice the CTR of the control, but it ran in a different placement with cheaper inventory. This skill calculates the click rate, checks whether the denominator and delivery context match, and keeps an eye-catching percentage from becoming an unsupported verdict. ## First-run onboarding 1. Manual clicks and impressions are enough. Read `references/client-setup.md` only for installation or live-data connection help. 2. For connected analysis, confirm platform, account, dates, placement, campaign goal, and click definition before reading Adspirer or GA4. 3. Start read-only; installation and connection do not authorize campaign changes. ## Use this when - A campaign, ad, keyword, or placement needs a CTR calculation. - Creative variants need a like-for-like engagement comparison. - A report contains clicks and impressions but not click-through rate. This is not proof of conversion quality, incrementality, or profitability. ## What you need - Clicks and impressions from the same scope and date range. - The click definition, placement, platform, and campaign objective for comparisons. - Optional: conversions or revenue plus Adspirer or GA4 data for outcome context. ## Procedure 1. Confirm the decision, scope, dates, click definition, placement, platform, and objective. 2. Calculate `CTR = clicks / impressions × 100`. Load `references/platform-rules.md` for invalid inputs, aggregation, or cross-placement comparisons. 3. Verify that clicks and impressions share the same filters and that clicks do not exceed impressions. 4. Explain the result with comparable context, keeping creative engagement separate from downstream performance. 5. Use `assets/output-template.md` for a reusable result or comparison record. ## Fixed checks - Impressions must be greater than zero and clicks cannot be negative or exceed impressions. - Use the same click type across comparisons. - Calculate blended CTR from total clicks divided by total impressions, not the average of row percentages. - Compare similar formats, placements, audiences, and objectives whenever possible. ## Stop conditions - Success: CTR, inputs, formula, scope, and limits are documented. - No-op: the calculation is already correct and no comparison was requested. - Blocked: clicks, impressions, dates, or click definition is missing or invalid. - Needs-approval: any live creative, targeting, budget, bid, or status change awaits explicit approval. ## Approval boundaries Calculation, read-only reporting, and drafting recommendations are safe without live-change approval. Adspirer may change supported ads and campaigns only after explicit approval. Asset production, tracking, billing, and appeals require the appropriate person or connector. ## Example prompts - "Calculate CTR for 2,400 clicks from 120,000 impressions." - "Compare these Meta creatives by placement and do not average the displayed CTR percentages." - "Explain why our search CTR rose while conversion rate fell, using read-only evidence." ## Cannot do - Do not call a high-CTR creative a business winner without outcome data. - Do not mix click definitions, objectives, or placements without labeling the limitation. - Do not invent missing inputs or treat platform benchmarks as universal targets. - Do not make live-account changes without explicit approval. ## What you get A checked CTR calculation, a fair comparison when the evidence supports one, and a clear explanation of what the rate can and cannot tell the team.