E-commerce

AI Chatbot for push notifications: retrieving the offer viewed by the customer

AI Chatbot for push notifications: retrieving the offer viewed by the customer

July 1, 2026

Client opens the chat after a flash push. "I saw -30% but I can't find the offer anymore." "PUSH20 doesn't work." The bot quotes a generic promo. Ticket pushprom_code_fail.

A push promotional e-commerce AI chatbot reads the campaign registry, retrieves the offer seen code conditions deep link from PUSHPROM-MAP #927, deflects the tier 1 spike, and hands off to an agent if there is a massive pattern.

This guide #928 covers intents bot_pushprom_*, flow PUSHPROMBOT PPB-1 to PPB-8, and guardrails PUSH-REGISTRY-GATE. Bot pair of the playbook PUSHPROM (#927). Usecase: retrieve push offer code expiration widget.

Summary

Why botify the recovery of push offers?

The customer closes the push notification in 3 seconds. At checkout, they can no longer find the promo code or conditions. Without a campaign registry, the bot improvises and creates pushprom_* tickets. PUSH-REGISTRY-GATE aligns widget and agents #927.

What the tier 1 promo push bot resolves

  • Find offer: offer_copy as seen in the notification

  • Promo code: value, conditions, expiration

  • Flash offer: end time, active timezone, or expired

  • Deep link: corrected app or web URL

  • Promo opt-out: route #835 without cutting off transactional messages

DTC retail example

Food DTC, 8k push. Bot syncs with registry at D-1. pushprom_bot_deflect +46%, pushprom_code_fail_rate -42% over 4 weeks.

PUSHPROMBOT #928 vs PUSHPROM #927, PUSHNOTIF #836, SMSCAM #926 and NOFFER #924

Seven push bot contents, seven distinct roles.

Quick matrix

Pipeline: post-push client → #928 offer code deep link tier 1 → handoff #927 if massive ops flag.

Which bot_pushprom_* intents should be configured?

Eight push promo intents mapped PUSHPROM-MAP #927.

Eight bot_pushprom intents

  • bot_pushprom_campaign_detect: detect active push campaign flash window

  • bot_pushprom_offer_recover: retrieve offer_copy notification view

  • bot_pushprom_code_answer: code value conditions expiration

  • bot_pushprom_expiry_answer: end time flash client timezone

  • bot_pushprom_deeplink_answer: deep link app web landing PDP

  • bot_pushprom_stack_check: stacking push code vs other

  • bot_pushprom_optout_route: opt-out promo route #835 #927

  • bot_pushprom_feed_loop: consume LOG #927 campaign_copy

Each response logs campaign_id intent pushprom_* deflect_or_handoff.

How to consume PUSHPROM-MAP #927?

The bot reads PUSHPROM-MAP #927 + bot fields: campaign_id, offer_copy, code_promo, exclusions, expiration_date, flash_end_time, timezone_ref, deep_link_app, deep_link_web, stack_rules, optout_promo_url, pic_window, agent_handoff_url.

Push promo bot guardrails

  • PUSH-REGISTRY-GATE: code link offer from push-only registry

  • OFFER-RECOVER-BOT: offer_copy map exact notification sent

  • CODE-GROUNDED-BOT: do not invent code without registry

  • EXPIRY-GROUNDED-BOT: flash end time map timezone

  • DEEPLINK-GROUNDED-BOT: app or web mobile tested

  • OPTOUT-REROUTE-BOT: promo only → #835 if device

  • OPS-ESCALATE-BOT: 3+ code fail session → handoff #927

  • PUSHPROM-FEED-LOOP-BOT: LOG #927 enriches campaign_copy widget

PUSHPROMBOT-SUP policy in six rules

Six responsible push promo rules on the widget side.

  1. PUSH-REGISTRY-GATE: registry lookup before offer response

  2. CAMPAIGN-DETECT-BOT: active flash window before tier 1

  3. OFFER-RECOVER-BOT: recover offer_copy active campaign

  4. EXPIRY-GROUNDED-BOT: end time mentioned if flash

  5. OPTOUT-REROUTE-BOT: promo only never cut auto txn

  6. PUSHPROM-FEED-LOOP-BOT: LOG #927 widget review within 48 hours

PUSHPROMBOT Flow PPB-1 to PPB-8

Eight-step flow: incoming message detect campaign recover offer answer expiry log handoff.

  1. PPB-1 Ingest: message push offer code deep link expiration

  2. PPB-2 Campaign detect: CAMPAIGN-DETECT active flash window

  3. PPB-3 Classify: pushprom_* vs pushnotif #836 vs stack #870

  4. PPB-4 Registry gate: PUSH-REGISTRY-GATE campaign lookup

  5. PPB-5 Tier 1 answer: offer_recover code expiry deeplink

  6. PPB-6 Ops escalate: massive pattern agent handoff #927

  7. PPB-7 Feed loop: LOG #927 adjusts campaign_copy

  8. PPB-8 Log: deflect offer_recover code_fail optout_route

