E-commerce
July 1, 2026
"Your Facebook ad showed -40%, the site is at full price." "Here is the screenshot of the Google ad." "The influencer promised this code last week." Three tickets where an old advertisement creates expectation and conflict.
The e-commerce expired ad offer support covers screenshot verification, expired promo window, ad price vs. site price discrepancy, structured commercial gesture, and obsolete ad reporting, distinct from general promotional offers and the expiration bot (#930).
This guide #929 deploys policy EXPIAD-SUP, flow EA-1 to EA-8, and matrix EXPIAD-MAP. Future customer service pair expired offer bot (#930).
Summary
Why do old ads generate support tickets?
Meta Google TikTok still run creatives after the campaign ends. The customer screenshots an offer, arrives late, and compares it to the current price. Without EXPIAD-MAP, the agent promises the discount or bluntly refuses without checking the ad library.
Five typical expired ad frictions
Screenshot: -40% Meta no longer valid at checkout
Ad vs site price: ad says €29, PDP says €49
Closed window: flash ad ends, customer arrives 3 days later
Influencer old code: UGC quotes expired promo
Ad still live: obsolete creative not turned off in ads
DTC retail example
DTC Cosmetics, 11 expiad_ tickets/month. After EXPIAD-MAP: expiad_resolution_rate 79%, abusive goodwill escalations -44% in 6 weeks.
EXPIAD #929 vs general PROMO, PMATCH #388, ATTACH #877 and bot #930
Seven promo ad contents, seven distinct angles.
Quick Matrix
#929 EXPIAD: manage tickets capture expired ad obsolete price goodwill
General PROMO: active promotional offers agents
PMATCH #388: competitor price match distinct former ad
CODE reduce: invalid promo codes checkout distinct ad
ATTACH #877: attachments capture procedure agents
NEWSPIK #923: email spike distinct Meta Google ad
Bot #930: bot explain end of validity alternative
#929 = customer cites an ad or past capture. General PROMO = active offer today.
Promise #929
Policy EXPIAD-SUP, tree EXPIAD-GATE, 8 macros, ads campaigns registry, KPI expiad_resolution_rate.
Which expiad_* typologies should be classified?
Action-oriented classifier: screenshot ≠ price ≠ window ≠ influencer ≠ live ad ops.
Eight EXPIAD-MAP typologies
expiad_screenshot_claim: customer sends Meta Google ad screenshot
expiad_ad_price_mismatch: ad price different from current PDP
expiad_expired_window: ad offer ended, late customer
expiad_wrong_product_ad: advertised product out of stock or removed
expiad_influencer_old_promo: UGC creator mentions old offer
expiad_goodwill_request: goodwill request after promo refusal
expiad_fake_screenshot: suspicious screenshot, modified or from another store
expiad_ops_flag: report of ad still running after end date
EXPIAD-SUP Policy: agent rules and ad campaign registry
The EXPIAD-SUP policy establishes factual verification and responses without blind promises.
Six EXPIAD-SUP rules
AD-REGISTRY-FIRST: verify the ad campaign registry before agreeing
Verify screenshot: date, creative, and landing URL if provided
No blind match: do not honor screenshots without registry proof
Goodwill cap: commercial gesture capped in documented policy
Ops flag pub live: expiad_ops_flag if obsolete creative is active
Handoff #930: alternative expiration bot brief
Minimum ad campaign registry
Campaign ID: Meta, Google, TikTok reference
Offer copy: -40%, what is excluded, and dates
Validity window: start, end, market timezone
Landing URL: tested PDP collection
Goodwill rules: threshold %, max one-time refund
Flow EA-1 to EA-8: processing of expired ad ticket
Eight steps: intake capture verification decision ops log closure.
Flow EA-1 to EA-8
EA-1 Intake: capture ad link influencer code view date
EA-2 Classify: expiad_* via EXPIAD-MAP
EA-3 Registry lookup: AD-REGISTRY corresponding ads campaign
EA-4 Verify: screenshot authenticity validity window
EA-5 Resolve: macro EXPIAD expired current goodwill
EA-6 Ops flag: obsolete live ad → marketing ads
EA-7 Goodwill gate: gesture if policy and first request
EA-8 Log: KPI expiad + brief next ads campaign
Eight ready-to-paste EXPIAD-* macros
Factual macros without promise out of register.
EXPIAD-* Library
EXPIAD-VERIFY: "Thank you for the capture. Campaign {{id}} verification in progress."
EXPIAD-EXPIRED-OK: "Ad offer ended on {{date_fin}}."
EXPIAD-CURRENT-OFFER: "Current offer: {{offre_actuelle}}."
EXPIAD-PRICE-EXPLAIN: "Ad price {{prix_pub}} vs site {{prix_site}}: {{explication}}."
EXPIAD-GOODWILL: "Exceptional gesture: {{geste}}. One-time use."
EXPIAD-AD-FIX: "Ad reported to ads team. Thank you for the report."
EXPIAD-FAKE: "Capture not recognized. Current offer: {{lien}}."
EXPIAD-DONE: "Ticket summary {{id}}. Resolution: {{résolution}}."
EXPIAD-GATE tree and ads marketing coordination
Decision tree before honoring capture or escalating goodwill.
EXPIAD-GATE
Capture provided? → VERIFY + registry lookup
Offer still active in registry? → CURRENT-OFFER + code if applicable
Window expired? → EXPIRED-OK + current offer
Ad price ≠ site? → PRICE-EXPLAIN + ops if ad is live
Unrecognized capture? → FAKE or documented goodwill gate
Outdated ad still broadcasting? → AD-FIX immediate ops_flag
Weekly ads + support ritual
Marketing shares registry of ended campaigns. Support tags expiad_ops_flag. Bot #930 syncs active offers.
KPI, QA and hand-off to bot #930
Measuring EXPIAD detects obsolete ads and miscalibrated goodwill.
Four EXPIAD KPIs
expiad_resolution_rate: tickets resolved without abusive escalation
expiad_verify_sla: % of captures verified within 24 hours
expiad_ops_flag_rate: live obsolete ad reports
expiad_goodwill_rate: % of tickets with compliant policy gesture
Handoff #930
Export EXPIAD-MAP to bot: expiad_expired_window expiad_current_offer high-priority. Guardrail AD-REGISTRY-GATE brief #930 offre_actuelle widget.
Edge cases: influencer, Google Shopping, post-click purchase
Three cases outside the standard flow.
Former influencer code
influencer_old_promo: EXPIRED-OK + CURRENT-OFFER. Do not honor codes outside the active affiliate registry.
Google Shopping catalog price
ad_price_mismatch: PRICE-EXPLAIN Merchant Center sync delay. Ops flags if discrepancy exceeds 48 hours.
Customer purchased during the ad window
If order is within campaign dates: post-purchase price alignment distinct from expiad expired.
Agent training: 25 minutes EXPIAD
Module: AD-REGISTRY verify, goodwill cap, distinguish PMATCH #388 PROMO bot #930.
Exercises
Ticket A: expired Meta capture → EXPIRED-OK CURRENT-OFFER
Ticket B: ad price 29 site 49 → PRICE-EXPLAIN ops flag
Ticket C: fake capture → FAKE without goodwill
Ticket D: first request 48 h after end → goodwill gate if policy
How Qstomy structures EXPIAD in your stack
Qstomy route expiad_*, ads campaign registry sync, EXPIRED CURRENT and handoff macros #930 expiration gate.
Three building blocks
Routing: intent ad_expired vs active promo vs pmatch
Ad registry: campaign window landing goodwill rules
Bot #930: tier 1 expiration alternative current offer
Scenario: DTC cosmetics, 11 tickets/month. Registry ads sync. expiad_resolution_rate 79%, ops flags live ad -52%.
FAQ and EXPIAD deployment checklist
FAQ
Honor any screenshot?
No. AD-REGISTRY verification required for EA-3 and EA-4.
Difference with PMATCH #388?
#388 = active competitor today. #929 = old store ad.
Difference with general PROMO?
PROMO = active offer. #929 = expired screenshot ad.
Difference with #930?
#929 = agents verify goodwill ops. #930 = tier 1 bot for widget expiration.
Is the ad still visible?
Immediate expiad_ops_flag. AD-FIX marketing ads.
EXPIAD Deployment Checklist
EXPIAD-SUP + EXPIAD-MAP ad registry template
Goodwill cap documented policy
Screenshot verification procedure ATTACH #877
Tags expiad_* + campaign_id correlation
Ops flag channel for Meta Google marketing
Sync bot #930 AD-REGISTRY-GATE
25-minute training exercises Section 10
Internal Linking

Enzo
July 1, 2026





