AI for marketers: research, copy and analysis without made-up facts
Where a model really saves a marketer's time and where it invents numbers. Code for review analysis, fact-checking rules and a cost estimate.
5 min · · бизнес · автоматизация
An AI model for marketers is useful in places other than where it is usually advertised. "Come up with a campaign idea" returns the market average. But reading a thousand reviews in an evening, sorting them by theme, comparing competitor landing pages and drafting five headline variants is something a model does quickly. Below: which tasks to hand to the model, how to avoid made-up numbers, and what it costs when you work through the API on your own data.
AI for marketers: what to give the model and what to keep
Tasks work well when you already have the source material and the model only processes it:
- Review and ticket analysis. Themes, sentiment, recurring objections, customers' own wording.
- Competitor text review. You export the text of their landing pages, emails and product descriptions, and the model extracts promises, arguments, tone and gaps.
- Test hypotheses. Turn a list of objections into 10 offer variants for an A/B test.
- Campaign copy drafts. Email subjects, headlines and descriptions for different segments.
- Data cleanup. Campaign names, UTM tags, deduplicating an export.
Tasks "from the model's head" work badly: market size, competitor shares, demand dynamics, "average industry CTR". The model will produce a plausible number with no source behind it. Take such figures from your counters, ad accounts and open reports, and ask the model to work only with what you passed in.
Scenario 1. Batch review analysis
Say you have an export of 1000 reviews. Do not send everything in one request: split it into batches of a hundred and ask for strict JSON. Then the result can be counted in a spreadsheet instead of reread.
import json
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1",
api_key=os.environ["ZUKKO_API_KEY"])
SYSTEM = (
"You are a customer-experience analyst. Work only with the reviews provided. "
"For each review return an object: id, theme (one from the list), "
"sentiment (positive/neutral/negative), quote (verbatim from the review). "
"If no theme fits, use 'other'. Do not guess. "
"Answer: a JSON array with no commentary."
)Then check in code that as many objects came back as were sent, and that every "quote" actually occurs in the source review: quote in review["text"]. If not, the review goes back for reprocessing. This is the cheapest protection against invention.
Do the theme summary from a table where the model does not count but only describes: "Here are theme frequencies and three quotes for each. Formulate conclusions and three hypotheses for a test." Calculate percentages yourself in pandas.
Scenario 2. Competitor comparison
Collect competitor page text by hand or with your own scraper, respecting each site's rules. The task for the model is then:
- Extract each competitor's promises and arguments with a quote.
- Build a table: argument / who has it / who lacks it.
- Suggest how to differentiate, based only on that table.
An important line in the prompt: "if the text has no information about price or terms, write 'not stated'". Without it the model fills empty cells with typical values.
Scenario 3. Campaign copy
For copy, give the model what it lacks: an audience description, three successful company texts, a list of forbidden words and length limits. Ask for 5-10 variants at once, each labelled with the hypothesis it tests. Then pick by hand. More on the prompt and model choice for copy is in the article on AI for writing texts.
How to check facts
A short policy you can pin up in the team:
- Every number in an answer must come from your data. A figure not from the supplied material is removed or checked against a source.
- Quotes are checked by code. A substring search, as in the example above.
- Brand, product and event names are checked by search. A model can name a competitor that does not exist.
- Legally sensitive wording (comparative advertising, result promises, reviews naming people) goes through a lawyer.
- Personal data in reviews is removed before sending: names, phones, addresses.
How to build a set of test examples for a prompt is covered in the article how to test prompts.
Which model to take
Do not choose by ranking, test on twenty of your own reviews. Prices and strength index at October 18, 2026 (Zukko prices per 1M tokens, input / output):
| Model | Price | Strength index |
|---|---|---|
deepseek-v4.1-flash | $0.013 / $0.038 | 39 |
gpt-6.1-sol | $0.27 / $1.32 | 52 |
claude-sonnet-5-5 | $0.4 / $2 | 48 |
claude-opus-5-5 | $0.8 / $4 | 58 |
A practical scheme: labelling with a cheap model, final conclusions and campaign copy with a strong one. The current list and prices: GET https://api.zukko.pro/v1/models or the "Models" page in the dashboard.
What it costs
Formula: (input × input price + output × output price) / 1,000,000, with prices per 1M tokens. Example: 1000 reviews of 80 tokens is 80,000 tokens, plus 10 batches with a 400-token instruction, 84,000 input tokens in total. Output is 40 tokens per review, 40,000 tokens. These are assumptions, measure real length on your data.
deepseek-v4.1-flash: 84,000 × 0.013 / 1,000,000 + 40,000 × 0.038 / 1,000,000 = 0.0011 + 0.0015, about $0.0026.claude-sonnet-5-5: 84,000 × 0.4 / 1,000,000 + 40,000 × 2 / 1,000,000 = 0.0336 + 0.08, about $0.11.claude-opus-5-5: 0.0672 + 0.16, about $0.23.
A final theme summary with 15,000 input and 2,000 output tokens on claude-opus-5-5 costs 15,000 × 0.8 / 1,000,000 + 2,000 × 4 / 1,000,000 = $0.02. So the whole analysis of a thousand reviews fits into tens of cents.
Connecting
Create a key in the dashboard, set the base URL https://api.zukko.pro/v1 and keep the key in an environment variable. Request format details are in the chat completions reference. Top-ups start at $1: SBP (the payment page adds 8.5% on top), cryptocurrency or a MasterCard.
FAQ
Can AI replace a marketer?
No. It speeds up material review and draft work. Choosing positioning and budget, and responsibility for the campaign, stay with a person.
Can I upload customer data to the model?
Better anonymize it: remove names, phones and emails. Read the data retention terms of model providers separately; we make no claims about them.
How do I tell that the model invented a number?
If the number does not appear in the data you passed, treat it as invented. Require a source quote next to every fact and check it with code.
Which AI is suitable for text generation?
Test two or three models from the table on the same brief and compare the result with the price. There is no universal answer.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- AI for testers: test cases, checklists and bug reportsHow a QA engineer can use a model for test cases, checklists and bug reports, check coverage, and avoid requirements the model made up.
- Anonymizing data before sending it to a neural network: a practical wayYou do not have to send personal data to a model for it to process a document. How to replace it with labels, restore it in the answer and check that nothing leaked.
- A neural network for HR: job posts, candidate emails and resume reviewA model can draft job posts and emails and do a first-pass resume review. What to hand over, how to treat candidates' personal data and how to prevent biased decisions.
- Generating an FAQ with a neural network from tickets and a knowledge baseA good FAQ is built on what customers really ask. A pipeline: group the tickets, answer from the knowledge base with a source reference, and verify the result.