No description
Root cause of the order-CTA 404s recurring after the prior live fix: the builder clones email bodies from STORED Listmonk source campaigns (ids 186/188/271-274/309/310/469/473), not from the edited source files. Those stored bodies still carried @TrackLink on the per-subscriber order CTA, so every nightly build re-registered a single static /order/<slug>&utm... link (no '?') that 404s for every recipient. This morning's 3,000 real sends AND the owner spot-check both went out with dead order links. Two durable guards: 1. get_base_campaign() now strips @TrackLink from any cloned body (with a warning), so a stale/re-edited source campaign can never reach recipients broken again. Human clicks are already attributed via Umami. 2. The owner test-send now builds the CTA via lp_link_with_coupon(dot=...) (leading '?') instead of build_lp_link() (bare path). Also fixed live: stripped @TrackLink from the 10 stored source campaign bodies; rewrote the 12 already-registered broken links. Backups in listmonk: pw_source_tracklink_bak_20260623 + pw_links_tracklink_bak_20260623. |
||
|---|---|---|
| .claude/projects/-home-justin-projects-performancewest-new-site/memory | ||
| api | ||
| chrome-extension/fcc-access-helper | ||
| data | ||
| docs | ||
| docserver | ||
| erpnext | ||
| frappe_adyen | ||
| frappe_ca_registry | ||
| frappe_crypto | ||
| infra | ||
| mcp | ||
| monitoring | ||
| node-compile-cache/v25.1.0-x64-392347a2-1000 | ||
| performancewest_erpnext | ||
| scripts | ||
| site | ||
| src | ||
| test_screenshots | ||
| .gitignore | ||
| CLAUDE.md | ||
| deploy.sh | ||
| docker-compose.dev.override.yml | ||
| docker-compose.yml | ||
| extract-erpnext-assets.sh | ||