← back to Ads Dashboard
fix: duplicate 'camps' const collision blanked ALL dashboard panels (SyntaxError killed the whole script); rename UTM local to utmCamps — TK-10544
335d884e68b3eb3d2cfefc3ce38583fab343c243 · 2026-08-13 14:21:20 -0700 · Steve Abrams
Files touched
Diff
commit 335d884e68b3eb3d2cfefc3ce38583fab343c243
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Aug 13 14:21:20 2026 -0700
fix: duplicate 'camps' const collision blanked ALL dashboard panels (SyntaxError killed the whole script); rename UTM local to utmCamps — TK-10544
---
public/index.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/public/index.html b/public/index.html
index 12d1c8f..0e2f84b 100644
--- a/public/index.html
+++ b/public/index.html
@@ -196,10 +196,10 @@ async function boot(){
} else { $('trend').innerHTML=''; $('trendEmpty').hidden=false; $('trendEmpty').textContent='No daily data (source: /api/acquisition).'; }
// UTM campaigns (attribution)
- const camps = (acq.campaigns||[]);
- if (camps.length) {
+ const utmCamps = (acq.campaigns||[]);
+ if (utmCamps.length) {
$('campUtmEmpty').hidden = true;
- $('campUtmBody').innerHTML = camps.map(c=>`<tr>
+ $('campUtmBody').innerHTML = utmCamps.map(c=>`<tr>
<td><a href="/api/acquisition">${c.campaign}</a>${c.automated?' <span class="badge" title="automated feed traffic (product_sync / shop), not a marketing campaign">auto</span>':''}</td>
<td>${c.source}</td><td>${c.medium}</td>
<td>${c.orders}</td><td>$${c.revenue.toLocaleString()}</td>
← 4385f86 populate ad-ops feeds: $0 pixel-scan scanner → real competit
·
back to Ads Dashboard
·
refresh FMPro invoicing snapshot: $72.7k (Aug-3, stale) → $1 956e0ff →