Your software
My Mautic version is: 2.15.3
My PHP version is: 7.2.6
Your problem
I’m trying to setup click tracking on my email for subscribers to double opt-in, however the click tracking is not working what so ever. It is not detecting any visits on the link. I have tried both on a Mautic contact form and on Wordpress with the Mautic plugin. The tracking pixel was on both pages.
The campaign does track if the email is opened, but not if the link is clicked. The links are identical in the email contents as in the url trigger.
Tracking script is present on target page:
These errors are showing in the log:
Errors related to SSL, nothing to do with the issue at hand.
Steps I have tried to fix the problem:
Using a Mautic Landing page.
Using a Wordpress page with the plugin.
Using a blank html page with just the tracking pixel.
Creating a new campaign.
We have tried clicking the link on numerous devices, from different mail providers with the same result.
Are you testing this locally, or on a live server? Localhosts don’t track clicks unless you are using dev mode, as far as I am aware.
How are you inserting the links? Are you using the insert link button on the editor? If you insert directly without using the editor I think they are not tracked, from memory!
@Yosu_Cadilla We’re using locally hosted mail servers. We tried receiving the emails on several providers and they’re being received but there’s no luck with click tracking. The emails from the campaign are working just fine. Test emails are working,form-signup emails are working and so on. The issue arises only when click tracking is being used.
Did you guys solve the issue?
In my case, it was related to heathers and proxies, solved a while ago and been working like a charm since.
Please think twice before discarding proxies as a possible cause, proxies are everywhere nowadays.
Oh! and triple check your mtc.js is working as it is supposed to…
The issue is that Mautic needs to know the original IP from the visitor.
To confirm you have the same issue, tail your HTTP server logs and check if the real IPs are shown there or not.
There are a few ways to force passing that IP through proxies via heathers, I would suggest that you dig into the proxy protocol. Most services have implemented it (including AWS services) and it seems like the way to go, but there’s not much basic documentation around yet.
You need to implement it in all the layers your tracking data goes through, for example your bastion, LB, http server, etc.
In my case, there was a hidden (to me) proxy in LXC/LXD that I was unaware of.
If using the free Cloudflare service (thus no access to the PROXY protocol), must I disable the “proxied” functionality of Cloudflare for the A record of the subdomain which points to the mautic install (on a VPS server) (e.g. MAUTIC.mainsite.org)? And/or must I ALSO disable the “proxied” functionality of Cloudflare for the DNS A record of the MAIN site as well? (To have all click / tracking functionality working?) (e.g. mautic.MAINSITE.org ) … which means basically I lose all Cloudflare functionality without upgrading to their pro plan (to enable the PROXY protocol)?
I’m setting up Mautic for the first time now and just want to make sure everything is configured correctly.