
Google's Data Manager API supports Google Ads offline conversions and enhanced conversions for leads. WordPress lead sites need to capture, normalize, protect, and upload first-party identifiers with a clear consent and retention policy.
Use this for Elementor, Gravity Forms, WPForms, Contact Form 7, custom forms, or CRM uploads where Google Ads should learn which leads became qualified, booked, sold, refunded, or disqualified.
Quick answer
Data Manager API Enhanced Conversions for WordPress PII should be handled with a narrow evidence-first workflow: capture lead id, preserve consent, normalize data, then verify the result before making broader changes.
What to check first
- Capture a stable lead ID, form ID, landing page, consent state, click IDs, timestamp, and CRM record ID at submit time.
- Normalize email, phone, name, and address fields before hashing or uploading where policy allows it.
- Keep raw personal data out of logs, browser consoles, queue tables, and screenshots used for debugging.
- Map CRM stages to the correct Google Ads conversion action instead of uploading every form submit as a sale.
- Keep rejected rows and API errors visible enough for marketing and engineering to fix field mapping.
Diagnostic table
Use this table to keep the work practical. It connects the symptom to evidence and a verification step.
| Action | Evidence to collect | How to verify |
|---|---|---|
| Capture lead ID | Capture a stable lead ID, form ID, landing page, consent state, click IDs, timestamp, and CRM record ID at submit time. | The uploaded event maps back to one real WordPress form submission. |
| Preserve consent | Normalize email, phone, name, and address fields before hashing or uploading where policy allows it. | Sensitive fields are normalized and protected before upload or storage. |
| Normalize data | Keep raw personal data out of logs, browser consoles, queue tables, and screenshots used for debugging. | Consent-denied leads do not send restricted advertising identifiers. |
| Map CRM stage | Map CRM stages to the correct Google Ads conversion action instead of uploading every form submit as a sale. | Google Ads diagnostics show accepted rows and explain rejected rows. |
Useful command or data shape
Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.
lead_upload:
lead_id: gf-20260626-14502
consent_state: granted
conversion_action: qualified_lead
gclid: redacted
user_data:
email_sha256: present
phone_sha256: present
crm_stage: sales_qualified
Safe fix order
Do the work in a sequence that makes each result easy to prove. Stop if a step produces new evidence that changes the incident scope.
- Capture lead ID
- Preserve consent
- Normalize data
- Map CRM stage
- Monitor errors
Production verification checklist
- The uploaded event maps back to one real WordPress form submission.
- Sensitive fields are normalized and protected before upload or storage.
- Consent-denied leads do not send restricted advertising identifiers.
- Google Ads diagnostics show accepted rows and explain rejected rows.
Mistakes to avoid
- Do not judge the fix by one browser or the homepage only.
- Do not delete evidence before recording usernames, file paths, timestamps, and response headers.
- Do not add a cache, security, or tracking plugin while the original problem is still unclear.
- Do not leave test users, temporary debug logs, or broad API keys active after verification.
When HandL WP should help
Bring in help when this affects leads, checkout, search visibility, malware risk, paid media reporting, or a client production site. HandL WP can trace the issue through WordPress, hosting, cache, tracking, and Search Console, then verify the workflow after the technical fix.
If this is active on a production site, set up WordPress enhanced conversions.