Analytics
The Analytics add-on counts your forms’ conversions in Google Analytics 4, Google Tag Manager, Yandex Metrica and the Meta Pixel: each message that goes through, with its value, and the way there (how many see a form, start it, and where the rest give up). Nothing visitors type is sent: only the form, the event and the value.
Set it up
- In Contact Form → Settings → Integrations → Analytics, fill in the services you use: the GA4 measurement ID (
G-…, in Google Analytics under Admin → Data streams), the Metrica counter ID, the Meta Pixel ID, or turn on Push the events to Google Tag Manager. - If your site doesn’t load those tags yet, turn on Add these tags to the site. Leave it off when Site Kit, your theme or another plugin loads them already, or they’d count twice.
- In Metrica, make a goal of the JavaScript event type with the identifier
generate_lead, or the name your form uses. - Open a form, then its Analytics tab, and pick the conversion’s value.
The form’s Analytics tab
| Setting | What it does |
|---|---|
| Count this form’s conversions | On at first. |
| Event and goal name | The GA4 event, the Metrica goal’s identifier and the Tag Manager event. generate_lead at first, Google’s own name for a lead. |
| Its value | None, The amount paid, A set value, or a field: a Number, a Calculator total, or a select or radio whose options end in a price (“Basic (20)”). |
| Currency | Three letters, USD at first. A payment’s own currency comes first. |
| Count it in Google Analytics from the server | Counted even when an ad blocker stops Google’s tag. Needs the Measurement Protocol API secret in Settings. |
| Count views, starts, errors and drop-offs | On at first. See below. |
What each service gets
| When | Google Analytics 4 | Yandex Metrica | Meta Pixel | Tag Manager |
|---|---|---|---|---|
| A message goes through | generate_lead with value and currency | goal generate_lead, order_price | Lead | remaily_generate_lead |
| It was paid | purchase with transaction_id | goal purchase | Purchase | remaily_purchase |
| Half of the form is on screen | remaily_form_view | goal remaily_form_view | custom remaily_form_view | remaily_form_view |
| The first field is filled | remaily_form_start | goal | custom | event |
| Sent with errors | remaily_form_invalid, with fields | goal | custom | event |
| Left after starting | remaily_form_abandon, with the last field touched | goal | custom | event |
Every event carries form_id and form_title. In Tag Manager the details are under remaily in the dataLayer.
Where people give up: in Google Analytics, open Explore and break remaily_form_abandon down by its field parameter (register field as a custom dimension first, in Admin → Custom definitions). The field at the top is the one to make easier.
From the server
Ad blockers stop analytics tags for a good share of visitors, and with them your conversions. With Count it in Google Analytics from the server on, the sent message (and its purchase) goes to GA4’s Measurement Protocol from your site, joined to the visitor’s own visit through their _ga cookie, and the browser leaves that event out so nothing counts twice. Metrica and the Pixel are counted in the browser only.
Cookies and consent
The services set their own cookies. Where the law asks for consent first, leave Add these tags to the site off and let your consent plugin load the tags, or return false from remaily_analytics_load_tags until the visitor agrees. Without the tags, the browser sends nothing; the server’s count to GA4 still goes, without a cookie of its own.
For developers
| Hook | What it does |
|---|---|
remaily_analytics_worth | A sent message’s worth: ( $worth, $submission ), with value, currency, paid and transaction. |
remaily_analytics_load_tags | Whether to add the services’ tags to this page: ( $load ). |
The conversion only counts once a message is sent: a form in Test mode, or a mail that failed, counts nothing.