[object Object]

← 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 →