For AI

Read the published site, find the right PPC resource and use the calculators with structured inputs.

Use the tools

Seven calculators and report checks, with inputs, results and limits.

Browse the tool directory
API and WebMCP

OpenAPI specification · Resolved tool schemas

WebMCP registers the seven tools on this page when supported by the browser. Calculations run locally using the same code as the calculators.

Browser support varies; the JSON APIs are also available.

HTTP API calls send the supplied values to the server. WebMCP tool calls do not send inputs to the server or read saved calculator inputs.

Get a skill

Check reports, proposed bulk changes or existing video in your assistant.

Download skills and practice files
How skills fit

Each ZIP includes instructions, scripts and a first exercise. Install it in a compatible assistant that can run the scripts, then review its findings before acting.

This directory covers public content and tools. The text and catalogs rebuild with the site; unreleased lesson bodies and confirmation pages are excluded.

Using the content and results

Keep source URLs, reporting dates and limitations with any summary. Case-study snapshots show reported account results; they do not establish incremental lift. Teaching examples and practice files are illustrative. Tool results depend on the supplied costs, report scope and model assumptions.

Tool directory

Open a tool for its purpose, limits and an example request. Schemas are generated from the existing API specification.

Catalog Profit Check

Which products lose money on ads? Up to 500 products

Limits: Rates are fractions: 0.30 means 30%. Contribution estimates require complete supplied costs; they are not net business profit. Inspect per-product errors even when the batch call succeeds.

Open the tool · API usage

POST https://profitfirstppc.com/api/catalog-profit-check

{
  "marginToKeep": 0.1,
  "products": [
    {
      "name": "Water bottle 750ml",
      "price": 39.99,
      "fees": 11.2,
      "cost": 9.5,
      "conversionRate": 0.12,
      "acos": 0.22,
      "adSales": 18400
    },
    {
      "name": "Bottle 2-pack",
      "price": 24.99,
      "fees": 9.1,
      "cost": 11.4,
      "conversionRate": 0.1,
      "acos": 0.31,
      "adSales": 9200
    }
  ]
}

Input and result fields: OpenAPI specification. WebMCP name: calculate_catalog_profit.

When to Negate

Check one search term, or up to 500

Limits: Single-term binomial evidence under supplied assumptions. Statistical evidence is not certainty or proof of wasted spend.

Open the tool · API usage

POST https://profitfirstppc.com/api/when-to-negate

{
  "clicks": 24,
  "orders": 0,
  "spend": 28.8,
  "profitPerOrder": 19.29
}

Input and result fields: OpenAPI specification. WebMCP name: review_search_term_negation.

Harvest Readiness

Send one term's fields, or { defaults, terms: [...] }. Defaults apply to every term unless the term overrides them.

Limits: Single-term, uncalibrated model. Does not estimate incremental profit from harvesting or guarantee future performance.

Open the tool · API usage

POST https://profitfirstppc.com/api/harvest-readiness

{
  "clicks": 60,
  "orders": 12,
  "spend": 72,
  "profitPerOrder": 12,
  "baselineCvr": 0.1
}

Input and result fields: OpenAPI specification. WebMCP name: review_exact_match_readiness.

Placement Bid Calculator

A click in each placement is worth (sales ÷ clicks) × target ACoS. Returns two options: rebalance (the weakest placement sets the keyword bid) and keep today's keyword bid. Placements under 30 clicks don't set bids. Docs: https://profitfirstppc.com/tools/placement-bid-calculator/

Limits: Rates are fractions. Low-evidence placements and minimum-bid exceptions need review; no Amazon settings are changed.

Open the tool · API usage

POST https://profitfirstppc.com/api/placement-bids

{
  "breakEvenAcos": 0.482,
  "marginToKeep": 0.1,
  "keywordBid": 1.0,
  "strategy": "fixed",
  "placements": {
    "topOfSearch": {
      "adjustment": 50,
      "clicks": 400,
      "spend": 560,
      "orders": 60,
      "sales": 2400
    },
    "restOfSearch": {
      "adjustment": 0,
      "clicks": 300,
      "spend": 300,
      "orders": 24,
      "sales": 960
    },
    "productPages": {
      "adjustment": 0,
      "clicks": 250,
      "spend": 200,
      "orders": 8,
      "sales": 320
    }
  }
}

Input and result fields: OpenAPI specification. WebMCP name: calculate_placement_bids.

Search Term Report Checker

Pure report analysis. No file upload or storage. Optional sales must use the same purchase attribution window. One currency per request. Orders greater than clicks remain descriptive and skip probability models. Bulk exact-keyword inventory is browser-only. Zero-order spend is not confirmed waste.

Limits: At most 500 normalized rows. Zero-order spend is not confirmed waste. Same report context and attribution definitions are caller prerequisites.

Open the tool · API usage

POST https://profitfirstppc.com/api/search-term-report

{
  "rows": [
    {
      "term": "water bottle",
      "clicks": 20,
      "orders": 0,
      "spend": 24,
      "sales": 0,
      "campaign": "Discovery",
      "adGroup": "Bottle",
      "matchType": "BROAD"
    }
  ]
}

Input and result fields: OpenAPI specification. WebMCP name: review_search_term_report.

ACoS Change Explainer

Six-order averaged arithmetic bridge for ACoS change. Same scope and attribution definitions must be checked by the caller. Not a causal diagnosis.

Limits: An arithmetic allocation, not a causal diagnosis. Compare consistent scope, currency and attribution definitions.

Open the tool · API usage

POST https://profitfirstppc.com/api/acos-change-explainer

{
  "before": {
    "clicks": 1000,
    "spend": 1000,
    "orders": 100,
    "sales": 5000
  },
  "after": {
    "clicks": 1000,
    "spend": 1200,
    "orders": 80,
    "sales": 3600
  }
}

Input and result fields: OpenAPI specification. WebMCP name: explain_acos_change.

Amazon Report Mismatch Checker

Comparison-basis checklist and currency-compatible numeric gap. Not order-level reconciliation or an exact organic revenue calculation.

Limits: A comparison-basis checklist, not order-level reconciliation or exact organic revenue.

Open the tool · API usage

POST https://profitfirstppc.com/api/amazon-report-mismatch-checker

{
  "adsSales": 12000,
  "retailSales": 10000,
  "adsCurrency": "USD",
  "retailCurrency": "USD",
  "adsStart": "2026-08-01",
  "adsEnd": "2026-08-14",
  "retailStart": "2026-08-01",
  "retailEnd": "2026-08-14",
  "dateBasis": "interaction",
  "scope": "unknown",
  "settled": "yes"
}

Input and result fields: OpenAPI specification. WebMCP name: review_report_comparability.