Session objective

Package the custom WordPress contact form configuration and the Google Ads offline conversion tracking details into a clean handoff Drew's team can use to finish OCT setup.

What was completed

Current form contract

Endpoint:

POST /wp-json/sal/v1/contact-intake
Alternate rendered endpoint format: /?rest_route=/sal/v1/contact-intake
Content-Type: application/json

Required user-facing fields:

full_name
phone
case_type
injured_status
consent

Hidden attribution fields:

gclid
utm_source
utm_medium
utm_campaign
page_url
page_title
referrer

Browser field names should stay stable. The browser sends gclid; WordPress maps it to Salesforce as GCLID_Custom__c.

Attribution diagnosis and fix

The stale-GCLID bug came from attribution storage allowing an old cached value to beat a fresh URL value. The fixed behavior is that ?gclid=VALUE in the current URL overwrites stored attribution before the hidden form field is hydrated. The published attribution script remains Kadence Element 62671, Attribution Capture - Google Ads GCLID and UTMs.

Litify/Salesforce config