Why this is hard to get right
Sarah manages CRM and lifecycle marketing for a mid-sized fitness e-commerce app with about 180,000 monthly active users. Every Tuesday, she plans the week's push campaigns — re-engagement blasts, sale alerts, and behavioral triggers for users who've gone quiet.
She opens ChatGPT and types: "Write push notifications to bring back users who haven't purchased in a while."
The output is predictably useless. She gets five notifications that all say some version of "We miss you! Come back and shop today." They're 120 characters long — well over the 75-character body limit in Braze. None of them mention the actual 20%-off flash sale running this weekend. None of them use the first-name personalization her platform supports. And the tone sounds like every other app notification her users already ignore.
Sarah spends 40 minutes rewriting them herself. She pulls a couple of past high-performers from her analytics, tries to reverse-engineer why they worked, and eventually stitches together three acceptable variants. By the time she's done, she's used up time she needed for the A/B test logic and segmentation setup.
This is the invisible cost of vague AI prompting. It's not that AI can't write great push notifications — it's that push notifications are extraordinarily context-dependent. A notification for a lapsed protein powder buyer requires different copy than one for a new user who's never converted. A flash sale notification needs specific end-time language. A behavioral trigger fires in a moment of relevance that generic copy immediately destroys.
The challenge isn't creativity. It's constraint. Push notifications live and die by 40-75 characters, a clear value signal, and the right psychological trigger at the right moment. Without giving AI all of that context upfront, you get copy that looks fine in a document and fails completely on a phone screen.
Common mistakes to avoid
Ignoring Platform Character Limits
Asking for push notifications without specifying character limits almost always produces copy that's too long. iOS truncates body text at around 178 characters, but many platforms and lock screens cut off much earlier. Always state your exact limits upfront so the AI writes within them, not around them.
Using the Same Copy for Every Segment
Prompting for 'push notifications for my users' treats a new user, a lapsed buyer, and a loyalty member as identical. Each segment has different motivations and different relationships with your brand. Specify the exact segment and their behavioral history to get copy that actually resonates.
Leaving Out the Urgency Trigger
Asking AI to create urgency without giving it a real urgency trigger results in vague phrases like 'limited time only' that users have learned to ignore. Provide a specific offer end date, a low-stock signal, or a time-sensitive event so the AI can write credible urgency copy.
Not Requesting Personalization Tokens
Generic push notifications without personalization consistently underperform. If your platform supports dynamic tokens like {{first_name}} or {{last_product_viewed}}, include them in your prompt so the AI writes copy that plugs directly into your send tool without manual editing.
Asking for One Version Instead of Multiple Variants
Push notification performance varies wildly by copy angle — curiosity vs. urgency vs. social proof perform differently across audiences. Always ask for 4-6 variants so you have material for A/B testing. A single 'best' version removes your ability to learn what actually drives taps.
The transformation
Write some push notifications for my app to get users to come back and buy something.
**Act as a mobile CRM copywriter** specializing in high-converting push notifications for consumer apps.
**Campaign context:**
- App type: Fitness e-commerce app (supplements + apparel)
- Audience segment: Lapsed purchasers (no purchase in 45+ days, previously bought protein powder)
- Goal: Drive re-engagement and a repeat purchase within 48 hours
- Urgency trigger: Flash sale — 20% off sitewide, ends Sunday midnight
**Deliverables:** Write 5 push notification variants. For each, provide:
1. Title line (max 40 characters)
2. Body copy (max 75 characters)
3. Tap action label (max 20 characters)
4. Personalization token used (e.g., `{{first_name}}`, `{{last_product}}`)
**Tone:** Energetic but not pushy. Direct. Motivational.
**Avoid:** All-caps, excessive punctuation, generic phrases like "Don't miss out."Why this works
Constraint-First Thinking
Specifying exact character limits for title, body, and CTA forces the AI to write within real production constraints. Copy that fits the format on the first pass saves significant editing time and prevents the common failure of truncated notifications on the lock screen.
Behavioral Specificity
Naming the audience segment ('lapsed purchasers, last bought protein powder, 45+ days ago') lets the AI write copy that references real user behavior. Behavioral relevance is the single strongest predictor of push notification tap rates, consistently outperforming generic broadcast messaging.
Concrete Offer Framing
Providing a specific offer ('20% off, ends Sunday midnight') gives the AI a real reason to act rather than a fabricated one. Specific urgency is more credible and more actionable than vague scarcity language, which users have learned to filter out.
Structured Output Requirements
Asking for title, body, CTA, and personalization token as separate fields produces structured, production-ready output. You get copy you can paste directly into your CRM platform rather than a paragraph of text you have to manually break apart and format.
Negative Constraint Clarity
Specifying what to avoid ('all-caps, excessive punctuation, generic phrases') is as important as specifying what to include. Push notification copy has well-known spam signals that hurt deliverability and damage brand trust. Explicit exclusions prevent AI from defaulting to them.
The framework behind the prompt
Push notification copywriting sits at the intersection of behavioral psychology, direct response marketing, and technical constraints — which is why it's harder than it looks.
The most relevant framework is the Hook Model developed by Nir Eyal, which identifies four stages of habit-forming product engagement: trigger, action, variable reward, and investment. Push notifications function as external triggers — their entire job is to initiate the first step of that loop by bridging the gap between a user's current context and a desired action inside the app.
Effective push copy draws on loss aversion (Kahneman and Tversky), which consistently outperforms gain framing in short-form copy. "Your cart is waiting" outperforms "Shop your saved items" because it implies something left behind rather than something to gain.
The FOMO (Fear of Missing Out) trigger is among the highest-performing urgency mechanisms in mobile — but only when the urgency is specific and credible. Vague urgency ("Don't miss out!") has been so overused that users have developed immunity to it.
Character limits also impose a discipline similar to haiku-style constraint writing: every word must earn its place. This is why push copywriting rewards specificity — a single concrete detail (a product name, a number, a deadline) carries more persuasive weight than two sentences of general encouragement.
Prompt variations
Act as a mobile growth copywriter for a B2B productivity SaaS app.
Campaign context:
- App type: Project management tool (Slack-integrated)
- Audience: Free-tier users who have not created a project in 14+ days
- Goal: Re-activate users toward creating their first project (key activation milestone)
- Trigger: In-app nudge — no urgency offer, purely behavioral
Deliverables: Write 5 push notification variants. For each provide:
- Title line (max 40 characters)
- Body copy (max 75 characters)
- Tap action label (max 20 characters)
Tone: Friendly, low-pressure, helpfulness-forward. No sales language. Avoid: Urgency language, promotional phrasing, or anything that feels like a marketing blast.
Act as a lifecycle marketing copywriter for a regional food delivery app.
Campaign context:
- App type: Local restaurant delivery (operates in 3 Midwest cities)
- Audience: Active users who ordered lunch last week but have not opened the app today
- Goal: Drive a dinner order between 4:30pm and 7:00pm
- Contextual trigger: Send time is 4:15pm local time on a Friday
Deliverables: Write 5 push notification variants. For each provide:
- Title line (max 35 characters)
- Body copy (max 70 characters)
- Tap action label (max 15 characters)
- One A/B test hypothesis for each variant (e.g., 'Tests whether hunger language outperforms convenience language')
Tone: Warm, casual, appetite-forward. Use food-positive language. Avoid: Discount-first framing (we are not running a promotion), generic 'order now' copy.
Act as a content marketing copywriter for a streaming audio app.
Campaign context:
- App type: Podcast and audiobook platform (freemium, premium tier available)
- Audience: Freemium users who finished a true crime podcast series 3+ days ago and have not started a new one
- Goal: Drive re-engagement by surfacing a new recommended series
- Hook: Use curiosity and content continuation — no discount offer
Deliverables: Write 5 push notification variants. For each provide:
- Title line (max 40 characters)
- Body copy (max 80 characters)
- Tap action label (max 20 characters)
- Content angle used (e.g., 'curiosity gap', 'social proof', 'personalized recommendation')
Tone: Intriguing, editorial, slightly suspenseful — matches the true crime genre. Avoid: Generic 'new content available' phrasing. Every notification should feel handpicked.
When to use this prompt
E-commerce Retention Teams
Re-engage lapsed shoppers with offer-driven or behavior-triggered push notifications that reference past purchases and match the urgency of a flash sale or restocked product.
Mobile App Growth Managers
Write onboarding push sequences that guide new users toward their first key action — like completing a profile or making a first purchase — within the critical first 7 days.
Subscription App Marketers
Craft upgrade or renewal prompts for freemium users approaching their usage limit, using contextual triggers to convert without feeling intrusive.
Restaurant and Delivery Apps
Generate time-sensitive lunch or dinner offer notifications tied to real-world triggers like weather, time of day, or proximity — copy that feels personal, not broadcast.
Media and Content Apps
Promote new content drops, live events, or personalized 'picks for you' moments with notification copy that leads with curiosity and drives the tap.
Pro tips
- 1
Specify your exact character limits up front — iOS and Android differ, and some push platforms like Braze or Klaviyo impose their own caps. Give the AI the tightest limit to ensure copy works everywhere.
- 2
Include your opt-out rate as context if it's elevated. Telling the AI 'our audience has an 8% opt-out rate and is sensitive to promotional frequency' will steer it away from aggressive or repetitive tones.
- 3
Name the personalization tokens your platform supports. If your system uses {{first_name}} and {{last_category_purchased}}, include those exactly so the AI writes copy that drops in without editing.
- 4
Add 2-3 examples of past notifications that performed well or poorly. Even one sentence of 'this felt too salesy and hurt CTR' gives the AI a strong signal about what to avoid.
A single push notification prompt gives you copy. A testing matrix gives you a system.
Once you have 4-6 variants from your AI prompt, organize them across two dimensions before you send:
1. Copy angle Label each variant by its psychological lever:
- Urgency (sale ends, low stock)
- Curiosity (cliffhanger, incomplete action)
- Social proof (trending, popular with users like you)
- Personalization (references past behavior or product)
- Benefit-forward (what the user gains by tapping)
2. Structure Note whether the title or the body carries the primary message. Some audiences respond better when the offer is in the title; others respond to a curiosity hook in the title with the payoff in the body.
Run your test with a minimum of 1,000 sends per variant to reach statistical significance. Most platforms will auto-select a winner — but save all variants with their results in a running doc. Over 6-8 tests, you'll identify the copy angles that consistently outperform for each segment, and you can pre-brief your AI prompts with those findings.
Character limits vary significantly across push platforms and devices. Here are the practical limits to use in your AI prompts:
iOS (iPhone lock screen)
- Title: 40-50 characters before truncation
- Body: 178 characters max, but ~75-90 characters visible without expanding
- Action button label: 20 characters
Android (notification shade)
- Title: 40-65 characters depending on device
- Body: 40-100 characters before truncation; expanded view shows more
- Action button label: 15-20 characters
Platform CRM tools
- Braze: Enforces no hard limit but previews truncation in the composer
- Klaviyo: Recommends 40 characters for title, 100 for body
- OneSignal: Title 40 characters, message 60-75 for safe rendering
- Iterable: Preview tool shows exact truncation per device
The safe rule: Write to the most restrictive limit — 40 characters for the title and 75 characters for the body — and your copy will render correctly on every device and platform without editing.
Basic personalization ({{first_name}}) improves tap rates by an average of 4-7% over generic copy. But advanced behavioral personalization can push that to 15-20%.
Here are three personalization strategies to build into your AI prompts:
1. Last-action personalization Reference what the user did last: the product they viewed, the category they browsed, the item they left in their cart. Prompt instruction example: 'Use {{last_product_viewed}} to reference their most recent browsing session.'
2. Milestone personalization Acknowledge where the user is in their journey: 'You're 2 workouts away from your weekly goal' or '3 orders in — you're almost Gold status.' Prompt instruction: 'Reference the user's progress toward {{milestone_target}} using {{current_progress}}.'
3. Time-aware personalization Match the notification to the send time context. A 7am notification should sound different from a 6pm one. Prompt instruction: 'This notification sends at 6:15pm Friday — write copy that acknowledges the end-of-week context without explicitly stating the time.'
When you include these strategies in your AI prompt, you get copy that feels handcrafted rather than broadcast — and that difference is what drives taps.
When not to use this prompt
This prompt pattern is not the right tool for transactional push notifications — order confirmations, shipping updates, password resets, or account alerts. Those messages are governed by utility, not persuasion, and over-optimizing the copy can feel manipulative or delay the user from getting the information they need.
It's also not appropriate for sensitive user segments such as users who've recently churned, downgraded, or submitted a complaint. Those situations require a human-reviewed, relationship-first communication approach rather than a high-conversion copy framework.
For transactional notifications, use a plain-language clarity prompt instead.
Troubleshooting
AI output exceeds character limits even when specified
Restate the character limits at the end of your prompt as a hard constraint: 'Before outputting, verify that every title is under 40 characters and every body is under 75 characters. If any variant exceeds these limits, rewrite it before showing it.' Adding a verification instruction significantly reduces over-length output.
All 5 variants sound the same — just slight word swaps
Add an explicit instruction: 'Each of the 5 variants must test a different psychological angle: urgency, curiosity, social proof, benefit-led, and personalization-led. Label each variant with its angle.' This forces the AI to generate meaningfully different copy rather than paraphrasing the same message five times.
Copy is too aggressive or promotional and doesn't match brand voice
Add 2-3 specific brand voice examples from past sent notifications or from your brand guidelines. Include a negative example: 'Do NOT write copy like this: [example].' Concrete examples outperform abstract tone descriptors like 'friendly' or 'not pushy' when it comes to calibrating AI output.
How to measure success
A successful AI output from this prompt produces 5 variants where:
- Every title stays at or under 40 characters and every body at or under 75 — verify this manually before deploying.
- Each variant uses a distinct psychological angle (urgency, curiosity, social proof, benefit, personalization) — not minor rewording of the same message.
- Personalization tokens appear correctly formatted and match your platform's syntax exactly.
- No variant contains known spam signals — all-caps words, multiple exclamation marks, or generic filler phrases like "limited time only" without a specific time.
- The copy matches your stated brand voice — read it aloud; it should sound like your brand, not like a generic promotional blast.
Now try it on something of your own
Reading about the framework is one thing. Watching it sharpen your own prompt is another — takes 90 seconds, no signup.
high-converting push notification copy
Try one of these
Frequently asked questions
Ask for 4-6 variants minimum. Push notifications are highly sensitive to small copy changes, and performance differences between variants can be significant. Having multiple options also gives you material for A/B testing, which is the fastest way to improve tap rates over time.
Yes, but specify both platforms if character limits differ. iOS typically allows longer lock screen previews than Android, and some platforms like Braze let you customize per device. Set your limit to the more restrictive platform to ensure copy works everywhere without truncation.
Replace the three key context fields: app type, audience segment, and urgency trigger. Those three inputs drive the vast majority of the output's relevance. Everything else — tone, format, personalization tokens — can stay the same across industries.
Absolutely. Including 1-2 examples of past notifications with strong tap rates gives the AI a concrete quality signal to match. Even a brief note about why they worked ('this one had a 14% CTR because it referenced the user's last product') dramatically improves output quality.
Use the exact token syntax your CRM platform supports — Braze, Klaviyo, Iterable, and OneSignal all use slightly different formats. Include tokens your data reliably populates, like {{first_name}} or {{last_product_name}}, so the AI writes copy you can deploy without editing.