The challenge
The same phone number appeared in multiple UTM campaigns on the same day, inflating counts and hiding real invalid-rate signal.
The solution
A Python CLI with 5 operating modes (INIT bootstrap, date-range, --watch N continuous, --dry-run, --from-cache). Each run fetches new lead emails via Gmail API, pulls matching Worldfilia transactions, runs a multi-tier matcher (exact/phone/email/fuzzy), aggregates per utm_campaign, writes summary + raw leads to Google Sheets, and marks emails as read only after a successful Sheets write so failures never lose leads.
Results
Gmail + Worldfilia
Data sources
4
Match tiers
5
Operating modes
Zero
Data loss on failure
