Batch 5 hygiene note, 2026-05-17: Superseded historical GCLID propagation run. Use the 2026-05-15 GCLID propagation page as the active blocker record. This page is preserved for 2026-05-12 dry-run outputs, conflict evidence, and no-write rationale.
Summary of work done
LITIFY_ORG in the current session before any potential write..codex/worktrees/2e67/... path was missing on disk.scheduled-2026-05-12T10-06-32Z directory was incomplete, so I ran a fresh CallRail dry run instead.scripts/sync-callrail-gclid-to-litify.mjs in dry-run mode and saved output under output/callrail-gclid-sync/daily-2026-05-12T11-10-50Z.scripts/sync-webform-gclid-to-litify.mjs --target-org LITIFY_ORG --all-history --dry-run and saved output under output/webform-gclid-sync/daily-dry-run-2026-05-12T11-10-50Z.512, Matter 55.GOOGLE_SERVICE_ACCOUNT_JSON was wrong in this session, so I reran with the known-good absolute path and saved output/google-ads-data-manager/2026-05-12T11-11-56Z/google-ads-sheets-dry-run.json.gclid, New Website Intake Lead, CallRail, Intaker, SpeedAI, speedintake.com, Vehicle Leads Signed, and Vehicle Leads Unsigned, then cross-referenced the hits against live Salesforce records.Accomplishments and findings
2039 fetched calls, 53 with GCLID, 51 matched Salesforce call logs, 2 unmatched, 0 conflicts, 1 Intake update candidate, 0 Matter updates.521 linked web forms with GCLID, 1 Intake update candidate, 0 Matter updates, 3 conflicts. The single candidate was a blank Intake backfill, but apply remained blocked because of the conflict count.+15024078554 with a full Google Ads URL and GCLID, while the linked CallRail_Call_Log__c and linked Intake/Matter remained blank on GCLID.+15024681057 with a full Google Ads URL and GCLID. A later CallRail log had the same phone and populated GCLID, but both related CallRail logs still had Intake__c = null.Reason for session ending