← 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
A deploy-plan.jsonA deploy-propagated.shM measurement-ids.json
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 →