System Prompts for ChatGPT Marketing Consistency
What belongs in a system prompt versus the task prompt, where to install it in ChatGPT, and the template that keeps output consistent for months.
Ask three people on the same team to draft the same email with ChatGPT and you get three different companies. One output is breezy, one is corporate, one has invented a product feature. Nobody did anything wrong. Each person wrote a reasonable prompt, and the model filled every gap the prompt left with a different guess.
A system prompt closes those gaps once, for everyone. It is the standing instruction the model reads before every task: who it writes for, what the product actually is, what it may never claim, and what finished work looks like. The task prompt changes every time. The system prompt should survive a quarter without edits. Most teams I talk to have invested real effort in task prompts and none in the layer under them, and it shows in the output the same way a newsroom with no style guide shows in the paper.
The two layers, and what goes in each
My sorting rule is one question: would this instruction be true for every task this month? If yes, it belongs in the system prompt. If it changes per job, it belongs in the task prompt.
The system layer carries:
- Role and reader. What the model is (“You write marketing copy for…”) and who it writes for, in one sentence each. Not a persona document. One sentence.
- Product facts. What you sell, to whom, at what rough price point, and the two or three things it genuinely does better. The model will otherwise improvise these, confidently.
- Claims rules. What you never say about yourself or competitors, and the instruction that matters most: never invent a number, write [NEEDS SOURCE] instead. This one line is the cheapest layer of a full hallucination guardrail system.
- Voice rules. The banned words, the sentence-length cap, how you address the reader. I keep this block short here because turning a voice guide into checkable rules is its own job, and the output of that job slots in as this block. Voice is also the thing rules teach worst and examples teach best, so pair this block with a small example set.
- Output defaults. Headings in sentence case, prose over bullets, no title-case, whatever your defaults are. Stated once, they stop being a per-draft correction.
The task layer carries the job: what to write, the inputs for this piece, the format this piece needs, how many variants. So do the follow-up turns of a multi-turn refinement loop: the standing layer rides underneath the whole conversation and survives a restart, which is exactly why the durable rules belong here and not in turn three of a chat. If you find yourself pasting the same paragraph into every task prompt, that paragraph is system material that hasn’t been promoted yet.
What I keep out of both: anything the model cannot check. “Be compelling” does nothing. A banned list does something.
The template I start from
This is the skeleton I set up for a marketing team’s shared use. It deliberately overlaps with nothing task-specific, so it works above a blog prompt and an ad prompt alike.
ROLE
You write marketing copy and working documents for [company],
which sells [what] to [whom] for [rough price]. Your reader is
[the customer in one sentence]. You write as "we".
PRODUCT FACTS
- [Fact the copy may rely on, one per line. 5-10 lines.]
- If a task needs a fact not listed here, ask for it. Do not
improvise product details, features, prices or dates.
CLAIMS
- Never invent a statistic, study, quote or customer. Where a
number would help but none was provided, write [NEEDS SOURCE].
- We never claim [best / #1 / leading]. We never name competitors.
- Promise only what appears in PRODUCT FACTS.
VOICE
[Your rules block - banned words, sentence cap, contractions,
how the reader is addressed. Built separately, pasted here.]
OUTPUT DEFAULTS
- Headings in sentence case. Prose unless the content is a list.
- UK/US spelling: [pick]. Dates as [format].
- Return the deliverable only. No preamble, no options unless
the task asks for variants.
The PRODUCT FACTS block earns its place the first week. Most of what teams call hallucination in marketing output is really the model paraphrasing a product it was never told about. Give it the facts and instruct it to ask when one is missing, and the invented-feature problem drops to something an editor can catch.
Where to install it in ChatGPT
ChatGPT gives you four homes for a system prompt, and I choose by who needs to share it.
Custom instructions live in your personal settings and apply to every new chat. Right for a solo marketer or a freelancer with one main client. Wrong for a team, because each person maintains their own copy and the copies drift apart within a month.
A Project holds instructions plus reference files, and every chat started inside it inherits both. This is my default for one recurring workflow: a “Newsletter” project with the system prompt, the last three good issues, and the product fact sheet attached.
A custom GPT is the shareable version: one person builds it, the team uses it, and edits happen in one place. For any team past two or three people this is the answer, purely for the ownership model. The single-editor rule does more for consistency than any wording in the prompt. (The email marketing build is my worked example of this option, instructions template included.)
Pasting it at the top of a chat is the fallback, and it works fine. Its weakness is human: on a busy Tuesday, nobody pastes the four-hundred-word block, and that is exactly the draft that ships off-brand.
Whichever home you pick, pick one. A team running custom instructions here, a Project there and an old pasted version in someone’s notes app has three system prompts, which is the original problem wearing a new outfit.
Keep the layers from fighting
The failure I see once teams adopt this: instructions that contradict across layers. The system prompt says “no bullet lists”, the task prompt says “give me a bulleted summary”, and the model obeys one of them unpredictably. My rule is that the task prompt may override an output default, and says so explicitly (“bullets are fine for this one”), but never overrides a claims rule or a product fact. If a task needs to break a claims rule, the prompt is not the place that decision gets made.
The other conflict is silence. When the system prompt and the task prompt both say nothing about, say, length, the model decides. Every time an output surprises you, trace which layer should have owned that decision, and add one line there. The system prompt grows by autopsy, not by brainstorm.
Maintain it like a document, because it is one
A system prompt rots quietly. Products change, the banned list goes stale, and six months later the standing instructions describe a company that no longer exists. Three habits keep mine alive, and none takes an hour a month:
- One owner. Edits go through one person, with a dated line noting what changed and why. The changelog is the cheapest institutional memory a prompt library gets.
- A fixed test suite. I keep three standard tasks - a subject line batch, a product paragraph, a social caption - and run them after any edit to the system prompt. Comparing against the last run catches a regression in minutes. It is the same before-you-judge discipline as anywhere else in this library, applied to the prompt itself.
- A quarterly reread of output, not the prompt. A month of real drafts tells you what the system prompt is failing to prevent. The prompt reads fine forever. The output doesn’t lie.
And the system prompt does not replace review. It raises the floor of the first draft. The claims still get a verification pass before anything ships, because a model instructed not to invent numbers invents fewer, not none.
FAQ
How long should the system layer be? Mine run 300 to 500 words including the voice block. Past that, compliance gets patchy - a long system prompt gets skimmed by the model the way a long brief gets skimmed by a freelancer. If yours is over a page, move reference material into attached files (in a Project or GPT) and keep instructions as instructions.
Does one system prompt cover every channel? One covers everything above the channel: facts, claims, voice, defaults. Channel specifics - ad character limits, platform rules - belong in the task prompts, which is how the ad copy prompts are built to sit on top of a standing layer like this one.
Is this different for Claude or Gemini? The layering logic is identical, and the template pastes across unchanged. Claude’s version separates the standing rules from a file-based knowledge base, which I find cleaner for team setups - the Claude Projects guide covers building it there. Only the installation homes differ by tool.
This post is part of the prompt library for marketers, and it is the layer every other prompt there assumes: the brand voice rules fill the VOICE block, and the task prompts - blog posts, newsletters, ad copy - sit on top. For the wider practice, start with the complete guide to AI marketing.