WordPress Developer with Client-Side & Server-Side Tracking Experience (GA4/GTM/JS/PHP)

Remote Full-time
We are looking for an experienced WordPress developer who understands how GA4 tracking works under the hood (including cookies, identifiers, and client-side vs server-side data flows) to implement a reliable data-capture layer for form submissions on the website. • **Goal*** When a Contact Form 7 form is submitted on a WordPress website, a structured payload must be sent to a Zapier webhook (used as a trigger for downstream automation). The payload must include the following data groups: 1. Form & submission data (required) - Data that represents what was submitted and which form it came from - All submitted form fields (raw form response data; varies per form) - CF7 form ID (numeric) - CF7 form title - Unique submission identifier (submission_uuid) • Must be present on every submission 2. Page & request context (required) - Data that explains where, when, and under what conditions the submission happened - Page URL - Page title - Page referrer - submitted_at_utc - submitted_at_unix_ms - User agent - User IP address • Required for attribution and logic in downstream automation 3. Marketing & attribution identifiers (capture when available) - Data used for conversion attribution and analytics reconciliation 3.1. Google Ads identifiers: - gclid - gbraid - wbraid 3.2. GA4 identifiers (best-effort, but reliable when present): - ga_client_id - ga_session_id 3.3. UTM parameters: - utm_source - utm_medium - utm_campaign - utm_term (optional) - utm_content (optional) • Must be captured when available, but must not block form submission The solution must: - Capture data from the correct source (URL parameters, first-party cookies, GA4 cookies, JS context) - Capture all required identifiers (including GA4 client/session identifiers and Google Ads identifiers) reliably and at the correct time (before or at the moment of form submission), without relying on post-submit or timing-dependent workarounds. - Work consistently in real-world conditions (multiple pageviews, delayed submits, different browsers/devices, consent mode) - Separate client-side data collection from server-side processing where appropriate - Send a clean, structured JSON payload to a Zapier webhook • **Important note*** We already attempted an implementation, but GA4 client/session identifiers are not consistently captured. Your task is to implement this properly and reliably, using best practices. • **Who should apply*** Please apply only if you have real, hands-on experience with: - Advanced Contact Form 7 integrations (beyond default form handling) - JavaScript and PHP used for data capture and form-submit handling in WordPress - GA4 tracking internals, including cookies and identifiers (_ga, _ga_*, client and session IDs) - Google Ads click identifiers (gclid, gbraid, wbraid) and how they are captured and persisted - Google Tag Manager (GTM) and basic client-side vs server-side tracking concepts - Building and sending structured JSON payloads to webhooks (Zapier / n8n) - Debugging attribution, cookie availability, and timing-related issues This is not a basic WordPress or GTM task. A solid understanding of how GA4/Google Ads tracking identifiers are collected on the client side and forwarded server-side via a webhook is required. Apply tot his job
Apply Now
← Back to Home