When a campaign starts producing wrong output — hallucinated statistics, off-topic articles, wrong categories, missing images — the temptation is to open every draft and diff it against expectations. That’s the slow path. AI Content Generator’s Article log and Campaign error log metaboxes were designed to make debugging fast: every generation leaves an audit trail with model calls, token counts, decisions and errors. This tutorial covers how to read both logs and turn them into a repeatable debugging workflow.
Where the logs live
Inside any campaign editor, scroll to the bottom-right area. Two metaboxes:
- Article log (presets & settings used) — per-generation record of which presets, keywords, tone and Extra AI instructions were active when the article was written. Shows exactly what the AI saw at generation time.
- Campaign error log (exportable) — every failed generation, cron miss, API error, rate limit hit. Timestamped, exportable to CSV.
Between them, every debugging question a campaign can raise has an answer somewhere in one of these two logs.
Step 1 — Reproduce the symptom
Debugging starts with a specific bad article. Open Posts → All Posts, filter by the campaign, find one recent article that shows the symptom you’re diagnosing (wrong tone, off-topic, missing image, etc.).
Note its post ID. You’ll need it to filter the Article log to just that generation.
Step 2 — Read the Article log for that post
Open the campaign editor, expand the Article log metabox, filter by post ID or scroll to the row matching the article. Each row shows:
- Timestamp and post ID.
- AI provider used and model name.
- Content preset, tone preset, additional tone notes at time of generation.
- Main keywords passed in.
- Extra AI instructions as they existed when the article was generated.
- Token counts (input + output).
Read the row. Does anything look wrong? Was the campaign in the state you expected when it fired? Often the answer is “the Extra AI instructions were empty” or “the tone preset was Neutral when I thought I’d set Authoritative” — the campaign got saved before your changes took effect.
Step 3 — Check the Campaign error log for the same timestamp
Expand the Campaign error log metabox. Filter or scroll to the timestamp of the article. Was there an error at generation time — a rate-limit warning, a retry event, a partial API response?
Common patterns:
- “Rate limit reached, retrying after 60s” — the article was retried with a slightly different prompt after the first attempt failed. Explains inconsistent tone.
- “Partial response, chunk N missing” — the chunked generation dropped one chunk. Explains truncated sections.
- “Image generation timed out, fallback to Media Library” — the DALL-E call failed, plugin picked a random Media Library image. Explains off-topic covers.
- “Anti-duplicates rejected 8 of 10 titles” — the title queue got depleted; the article used a fallback title. Explains off-brand titles.
Step 4 — Correlate with Post-meta history
Open the post in the WordPress editor. Scroll to the AI Content Generator post-meta sidebar (or check the post’s custom fields). Every post keeps a record of the campaign it came from, the exact model call, and the generation duration. Cross-reference with the two logs above to build the full picture.
Step 5 — Fix the root cause, not the article
Once you’ve identified why the article went wrong, fix the campaign configuration — not the individual article. Empty Extra AI instructions? Fill them. Wrong tone preset? Change it. Anti-duplicates too strict? Loosen. Every fix at the campaign level prevents the same issue on all future generations.
If the article is publishable after a small edit, edit it manually and move on. If the pattern will repeat, adjust the campaign and regenerate.
Common failure signatures
- Wrong tone across articles — Additional tone notes empty. Fix in SEO brief (titles).
- Wrong category on some articles — Base data Categories field partial. Re-tick.
- Articles shorter than expected — Content preset “Guide” with Min words too high. Adjust.
- Featured image off-topic — DALL-E prompt using generic title. Add more context via Extra AI instructions.
- Cron doesn’t fire at expected time — WP-Cron timezone drift. See external cron tutorial.
- Live News Mode queue always empty — RSS URL returning 404. Verify manually.
Exporting logs for external analysis
The Campaign error log has an Export button (CSV). Use this monthly to build error frequency reports — which errors are recurring, which have been resolved, which are one-offs. Trends visible in monthly exports reveal systemic issues (API rate limits, cron flakiness, provider outages) that single-incident debugging misses.
You’re done
That’s the debugging workflow: reproduce with a specific bad article, read Article log for the generation state, check Error log for the same timestamp, correlate with post-meta, fix at campaign level, verify by regeneration. Export monthly for trend analysis. The two logs together turn “campaign produces weird output sometimes” into “this specific issue happened on this timestamp for this reason and is now fixed”.
