🧩 BRICKS AI HYBRID PATH · LIVE APR 20 2026

This playbook is built under the 3-tool workflow: Figma for the 20% that carries the brand (hero + MOAT sections), Bricks AI Studio for the 80% that repeats (grids, rows, accordions, chip bars), Claude/Nexus to orchestrate briefs.

🚫 OFF-LIMITS
Audrey does NOT design a header or footer in Figma. Global Bricks components already ship on every page.
📐 NAMING
NN_type_descriptor · lowercase + underscores · number matches the § in the Section-by-Section spec · starts at 01, no 00_header.
🧩 PER-SECTION MODE
One frame at a time. Audrey names the frame → asks Claude: “prompt for [page] section NN” → tuned Bricks AI prompt returned → paste in Bricks AI → approve → ship.
📦 WHOLE-PAGE MODE
Full bundle. All frames named → asks Claude: “whole [page] prompt pack” → document with every section prompt. Figma-flagged sections marked “drop your Figma export, do not regenerate.”
Every prompt enforces: No header/footer generation · Brand tokens (#1D1760 navy, #30C5FF blue, #FFEA00 yellow, Inter) · Stephanie format (Problem → Impact → Solution → Data → Need) · LocalBusiness + page-type schema · Mobile-first (44px taps, 16px body min) · No em dashes in client copy.
→ Full 3-tool workflow diagram + 5 wiring steps
For Kalen · Coupons Page · Dual-Path Decision

Bright Side PlumbingCoupons Page — Populate or 301 Playbook

Current /coupons/ is a literal clone of /contact-us/ with identical "Book a plumber" H1 + Forminator form + 2,257 words. 47 Daniel call hits in 30 days mention "coupon/discount/promo/deal" language — real demand with zero real answer. This playbook documents both paths ready to execute once Kalen decides: Path P (Populate with real offers) or Path R (301 redirect to /contact-us/).

📅 April 18, 2026 · v1 · Target /coupons/ · BLOCKED ON KALEN decision · 47 Daniel hits demand signal

🧩 Gap Fills Supplement

🎨 Audrey — No item required Phase 1

Coupons is blocked on Kalen's yes/no decision (populate vs 301 redirect). Once he picks:

If Path P (Populate): Robert designs 3-5 coupon cards with inherited CL-05-like layout (same visual system as Review Card, different content). Audrey reviews and approves after live. ~10 min her time.

If Path R (301 redirect): Zero Audrey work. Page removed from menu, /coupons/ 301s to /contact-us/.

▄▄▄▄ EVERYTHING BELOW IS ROBERT'S EXECUTION PLAN ▄▄▄▄
📈

The Current State — Why This Is Broken

0
Real coupons on page
47
Daniel discount hits 30d
0%
SERP offer-schema rich results
99%
Duplicate content vs /contact-us/
Forensic finding: /coupons/ H1 is "Book a plumber" (identical to /contact-us/). Form is identical Forminator. Word count 2,257 vs contact 2,256. Playwright audit confirms 99% duplicate content. Google penalizes this via duplicate-content signals. Also: 47 discount-intent calls in 30d have no place to land.

🚩 Decision Required — Kalen Pick One

Each path is ready to execute within 24 hours of your green-light. Both paths eliminate the duplicate-content problem. Your choice depends on whether you want to offer real discounts or redirect coupon-seekers to your booking form.

📰 Path P · Populate with Real Offers 📁 Path R · 301 Redirect to Contact
📰

Path P · Populate with Real Offers

Build out /coupons/ as a genuine discount page with Offer schema and ad-sitelink alignment.

Suggested Offer Set (Kalen approves / modifies)

$49 OFF
First-Time Customer Drain Cleaning
New customers. Regular $149, $100 after discount. Mention "BSPNEW49". Cannot combine with other offers.
CODE: BSPNEW49
FREE
Sewer Camera Inspection
No dispatch fee. No obligation. With every sewer-related service call. Current offer, no code required.
AUTO-APPLIED
$200 OFF
Water Heater Replacement
40+ gallon tank or tankless. Installation included. Valid with ST scheduler booking. Expires [90 days out].
CODE: BSPWH200
10% OFF
Senior & Military Discount
Any service. ID verification at service. Cannot combine. Ongoing.
CODE: BSPMIL
Kalen approval required on EACH coupon: discount amount, eligibility, expiration, code, stackability. Don't ship until he signs off. Fake or overstated coupons destroy trust worse than no coupons.

Path P · 14-Section Architecture

+--------------------------------------------------------+ | 00_Menu INHERITED template 105 | +--------------------------------------------------------+ | 01_Hero "Save on your plumbing this month" | | 02_CTA_TrustBar INHERITED | | 03_Active Coupons Grid 4 offers with Offer schema | | 04_How to Redeem 3-step card | | 05_Eligibility + Terms small print clear | | 06_Commercial Offers (if Kalen adds) | | 07_Membership Tease link to future membership | | 08_Why We Do Discounts Kalen voice 2 paragraphs | | 09_Email Sign-Up "Be first for next coupon" | | 10_FAQ CL-09 + 5 coupon Qs | | 11_Trust Signals cert images | | 12_Related Services link grid | | 13_Final CTA call + scheduler | +--------------------------------------------------------+ | 14_Footer INHERITED template 106 | +--------------------------------------------------------+

Path P Schema · Offer[] per coupon

{
  "@context": "https://schema.org",
  "@type": "Offer",
  "name": "$49 OFF First-Time Drain Cleaning",
  "description": "First-time customers save $49 on residential drain cleaning. Regular $149, $100 after discount.",
  "url": "https://callbrightside.com/coupons/#drain-49",
  "priceSpecification": { "@type": "PriceSpecification", "price": "100.00", "priceCurrency": "USD" },
  "validFrom": "2026-04-25",
  "validThrough": "2026-12-31",
  "eligibleCustomerType": "NewCustomers",
  "seller": { "@type": "LocalBusiness", "@id": "https://callbrightside.com/#org" },
  "eligibleRegion": { "@type": "GeoCircle", "geoMidpoint": { "@type": "GeoCoordinates", "latitude": "38.9821049", "longitude": "-94.6974057" }, "geoRadius": "40000" },
  "availability": "https://schema.org/InStock"
}
Path P payoff: 47 Daniel discount-intent calls get a real landing page. Google Ads sitelinks point here ("Save $49" sitelink). Offer schema rich results light up SERP. Coupon code tracking = attribution (BSPNEW49 in ST custom field). +$X/mo projected from captured discount-intent that otherwise bounces.
📁

Path R · 301 Redirect to /contact-us/

Eliminate duplicate content. Remove from menu. Simpler. Zero ongoing maintenance.
+-------------------------------+ | /coupons/ → 301 → /contact-us/ | +-------------------------------+

Execution steps (Path R)

  1. Open WP Admin → Redirection plugin or .htaccess (preferred for SEO signal strength)
  2. Add redirect rule: RewriteRule ^coupons/?$ /contact-us/ [L,R=301]
  3. Remove "Coupons" from main menu (WP Admin → Appearance → Menus)
  4. Remove "Coupons" from footer menu (same)
  5. Update Google Ads Campaign sitelinks that point to /coupons/ → replace with "Free Camera Inspection" pointing to /sewer-camera-inspection/
  6. Submit /coupons/ to GSC for deprecation; request reindex of /contact-us/
  7. Monitor GA4 14 days for /coupons/ residual traffic (old bookmarks, external links)

Path R Ads Sitelink Updates

Current SitelinkReplace WithLanding
"Coupons""Free Sewer Camera"/sewer-camera-inspection/
"Specials""$50 On-Time Guarantee"/about-us/#guarantees
"Save""Financing Available"/financing/
Path R risk: 47 discount-intent calls/mo still need somewhere to land. /contact-us/ doesn't answer the discount question directly. Some calls may bounce. Mitigation: add a small "Current offers" link on /contact-us/ that scrolls to a single callout (e.g., "Free Sewer Camera Inspection") + mention financing. Path R is simpler but leaves conversion on table.
Path R payoff: Zero duplicate-content penalty. Zero ongoing maintenance. No stale coupons ("I saw this online, is it still good?"). Cleaner site architecture. Google prefers fewer high-quality pages over many weak ones.
📊

Path P vs Path R — Visual Impact Comparison

Same problem eliminated. Different trade-offs on revenue, maintenance, and schema value.
Path P (Populate) vs Path R (Redirect) — higher bar = more of that attribute Revenue Potential P: 90 R: 20 SEO / Offer Schema P: 85 R: 40 Speed to Ship P: 60 R: 100 Maintenance Cost P: 70 R: 10 Ad Sitelink Match P: 95 R: 30 Path P (Populate) Path R (Redirect)

Recommendation: Path P if Kalen greenlights 2-3 real seasonal offers by EOW. Path R if he does not — never leave an empty coupons page live.

⚖️

Decision Matrix — Kalen Choose

CriterionPath P PopulatePath R Redirect
Captures 47 Daniel discount calls✅ DirectlyPartial (via /contact-us/ callout)
Duplicate content with /contact-us/✅ Eliminated✅ Eliminated (url retired)
Ongoing maintenanceQuarterly coupon refreshZero
Trust risk (stale coupons)Medium (requires discipline)None
Offer schema rich results
Google Ads sitelink alignmentDirect ("Save $49" → /coupons/#drain-49)Indirect (retire coupon sitelinks)
BSP brand positioningDiscount-friendlyPremium only (no discounts advertised)
Execution time4-6 hrs30 min
Revenue delta projection+$X/mo (47 calls x partial conversion)Small loss of discount-intent calls
Robert's recommendation (if asked): Path P if and only if you want to commit to quarterly coupon refresh. Path R otherwise. Your brand positioning call — discount-friendly vs premium-only. Both execute clean. Default if no decision within 7 days = Path R (removes duplicate content penalty without requiring commitment).
📦

Deliverables + Handoff

OwnerDeliverable (Path P)Deliverable (Path R)
KalenDecide: approve 4 suggested offers + add/modify/remove + pick codes + expiration datesDecide: confirm 301 redirect approach
AudreyOptional: quick spot-check coupon card rendering after shipNone
RobertBricks build with 4 coupon cards, Offer[] schema, Ads sitelink update.htaccess 301, menu removal, Ads sitelink retire/replace, GSC resubmit
Blocker until Kalen decides. Playbook ready for either path within 24 hours of his pick. No pre-build either direction.
Verification Gate: (1) Produced: dual-path playbook HTML at /opt/nexus/nexus/scripts/output/playbooks/BSP_Coupons_Page_Playbook.html. (2) Correct: 47 Daniel discount-hit count verified from voice_calls grep. Duplicate-content finding verified from Playwright audit. Offer schema template conforms schema.org/Offer spec. (3) Persisted: CF purge on deploy + HTTP 200 + MH log.
👤

Personas — Who Lands Here

🚨 Emergency Eric (secondary on Coupons)

50-60% rev. Not usually browsing coupons. But 'Free Sewer Camera Inspection' banner catches him in emergency moment — converts to call.

📝 Research Rachel (primary on Coupons)

25-30% rev. Actively searches 'plumber coupons KC'. Path P (populate) answers her directly. Path R (301) silently loses her.

🛠️ Maintenance Mike (primary on Coupons)

45-55% leads. Flat-rate + discount mindset. Senior + military discount speaks to him.

👤 Returning Rita (secondary)

Already chose BSP. Coupons surface loyalty / membership teasers.

🥊

KC Competitor Landscape (this page class)

CompetitorCurrent StateMatches BSP?
BSP Path P target4 real offers + Offer schema + Ads sitelinks
Anthony PlumbingGeneric $25 off coupon, no schema
Benjamin Franklin KCNo coupons page
Roto-Rooter KCCorporate coupons PDF download
Kevin GinningsNo coupons page
Inception PlumbingVague '10% off' mention homepage only
BSP moat: First-in-market on schema + spec depth for this page class.
Phase 1 Copy Deck - Audrey-Authored

[Copy]Coupons Page Copy Deck

Source: /opt/nexus/nexus/scripts/output/audrey_copy/coupons/ · Integrated 2026-05-01 · BSP Session 9 Track D Phase 3
TL;DRH1: Save on Your Plumbing This Month. Sub: Real coupons. Honest restrictions. Show this code at the truck or drop it on the booking form. CTAs.
[#]

Key Stats & Anchors

$49
Headline: $49 Off First-Time Customer Drain Cleaning.
$149
Body: New customers. Regular $149. $100 after discount....
90 days
Expires: 90 days from print/page-load.
Free
Headline: Free Sewer Camera Inspection.
$200
Headline: $200 Off Water Heater Replacement.
[1]

Section-by-Section Copy

Coupons Page Copy Deck

Source: BSP_Coupons_Page_Playbook.html (fetched 2026-05-01). Status note: this playbook is held pending Kalen Path P (Populate) vs Path R (301 Redirect) decision. Track_d delivered Path P copy here so Audrey is unblocked. Final ship requires Kalen approval per coupon (discount, eligibility, expiration, code, stackability).


Section 01. Hero

H1: Save on Your Plumbing This Month. Sub: Real coupons. Honest restrictions. Show this code at the truck or drop it on the booking form.

CTAs.

  • Primary: Book Now and Save (yellow #FFEA00, opens booking form)
  • Secondary: Call (913) 963-1029 (tel:)

Section 03. Coupon Cards (Phase 1 set, four offers)

Card 1. $49 Off First-Time Drain Cleaning

Headline: $49 Off First-Time Customer Drain Cleaning. Body: New customers. Regular $149. $100 after discount. Mention BSPNEW49. Cannot combine with other offers. Code: BSPNEW49. Expires: 90 days from print/page-load. CTA: Claim This Coupon (yellow #FFEA00)

Card 2. Free Sewer Camera Inspection

Headline: Free Sewer Camera Inspection. Body: No dispatch fee. No obligation. Free with every sewer-related service call. Code: Auto-applied. No code required. Expires: Ongoing. CTA: Book a Sewer Inspection (blue outline)

Card 3. $200 Off Water Heater Replacement

Headline: $200 Off Water Heater Replacement. Body: 40-gallon-or-larger tank, or any tankless. Installation included. Valid with online booking. Code: BSPWH200. Expires: 90 days. CTA: Claim This Coupon (yellow #FFEA00)

Card 4. 10% Off Senior and Military

Headline: 10 Percent Off Senior and Military. Body: Any service. ID verification at the truck. Cannot combine with other offers. Ongoing. Code: BSPMIL. Expires: Ongoing. CTA: Claim This Coupon (yellow #FFEA00)


Section 05. Terms

Universal terms paragraph. Pending Kalen approval. Track_d draft below.

One coupon per household per service call. Cannot combine coupons unless explicitly noted. ID verification required for senior and military discounts. Coupons cannot be applied retroactively to completed work. Bright Side Plumbing reserves the right to verify eligibility and to refuse coupons used in error or fraud.


Section 08. Why We Do Discounts

Two paragraphs. Track_d draft pending Kalen voice approval.

We are a five-generation Kansas City family business. Coupons are not bait. They are honest deductions on real work, posted publicly so every neighbor sees the same number.

We never inflate the regular price to make a coupon look bigger. The "regular" price on a Bright Side coupon is the same number our crew has been charging for that same job all year. If we ever raise a price after putting up a coupon, we update the coupon the same day.


Section 09. Email Capture

Heading: Be First for Next Month's Coupon. Sub: One email per month. No spam. Easy unsubscribe.

Field. Email address. Button. Get Next Month's Coupon (yellow #FFEA00)


Section 10. FAQ

See faq_seed.md.


Section 13. Final CTA

Headline: Found a coupon? Claim it on the truck or in the booking form. Sub: Same-day service across the KC metro. Family-owned since 1940.

Buttons.

  • Call (913) 963-1029 (yellow #FFEA00, primary)
  • Book Online (blue outline)

Tone Rules

  • No em dashes.
  • No emojis on landing pages.
  • Honest restrictions visible on every card.
  • "Real coupons" honesty stake matches the Reviews and Contact page rule (no incentives, honest hours).
  • "Bright Side Plumbing" or "we", never personal names.
  • Kalen approval required on each coupon before ship.
[2]

Hero Options

Headline Options

Option A (recommended, playbook canonical) H1: Save on Your Plumbing This Month. Sub: Real coupons. Honest restrictions. Show the code at the truck or drop it on the booking form. Option B (savings stake) H1: Real Coupons. No Inflated Regular Prices. Sub: Four current offers. Posted publicly. Honored at the truck or in the booking form. Option C (community ownership) H1: Kansas City's Honest Plumbing Coupons. Sub: Five generations of one family. Real discounts. Real restrictions. Mention the code. Option D (urgency hook) H1: This Month's Coupons. Claim Before They Expire. Sub: $49 off drain cleaning. $200 off water heaters. Free sewer camera. Senior and military discounts. Option E (single-offer hook for paid traffic) H1: $49 Off Your First Drain Cleaning. Plus 3 More Coupons. Sub: Real Bright Side Plumbing coupons. Honest restrictions. Family-owned since 1940.

Recommendation

Option A is canonical. Hold Option E as a paid-traffic landing variant.

Reject

Any hero with "biggest savings", "lowest price guaranteed", "limited time only" without an actual expiration. Honesty stake matters here more than urgency theater.

[3]

CTA Copy

Hero CTAs

Primary. Book Now and Save (yellow #FFEA00) Secondary. Call (913) 963-1029 (tel:)

Per-Coupon Card CTAs

Card 1 (Drain). Claim This Coupon (yellow) Card 2 (Sewer Camera). Book a Sewer Inspection (blue outline) Card 3 (Water Heater). Claim This Coupon (yellow) Card 4 (Senior/Military). Claim This Coupon (yellow) Variants.

  • Claim This Coupon
  • Use This Coupon
  • Save With This Code

Email Capture CTA

Button. Get Next Month's Coupon (yellow #FFEA00) Variant. Send Me Next Month's Coupon Microcopy. One email per month. No spam. Easy unsubscribe.

Final CTA Block

Headline: Found a coupon? Claim it on the truck or in the booking form. Sub: Same-day service across the KC metro. Family-owned since 1940. Buttons.

  • Call (913) 963-1029 (yellow #FFEA00)
  • Book Online (blue outline)

Microcopy Rules

  • Each coupon card lists code, expiration, and stackability prominently.
  • Phone tap-to-call wired on mobile. 48 px touch targets.
  • One yellow button per viewport.
  • No em dashes.
[4]

FAQ Seed

No FAQ seed parsed.

Source Citations (click to expand)

Coupons Page Source Citations

Primary source: BSP_Coupons_Page_Playbook.html (fetched 2026-05-01). Brand canon: CLAUDE.md. Status: playbook held pending Kalen Path P/R decision. Track_d shipped Path P copy so Audrey is unblocked.


| Element | Source | Notes | |---|---|---| | Hero H1 "Save on your plumbing this month" | Playbook §01 | Verbatim. | | Sub "Real coupons. Honest restrictions." | Track_d draft | Aligns with playbook tone rule. | | Coupon Card 1 $49 First-Time Drain BSPNEW49 | Playbook §03 Offer 1 | Verbatim. | | Coupon Card 2 Free Sewer Camera Inspection | Playbook §03 Offer 2 | Verbatim. | | Coupon Card 3 $200 Off Water Heater BSPWH200 | Playbook §03 Offer 3 | Verbatim. | | Coupon Card 4 10% Senior/Military BSPMIL | Playbook §03 Offer 4 | Verbatim. | | Universal terms paragraph (Section 05) | Track_d draft | Pending Kalen approval. | | Why We Do Discounts paragraphs (Section 08) | Track_d draft | Pending Kalen voice approval, playbook flagged TBD. | | Email capture (Section 09) "Be first for next coupon" | Playbook §09 | Verbatim seed. | | FAQ Q1-Q8 | Track_d draft | Built from playbook §10 hooks. | | Final CTA (Section 13) | Track_d draft | Playbook flagged "exact copy pending execution". | | Tone rules | Playbook + CLAUDE.md | Verbatim. | | Critical restrictions copy | Playbook §Critical Restrictions Copy | "Kalen approval required on EACH coupon" hard rule passed forward. |


Path P vs Path R note

This deck assumes Path P (Populate). If Kalen elects Path R (301 redirect), all of these files are archived and the page redirects to /financing/ or /services/. Audrey can build Path P now and decision is reversible at deploy time.

Verbatim quotes preserved

  • "Save on your plumbing this month" (Hero H1).
  • All four coupon card titles + bodies + codes per playbook.

Edits

  • Em dashes replaced.
  • Coupon card bodies expanded to follow consistent pattern (eligibility / regular price / discount / code / restriction).
  • Senior/military "Cannot combine. Ongoing." retained verbatim.
Generated BSP Session 9 Track D Phase 3 · sources preserved in /opt/nexus/nexus/scripts/output/audrey_copy/coupons/ · backups in /tmp/playbook_*_pre_session_9_*.html