Example TPL-PUSHPROM-OFFER

“Push offer: {{offer_copy}}. Code: {{code_promo}}. Valid until {{expiration_date}}.”

TPL-PUSHPROM templates and touchpoints

Four short push promo embed templates.

TPL-PUSHPROM-OFFER

[offer_copy map.] [exclusions map.] OFFER-RECOVER.

TPL-PUSHPROM-CODE

[code_promo map.] [offer_copy map.] [expiration_date.] CODE-GROUNDED.

TPL-PUSHPROM-EXPIRY

[flash_end_time map.] [timezone_ref.] Active or expired offer. EXPIRY-GROUNDED.

TPL-PUSHPROM-DEEPLINK

[deep_link_app web map.] Mobile link tested. DEEPLINK-GROUNDED.

Touchpoints

  • "I saw an offer": offer_recover + code_answer

  • "Code does not work": code_answer + stack_check

  • Deep link 404: deeplink_answer corrected url

  • LOG PUSHPROM #927: feed_loop campaign_copy

Edge cases: multiple offers, missing app, promo opt-out

Five cases outside the standard flow.

  • Two pushes on the same day: campaign_detect reads the most recent active campaign

  • App not installed: deeplink_answer proposes deep_link_web

  • Offer expired: EXPIRY-GROUNDED end time + next offer

  • Promo opt-out only: OPTOUT-REROUTE #927 macro, not #836 permission

  • pushprom_ ticket despite bot: feed_loop review campaign gaps

Essential pushprom_bot KPIs

Five PUSHPROMBOT monitoring metrics and correlation #927.

  • pushprom_bot_deflect: push offers resolved without a pushprom_ ticket

  • pushprom_bot_offer_recover_rate: % of sessions with offer_copy retrieved

  • pushprom_bot_code_accuracy: % of cited codes aligned with registry

  • pushprom_bot_expiry_cited: % of flash with cited end time

  • pushprom_bot_registry_stale: registry stale responses, target 0

Target: offer_recover_rate above 90% and registry_stale at zero.

PUSHPROMBOT anti-patterns

Five common promo push bot errors.

  1. Generic promo: OFFER-RECOVER registry active campaign

  2. Invented code: CODE-GROUNDED registry only

  3. Ignoring expiration: EXPIRY-GROUNDED flash mandatory

  4. Cutting all push: OPTOUT-REROUTE promo only txn retained

  5. Duplicating #836: #928 offer code expiration only

PUSHPROMBOT with Qstomy

Qstomy on Shopify: PUSHPROM-MAP sync #927, OneSignal Klaviyo push registry, OFFER CODE DEEPLINK templates, ops escalate handoff agent, KPI pushprom_bot dashboard.

Scenario: DTC food, push 8k. Pre-send sync D-1, bot tier 1 offer. pushprom_bot_deflect +46%, pushprom_ tickets -37% in 4 weeks.

Explore AI support and request a demo.

Checklist, FAQ and going further

Checklist PUSHPROMBOT (8 steps)

  1. Sync PUSHPROM-MAP #927: offer code deep link flash optout

  2. Policy PUSHPROMBOT-SUP: 6 REGISTRY-GATE OFFER-RECOVER rules

  3. 8 intents bot_pushprom_*: flow PPB-1 to PPB-8

  4. 4 templates TPL-PUSHPROM-*: OFFER CODE EXPIRY DEEPLINK

  5. campaign_detect: active pre-send flash window

  6. deep_link_app web: fallback without app installed

  7. Red team push: offer recover code expiry deeplink test

  8. Dashboard KPI: pushprom_bot_* section 9 + pushprom_ delta

FAQ

Difference #927?
#927 = agents ops peak macros staffing. #928 = bot tier 1 retrieve push offer widget.

Difference #836?
#836 = opt-in troubleshooting push permission. #928 = post-send promo code offer.

Difference #926?
#926 = SMS promo bot. #928 = mobile push deep link bot.

Client does not mention the code?
offer_recover from the most recent CAMPAIGN-DETECT active campaign.

Going further

This week: sync PUSHPROM-MAP #927, offer_recover intent, CODE DEEPLINK templates, measure pushprom_bot_deflect.

Enzo

July 1, 2026

Convert over 2,000 customers on average per month with Qstomy.

The world’s 1st Shopify AI dedicated to customer conversion

Empowering 200+ e-commerce merchants

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.