---
title: Cordwainer Google Ads Conversion Tracking Fixes
type: article
created: '2026-02-19'
updated: '2026-02-19'
source_docs:
- raw/2026-02-19-cordwainer-alignmentagreement-sync-123762258.md
tags:
- google-ads
- conversion-tracking
- gclid
- wp-rocket
- smtp
- gravity-forms
- callrail
- cordwainer
layer: 2
client_source: null
industry_context: null
transferable: true
---

# Cordwainer Google Ads Conversion Tracking Fixes

## Overview

During a February 2026 internal sync, the team identified that Cordwainer's Google Ads campaign was severely under-reporting conversions. The campaign showed strong engagement (7% CTR, 172 clicks on ~$300 spend) but only one recorded conversion — almost certainly a measurement failure rather than a true performance problem. Two root causes were identified and addressed.

See also: [[clients/cordwainer/_index]] | [[knowledge/google-ads/callrail-implementation]]

---

## Root Cause 1: WP Rocket Firing Before GCLID Registration

### What Happened

WP Rocket (a WordPress caching/performance plugin) was executing its page optimization routines before the Google Click ID (GCLID) had a chance to register in the browser. Because the GCLID is the mechanism Google uses to attribute a site action back to a specific ad click, any form submission or conversion event that fired before the GCLID was stored would be invisible to Google Ads.

### What a GCLID Is

When a user clicks a Google Ad, Google appends a unique identifier — the **Google Click ID (GCLID)** — to the destination URL. This ID travels with the user's session. When a conversion event fires (e.g., a form submission), Google reads the stored GCLID to credit the originating click. If the GCLID hasn't been written to the browser yet, the conversion is lost.

### Fix Applied

Mark updated the WP Rocket execution order so that the GCLID is registered **before** any conversion tracking fires. This was a configuration change within WP Rocket's settings — no plugin replacement was required.

**Status:** ✅ Fixed by Mark (prior to the 2026-02-19 sync)

---

## Root Cause 2: Broken SMTP Causing Lost Form Submissions

### What Happened

The site's SMTP (outbound email) configuration was misconfigured, resulting in **14 failed email deliveries in the preceding 30 days**. This means that even when a visitor submitted a contact form, the notification email to the client was silently dropped. The client never saw the lead; the conversion was never confirmed.

Compounding this, the site was using an unreliable third-party form platform instead of Gravity Forms. The switch to Gravity Forms had been planned but not yet executed on the production site.

### Fix Required

- **Immediate:** Fix SMTP configuration on the Cordwainer WordPress site.
- **Immediate:** Replace the existing form platform with **Gravity Forms** (assigned to E-Shock via Sebastian).

Gravity Forms is preferred because it integrates cleanly with Google Ads conversion tracking via thank-you page redirects or AJAX confirmation hooks, and it provides reliable delivery logging.

**Status:** 🔲 Pending — E-Shock to implement Gravity Forms on production site

---

## Root Cause 3: Phone Conversions Not Tracked at All

### What Happened

Phone calls are a primary conversion path for a memory care facility. Visitors who dial the phone number directly from the website generate zero conversion data unless a call tracking solution is in place. The campaign's single reported conversion almost certainly reflects only form submissions.

### Fix Required

Implement **CallRail** on the Cordwainer site with the following configuration:

- **Disable whisper messages** — the "this call is from Google Ads" audio prompt confuses staff and degrades the caller experience. Pass calls through silently.
- **Educate client staff** that the phone number displayed on the website may differ from their primary number — this is a tracking number and calls route correctly.
- Connect CallRail conversion events to Google Ads as a conversion action.

The team had previously deferred CallRail implementation until the site backend was stable. As of this sync, the backend is considered stable enough to proceed.

**Status:** 🔲 Pending — Sebastian to implement

---

## Campaign Baseline (at time of diagnosis)

| Metric | Value |
|---|---|
| Spend | ~$300 |
| Clicks | 172 |
| CTR | ~7% |
| Reported Conversions | 1 |
| Cost Per Click | ~$2.98 |

The CTR and CPC are strong. Conversion volume is the only gap, and it is attributable to tracking failures rather than campaign underperformance.

---

## Action Items from This Sync

| Owner | Task | Status |
|---|---|---|
| Mark | Fix WP Rocket / GCLID ordering | ✅ Done |
| E-Shock (via Sebastian) | Replace form platform with Gravity Forms on production | 🔲 Pending |
| Mark / Sebastian | Fix SMTP configuration | 🔲 Pending |
| Sebastian | Implement CallRail (no whisper, connect to Google Ads) | 🔲 Pending |

---

## Generalizable Lessons

- **Always verify GCLID registration order** when WP Rocket or similar caching plugins are active. Caching plugins frequently interfere with JavaScript execution timing.
- **SMTP failures are silent conversion killers.** Monitor failed email counts in the WordPress mail log (or a plugin like WP Mail SMTP) as part of any site health check.
- **Phone calls are often the dominant conversion type** for local service businesses. Deploying Google Ads without call tracking on a phone-forward business will always undercount conversions.
- **Defer CallRail until the site backend is stable** — adding a tracking layer on top of a broken foundation creates confounding variables. Once stable, implement immediately.