[object Object]

← back to Ga4 Fleet

GA4 fleet: propagation deploy script + registry cleanup (54 valid IDs, 4 bogus dropped, 42-site deploy plan)

d451288faaf053fe0cfe76ea5fd9047230752522 · 2026-08-03 13:40:39 -0700 · Steve

Files touched

Diff

commit d451288faaf053fe0cfe76ea5fd9047230752522
Author: Steve <steve@designerwallcoverings.com>
Date:   Mon Aug 3 13:40:39 2026 -0700

    GA4 fleet: propagation deploy script + registry cleanup (54 valid IDs, 4 bogus dropped, 42-site deploy plan)
---
 deploy-plan.json     | 296 +++++++++++++++++++++++++++++++++++++++++++++++++++
 deploy-propagated.sh |  17 +++
 measurement-ids.json |   4 -
 3 files changed, 313 insertions(+), 4 deletions(-)

diff --git a/deploy-plan.json b/deploy-plan.json
new file mode 100644
index 0000000..cba5055
--- /dev/null
+++ b/deploy-plan.json
@@ -0,0 +1,296 @@
+[
+  {
+    "repo": "/Users/macstudio3/Projects/1890swallpaper",
+    "base": "1890swallpaper",
+    "pm2": "1890swallpaper",
+    "domain": "1890swallpaper.com",
+    "id": "G-EJG8QNBGLC"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1900swallpaper",
+    "base": "1900swallpaper",
+    "pm2": "1900swallpaper",
+    "domain": "1900swallpaper.com",
+    "id": "G-MXZXJ095DV"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1920swallpaper",
+    "base": "1920swallpaper",
+    "pm2": "1920swallpaper",
+    "domain": "1920swallpaper.com",
+    "id": "G-KBCHLWV7XZ"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1940swallpaper",
+    "base": "1940swallpaper",
+    "pm2": "1940swallpaper",
+    "domain": "1940swallpaper.com",
+    "id": "G-8YSLBHC3CT"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1950swallpaper",
+    "base": "1950swallpaper",
+    "pm2": "1950swallpaper",
+    "domain": "1950swallpaper.com",
+    "id": "G-9L5J2XYJBE"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1960swallpaper",
+    "base": "1960swallpaper",
+    "pm2": "1960swallpaper",
+    "domain": "1960swallpaper.com",
+    "id": "G-T11BTNYZW0"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1970swallpaper",
+    "base": "1970swallpaper",
+    "pm2": "1970swallpaper",
+    "domain": "1970swallpaper.com",
+    "id": "G-SQ342S3Q35"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/1980swallpaper",
+    "base": "1980swallpaper",
+    "pm2": "1980swallpaper",
+    "domain": "1980swallpaper.com",
+    "id": "G-NDDX5NN517"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/agedwallpaper",
+    "base": "agedwallpaper",
+    "pm2": "agedwallpaper",
+    "domain": "agedwallpaper.com",
+    "id": "G-RWLYGLL8GE"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/apartmentwallpaper",
+    "base": "apartmentwallpaper",
+    "pm2": "apartmentwallpaper",
+    "domain": "apartmentwallpaper.com",
+    "id": "G-KP5P2XHN8Y"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/architecturalwallcoverings",
+    "base": "architecturalwallcoverings",
+    "pm2": "architecturalwallcoverings",
+    "domain": "architecturalwallcoverings.com",
+    "id": "G-PN839G9FD8"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/contractwallpaper",
+    "base": "contractwallpaper",
+    "pm2": "contractwallpaper",
+    "domain": "contractwallpaper.com",
+    "id": "G-1VPJ5CRQX3"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/corkwallcovering",
+    "base": "corkwallcovering",
+    "pm2": "corkwallcovering",
+    "domain": "corkwallcovering.com",
+    "id": "G-5YRWGWLMPT"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/consulting-designerwallcoverings-com",
+    "base": "consulting-designerwallcoverings-com",
+    "pm2": "consulting-designerwallcoverings-com",
+    "domain": "dw.agentabrams.com",
+    "id": "G-53F1QBZSG0"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/fabricwallpaper",
+    "base": "fabricwallpaper",
+    "pm2": "fabricwallpaper",
+    "domain": "fabricwallpaper.com",
+    "id": "G-YKX6TCF159"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/glitterwalls",
+    "base": "glitterwalls",
+    "pm2": "glitterwalls",
+    "domain": "glitterwalls.com",
+    "id": "G-RK1X75MQ68"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/goldleafwallpaper",
+    "base": "goldleafwallpaper",
+    "pm2": "goldleafwallpaper-website",
+    "domain": "goldleafwallpaper.com",
+    "id": "G-NP93HLD33N"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/greenwallcoverings",
+    "base": "greenwallcoverings",
+    "pm2": "greenwallcoverings",
+    "domain": "greenwallcoverings.com",
+    "id": "G-PXFNW86BJY"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/handcraftedwallpaper",
+    "base": "handcraftedwallpaper",
+    "pm2": "handcraftedwallpaper",
+    "domain": "handcraftedwallpaper.com",
+    "id": "G-VX7QFH0BB5"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/healthcarewallpaper",
+    "base": "healthcarewallpaper",
+    "pm2": "healthcarewallpaper",
+    "domain": "healthcarewallpaper.com",
+    "id": "G-9ZL3DWRN8W"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/hollywood-wallcoverings",
+    "base": "hollywood-wallcoverings",
+    "pm2": "hollywood-wallcoverings",
+    "domain": "hollywoodwallcoverings.com",
+    "id": "G-JBB1K6YNJ3"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/hospitalitywallpaper",
+    "base": "hospitalitywallpaper",
+    "pm2": "hospitalitywallpaper",
+    "domain": "hospitalitywallpaper.com",
+    "id": "G-XM0936TL4N"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/hotelwallcoverings",
+    "base": "hotelwallcoverings",
+    "pm2": "hotelwallcoverings",
+    "domain": "hotelwallcoverings.com",
+    "id": "G-XB60SLTE0B"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/linenwallpaper",
+    "base": "linenwallpaper",
+    "pm2": "linenwallpaper",
+    "domain": "linenwallpaper.com",
+    "id": "G-DKS5X482LQ"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/madagascarwallpaper",
+    "base": "madagascarwallpaper",
+    "pm2": "madagascarwallpaper",
+    "domain": "madagascarwallpaper.com",
+    "id": "G-L17XK33LW0"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/metallicwallpaper",
+    "base": "metallicwallpaper",
+    "pm2": "metallicwallpaper",
+    "domain": "metallicwallpaper.com",
+    "id": "G-R82V9K1JL4"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/micawallpaper",
+    "base": "micawallpaper",
+    "pm2": "micawallpaper",
+    "domain": "micawallpaper.com",
+    "id": "G-2V0JCZXVVD"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/museumwallpaper",
+    "base": "museumwallpaper",
+    "pm2": "museumwallpaper",
+    "domain": "museumwallpaper.com",
+    "id": "G-E6Y8PDCT60"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/mylarwallpaper",
+    "base": "mylarwallpaper",
+    "pm2": "mylarwallpaper",
+    "domain": "mylarwallpaper.com",
+    "id": "G-DX4F30FJQ6"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/naturalwallcoverings",
+    "base": "naturalwallcoverings",
+    "pm2": "naturalwallcoverings",
+    "domain": "naturalwallcoverings.com",
+    "id": "G-FS7PV5RKHR"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/pastelwallpaper",
+    "base": "pastelwallpaper",
+    "pm2": "pastelwallpaper",
+    "domain": "pastelwallpaper.com",
+    "id": "G-2T3S64TW0Y"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/raffiawallcoverings",
+    "base": "raffiawallcoverings",
+    "pm2": "raffiawallcoverings",
+    "domain": "raffiawallcoverings.com",
+    "id": "G-T1YJPBQ2XY"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/restaurantwallpaper",
+    "base": "restaurantwallpaper",
+    "pm2": "restaurantwallpaper",
+    "domain": "restaurantwallpaper.com",
+    "id": "G-GL80YLPJJ9"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/restorationwallpaper",
+    "base": "restorationwallpaper",
+    "pm2": "restorationwallpaper",
+    "domain": "restorationwallpaper.com",
+    "id": "G-1MKHDYFPWR"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/saloonwallpaper",
+    "base": "saloonwallpaper",
+    "pm2": "saloonwallpaper",
+    "domain": "saloonwallpaper.com",
+    "id": "G-5QPBHCGK8M"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/silkwallcoverings",
+    "base": "silkwallcoverings",
+    "pm2": "silkwallcoverings",
+    "domain": "silkwallcoverings.com",
+    "id": "G-NMVC4V48LE"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/silkwallpaper",
+    "base": "silkwallpaper",
+    "pm2": "silkwallpaper",
+    "domain": "silkwallpaper.com",
+    "id": "G-CNTJNLTEW8"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/silverleafwallpaper",
+    "base": "silverleafwallpaper",
+    "pm2": "silverleafwallpaper",
+    "domain": "silverleafwallpaper.com",
+    "id": "G-1V8HW7Q3BF"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/suedewallpaper",
+    "base": "suedewallpaper",
+    "pm2": "suedewallpaper",
+    "domain": "suedewallpaper.com",
+    "id": "G-0EGN8D3NG5"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/textilewallpaper",
+    "base": "textilewallpaper",
+    "pm2": "textilewallpaper",
+    "domain": "textilewallpaper.com",
+    "id": "G-KG2EY6R7DW"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/vinylwallpaper",
+    "base": "vinylwallpaper",
+    "pm2": "vinylwallpaper",
+    "domain": "vinylwallpaper.com",
+    "id": "G-22J410QW7S"
+  },
+  {
+    "repo": "/Users/macstudio3/Projects/wallpaperdistributors",
+    "base": "wallpaperdistributors",
+    "pm2": "wallpaperdistributors",
+    "domain": "wallpaperdistributors.com",
+    "id": "G-NBZ5WTBW8F"
+  }
+]
\ No newline at end of file
diff --git a/deploy-propagated.sh b/deploy-propagated.sh
new file mode 100755
index 0000000..cff2cba
--- /dev/null
+++ b/deploy-propagated.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Deploy the 42 propagated sites (gtag added to untagged pages) to Kamatera + verify.
+# Operator-run: a 42-site customer-facing deploy is gated for the agent, so Steve runs this.
+# Each deploy is: rsync source (no node_modules/.env/.git, no --delete) -> pm2 reload -> curl-verify
+# the site's own Measurement ID is live. Reversible per site: `git revert HEAD` in the repo + re-run.
+set -uo pipefail
+cd "$(dirname "$0")"
+node -e 'require("./deploy-plan.json").forEach(p=>console.log([p.repo,p.base,p.pm2,p.domain,p.id].join("\t")))' > /tmp/ga4_deploy.tsv
+pass=0; fail=0; failed=""
+while IFS=$'\t' read -r repo base pm2 domain id; do
+  rsync -az --exclude node_modules --exclude .git --exclude '.env*' --exclude '*.log' --exclude .DS_Store "$repo/" "root@45.61.58.125:/root/Projects/$base/" >/dev/null 2>&1
+  ssh -o ConnectTimeout=12 root@45.61.58.125 "pm2 reload $pm2 --update-env >/dev/null 2>&1" 2>/dev/null
+  live=$(curl -s -m 12 "https://$domain/" | grep -oE "$id" | head -1)
+  if [ "$live" = "$id" ]; then pass=$((pass+1)); printf '  ok   %s\n' "$domain"; else fail=$((fail+1)); failed="$failed $domain"; printf '  FAIL %s\n' "$domain"; fi
+done < /tmp/ga4_deploy.tsv
+echo "=== $pass verified live · $fail failed ==="
+[ -n "$failed" ] && echo "failed/unverified:$failed"
diff --git a/measurement-ids.json b/measurement-ids.json
index 083ef0f..523456f 100644
--- a/measurement-ids.json
+++ b/measurement-ids.json
@@ -12,16 +12,12 @@
   "agedwallpaper.com": "G-RWLYGLL8GE",
   "apartmentwallpaper.com": "G-KP5P2XHN8Y",
   "architecturalwallcoverings.com": "G-PN839G9FD8",
-  "auctions.agentabrams.com": "G-OVERLAY",
   "bestwallpaperplace.com": "G-SSNGG2BQC3",
   "contractwallpaper.com": "G-1VPJ5CRQX3",
   "corkwallcovering.com": "G-5YRWGWLMPT",
   "dw.agentabrams.com": "G-53F1QBZSG0",
   "fabricwallpaper.com": "G-YKX6TCF159",
-  "fentucci.com": "G-XXXXXXXXXX",
-  "fentucci.designerwallcoverings.com": "G-XXXXXXXXXX",
   "ffepurchasing.com": "G-WJ8QQQ1YEW",
-  "flockedwallpaper.com": "G-985665",
   "glassbeadedwallpaper.com": "G-MFPLD6B0SR",
   "glitterwalls.com": "G-RK1X75MQ68",
   "goldleafwallpaper.com": "G-NP93HLD33N",

← eb11a3a GA4 fleet audit: 56/104 mapped sites already have GA4 (harve  ·  back to Ga4 Fleet  ·  deploy-propagated.sh: fix ssh-stdin consumption (ssh -n) + s 54f8a4f →