Which WordPress Plugin Caused My AI Bill? A 5-Minute Diagnosis

Axtolab · · 4 min read

Your provider invoice came in higher than expected — maybe a little, maybe alarmingly — and your site runs WordPress 7.0. The uncomfortable part of the new AI era: since 7.0, every plugin on your site can share one AI provider key through Settings → Connectors. That’s convenient, but it means the invoice tells you that you spent, not who spent it. Your SEO plugin, your chat widget, your image tool, and that plugin you installed in March all draw from the same key.

Here’s the five-minute diagnosis.

Step 1: Rule out what core can tell you (2 minutes)

WordPress 7.0 ships a request log at Tools → AI Request Logs. Open it. You’ll see that calls happened, when, to which provider and model, and the token counts. What you won’t see is attribution — core doesn’t record which plugin made each call. If your log shows a burst of calls at 3 a.m. and you have six AI-capable plugins, you still don’t have a culprit.

If the log is empty but your bill is real, skip to Step 4 — something is spending outside WordPress’s pipeline.

Step 2: Install the meter (1 minute)

AI Spend Monitor is our free plugin that adds the missing column: per-plugin attribution with estimated cost. Download it free, install, activate. No API keys, no account, no configuration — it starts recording from the next AI call. It makes zero outbound requests and stores no prompt content; everything stays in one table in your database.

One honesty note: it records from activation forward. It can’t reconstruct last month’s mystery — but the plugin that overspent last month is almost always still doing it, which is exactly what you’ll catch next.

Step 3: Trigger your AI features and read the table (2 minutes)

Open each AI feature you use and run it once — generate a product description, ask the chat widget a question, create an image. Then open Axtolab → AI Spend Monitor.

The cost by plugin table now shows every plugin that made a call: call counts, exact token totals (they match core’s log line for line — we verified this against a live provider), and estimated cost per plugin. From here, diagnosis is usually instant:

  • One plugin dominating the table with calls you didn’t trigger → check its settings for background features: auto-generation on save, scheduled content jobs, “AI-enhanced” cron tasks. These are the classic 3 a.m. burners.
  • A reasonable spread of small costs → your spend is legitimate usage; the fix is a budget, not a hunt.
  • High call counts with tiny tokens each → something is retrying in a loop. The recent-calls log shows you the exact timestamps and model.

Leave the Monitor running for a few days and the 30-day chart makes patterns obvious — a daily spike at the same hour is a cron job, full stop.

Step 4: The plugin that doesn’t appear

This is the finding people don’t expect. If a plugin you know uses AI never shows up in the table after you’ve triggered it, it isn’t using WordPress’s shared key — it ships its own API key and calls the provider directly, bypassing WordPress entirely. Check that plugin’s settings for an API-key field of its own.

Why it matters: that plugin is invisible to core’s log, to the Monitor, and to any WordPress-level budget you’ll ever set. Its spend shows up on whichever key it’s configured with. If your invoice mystery survives Steps 1–3, this is your answer — and your options are that plugin’s own usage controls, or the spending dashboard of the key it uses.

Either way, you now know your site’s actual AI architecture — which plugins WordPress can see and govern, and which it can’t. Most people learn this for the first time from this exact test.

Step 5: Make sure it never happens again

Diagnosis is free; prevention is a choice between two tiers, and we’d rather state it plainly:

  • The free Monitor watches and notifies — set a monthly dollar amount and get an email when sitewide spend passes it. It will tell you the day a runaway starts. It won’t stop it.
  • AI Spend Governance stops it: monthly budgets per plugin and sitewide, alerts at 50/75/100% of each budget, and a hard stop that blocks calls inside WordPress’s AI pipeline — before the request leaves your site, which means before the provider charges you anything.

Start with the free meter. If what it shows you makes your stomach drop, you’ll know which plugin to budget first.

Download AI Spend Monitor free →

wordpress-7 ai-budget openai-bill ai-spend-monitor troubleshooting