Added
- Elementor Pro Forms support. GA4
form_submitnow fires on Elementor'ssubmit_successevent, so only genuine successes are counted. Lead capture hookselementor_pro/forms/new_recordand posts to the Leads API.- Previously, Elementor submissions reached GA4 only through the generic submit fallback — which fires on the submit attempt, so reCAPTCHA-blocked and validation-failed submissions were counted — and never reached the Leads API at all.
- "Elementor Pro Forms" added to the Form Plugin setting.
Fixed
- CTA clicks were not tracked in nested page-builder markup. The matcher walked only 3 ancestors from the click target; Elementor nests button text 5–6 levels below the CTA class, so
cta_clicknever fired on those sites. Matching is now by nearest ancestor with no depth limit, scoped to real controls (a,button,[role=button]) so a CTA class on a wrapper cannot turn every click inside it into an event. cta_clicknow reportslink_urlcorrectly when the CTA class sits on a wrapper rather than on the link itself.- CTA class settings now tolerate multi-class values (
btn btn--action) and stray leading dots; an unusable value is skipped instead of throwing on every click on the site. readme.txtstable tag corrected (had drifted to 1.0.1).
Upgrade note
On sites where CTAs were previously silent, cta_click goes from zero to full volume on upgrade, and form_submit on Elementor sites drops slightly (successes only, no longer attempts) with form_plugin changing from generic to elementor. Annotate your GA4 property on the deploy date, and review any Google Ads conversion import or bidding that uses cta_click.