Blog

Practical guides on automation, ads, AI video & web

Real tactics from real client work. No fluff, no filler, no clickbait. If it didn't move a metric for someone paying me, it's not on this blog.

Measurement

Do You Actually Need BigQuery for Attribution?

Do you need BigQuery for marketing attribution? Usually no. Four thresholds decide it, plus the real cost and the flat conversion log that works instead.

Sep 6, 2026·14 min
Measurement

Send EHR Appointment Data to Google Ads Offline Conversions

Four ways appointment status leaves an EHR or PMS for Google Ads offline conversions, which fields to send, and how to prove the feed before go-live.

Sep 6, 2026·19 min
Performance Ads

Google Ads Conversion Adjustments for No-Show Appointments

A Google Ads conversion adjustment for a no-show or canceled appointment retracts it, fixes your report, and often reaches the bidder too late to matter.

Sep 6, 2026·16 min
Measurement

Google Ads Shows More Leads Than Your CRM

Google Ads shows conversions but your CRM shows fewer leads for two unrelated reasons. Split click id capture by entry path: that test says which one.

Sep 6, 2026·14 min
Measurement

Google Ads vs GA4 Conversions Don't Match: Offline Leads

Google Ads vs GA4 conversions don't match because each counts a different set of events. Subtract in order, starting with what GA4 could never see.

Sep 6, 2026·17 min
Measurement

HIPAA-Conscious Conversion Tracking: The Line I Draw

HIPAA-conscious conversion tracking for a medical practice: the boundary is a schema with no column PHI can land in, not a payload you sanitize later.

Sep 6, 2026·15 min
Performance Ads

Offline Conversion Import Errors: Fatal, Cosmetic, Silent

Offline conversion import errors in Google Ads split three ways: fatal, cosmetic, and silent. The silent ones still count as successes.

Sep 6, 2026·14 min
Performance Ads

Why Your Offline Conversion Upload Double-Counts

Offline conversion upload double counting in Google Ads starts in your own table: the ratio to check, a dedupe key that survives a re-run, the guard query.

Sep 6, 2026·18 min
Measurement

Search Console BigQuery Export: Turn It On Today

The Search Console BigQuery export is not retroactive: history starts the day you enable it. What it gives marketing that the interface cannot show.

Sep 6, 2026·9 min
Performance Ads

Test an Offline Conversion Upload Without Wrecking Bids

How to test an offline conversion upload on a live Google Ads account: why a test account and validate-only prove nothing, and the 10 checks I run first.

Sep 6, 2026·16 min
Measurement

Which Location Got the Lead? Stamp It at Capture

To track which location a booking or lead came from, take the code from the booking record and stamp it on the conversion row at capture, never later.

Sep 6, 2026·13 min
GEO / AI Search

A GEO Checklist: Make Your Pages Quotable by AI

A GEO checklist to make content quotable by AI: answer-first paragraphs, question H2s, self-contained facts, schema, and clear entity signals.

Aug 16, 2026·10 min
GEO / AI Search

How to Get Cited by ChatGPT and Perplexity

How to get cited by ChatGPT and Perplexity: the page structure, the sourcing and the answer shape that make an AI quote you by name.

Aug 16, 2026·9 min
GEO / AI Search

How to Rank in Google AI Overviews

How to rank in Google AI Overviews: what gets pulled into the answer, why position one is not enough, and the passage format that gets quoted.

Aug 16, 2026·10 min
GEO / AI Search

What Is Generative Engine Optimization (GEO)?

GEO (Generative Engine Optimization) is optimizing your content to be surfaced and cited by AI answer engines like AI Overviews, ChatGPT, and Perplexity.

Aug 16, 2026·9 min
Performance Ads

Google Ads Agent That Catches Broken Tracking

An agent that watches your Google Ads conversion feed and tells you the day it breaks, instead of the month you notice the revenue gap.

Aug 10, 2026·10 min
Measurement

Measure Conversions When Visitors Reject Tracking

When consent gating blocks most analytics, standard tracking undercounts conversions badly. Here is how to measure revenue honestly anyway.

Aug 6, 2026·6 min
Performance Ads

CallRail to Google Ads: Attribute Calls Without Double-Count

Attribute phone calls to Google Ads: match each CallRail call to a booking, upload it as an offline conversion, and skip the double-counting trap.

Aug 1, 2026·11 min
Performance Ads

How to Capture GCLID for Offline Conversions

Capture GCLID for offline conversions the right way: read the _gcl_aw cookie (not just the URL), handle gbraid and wbraid, and deploy it via GTM.

Aug 1, 2026·10 min
Performance Ads

Google Ads Conversions: Calls, Forms, or Both?

The Conversions column is the sum of your primary actions, so if calls and bookings are both primary, that number is combined, not one or the other.

Aug 1, 2026·6 min
Performance Ads

Google Ads Data Manager API: Offline Conversions 2026

Upload offline conversions in 2026 with the Google Ads Data Manager API. The classic UploadClickConversions is now allowlist-gated; here is the new path.

Aug 1, 2026·12 min
Performance Ads

Offline Conversion Tracking: CRM to Google Ads

Set up offline conversion tracking in Google Ads: capture the gclid at booking, link it in your CRM, upload the conversion when they show up.

Aug 1, 2026·11 min
Performance Ads

What Value to Send with Offline Conversions

Offline conversion value in Google Ads: send what you actually collect, not the sticker price, or value-based bidding chases the wrong customers.

Aug 1, 2026·7 min
Strategy

AI Agent vs Automation: Which Do You Actually Need?

An AI agent and a plain automation solve different problems. Use a workflow for fixed rules, an agent for messy inputs. Here's how to pick.

Jul 8, 2026·11 min
Strategy

Why I Charge Fixed Price, Not Hourly

Hourly billing rewards slow work. Fixed price aligns my incentive with yours: ship the thing, ship it well, move on. Here's the math.

May 10, 2026·4 min