AI Marketing & Analytics · Databases & Data Engineering
AI Marketing: GA4, Ads, SEO & GEO/AEO
By David Gadyan · Published · Updated
Conversion measurement rebuilt for a B2B site so every enquiry is counted and traced to the click that paid for it: GA4 and GTM events, Google Ads click-ID capture, FastAPI audit crawler with PostgreSQL and Playwright, plus technical SEO and schema.org. Enquiry routes measured 0/3 to 3/3, page weight 11.58 MB to 1.21 MB, indexable pages 1 to 116.
The problem
Most businesses can see how many people visit their website. Very few can say how many tried to get in touch, and almost none can say which ad, post or search brought the ones who did. On this B2B site analytics was installed and reporting happily, but every real contact route bypassed it: a form posting to an external handler, buttons that only scrolled the page, and links out to LinkedIn and WhatsApp. None produces a page view, so none was recorded. The business knew its traffic and could not answer the only question that matters: did any of this bring us customers?
What I built
- GA4 and Google Tag Manager events and key events for every contact route (off-site form, scroll buttons, DM links), verified in DebugView.
- Google Ads click-ID capture (gclid, gbraid, wbraid) and conversion import to Google Ads, Meta and LinkedIn, so paid spend is judged on enquiries, not clicks.
- A Python and FastAPI crawler and audit engine behind the findings, with PostgreSQL holding measurement facts, provenance and history.
- Playwright checks that confirm every event actually fires.
- Page-weight cuts (one image from 6.67 MB to 102 KB) and Core Web Vitals work, so the site stops paying for visitors who leave before it loads.
- Technical SEO: an indexable site structure, a meta description written for an actual buyer instead of the site builder's placeholder, corrected headings and schema.org JSON-LD (Person, Organization, Product, FAQPage) so the site can be quoted by AI answer engines, not just linked.
Results, measured
- Enquiries measured: 0 of 3 contact routes before, 3 of 3 after.
- Page weight: 11.58 MB to 1.21 MB.
- Indexable pages: 1 to 116.
- Google ad click ID captured, so an enquiry traces to the exact paid click.
Outcome
The site now counts every enquiry and ties it to the click that produced it, which gives the ad platforms something real to optimise toward and the owner a straight answer on what the spend returned. My method on every engagement: audit first, with a plain-language report you can verify yourself; then fix where money is being lost; then automate the marketing flow with AI, with a human approving each final decision.
Video
Walkthrough:
Fix Google Ads spend with a 3-step framework:
Related projects
AI Lead Scoring & Churn Detection Engine (S1mple.ai)
AI ERP & SaaS · AI & Agents · AI Marketing & Analytics · Databases & Data Engineering
Marketing KPI Dashboard (Meta, Google Ads, Stripe, GA)
AI Marketing & Analytics · Full-Stack & UI/UX · Databases & Data Engineering
ImprovTalk: React Native AI Coach for Charisma and Rapport
Full-Stack & UI/UX · AI & Agents · AI Marketing & Analytics