Your software
My Mautic version is: 4.0.2
My PHP version is: 7.4
So my ongoing quest to get gclid ID into contact records. I’ve managed to pull the gclid from the URL and store it in a cookie value.
I was going to inject that into a hidden form field but I felt that if I could push it into the anonymous visitor record the second they hit the site then I would also get a clear view of just how many AD clicks I was getting.
I’d still need the form to ID the contact prior to them making a booking.
My question now is anonymous visitors are tracked by some method that I can’t find. Is there a way for me to edit the data that is sent when they hit a page?
Here’s an anonymous visitor coming in from a GADs click. It has the gclid in the URL. I really would like to grab that on this anonymous visit and push that into the contact record field. @joeyk are you able to shed some light on this?
Hi, do you mean you want to save this value and save it in a custom field? You can only do it with some custom code.
You can check for the gclid string in this field by ‘contains’ gclid expression but that will give you a yes or know outcome only. Maybe that is enough.
I have the gclid stored in a cookie so that part is done. It’s getting it into the anonymous record that is the problem. Would the regular mt() track push that in or does that need an email address to match up?
I have tested the script at various breakpoints and I can see the QS value being added to the mt() call. But it never hits the contact record ever. Whether the contact is known or unknown, the gclid contact field never gets updated.
I really feel like I’ve found a new bug.
I’m open to having a Skype chat and screen share to go over what I have found if you are.
Hi! Is the format matching the contact field and how you are trying to pass the data? Is this a string? Is the field publicly updateable?
Is the contact field alias correct? If you are writing
Nowhere in the docs under contact tracking does it mention that you can’t refer to the field name, it has to be the field alias. I think that should be underscored in the documentation.
{{URL String - glcid}} returns “empty” when gclid don’t exists in query string and a string value when it does.
gadscid is alias of my custom fields and it is publicly updatable. Also the field has type ‘text’.
So the problem is that this script works a little bit odd. Instead of enrich the anonymous visitor’s contact field it identifies them as recognized ones and put the ‘glicd’ value as a contact’s name.
In example below I used ‘123123’ as a parameter in query string: ?gclid=123123
I made some tests and it looks like maybe I am missing something. The reason of the issue is mechanism that allows to update “Public updatable” fields by query parameters. (docs). So it looks like passing URL’s parameter with the right name and value actually identified contact. From my point of view the contact should stay anonymous until email address is gathered or any form submitted.
However my script reads parameter from URL and it turned out that my custom field “Contact Google Ads Click ID” was set to “public updatable”. But when I switched it off then parameter that is passed inside mt('send', 'pageview', {gadscid: glicd}); is not stored in the field and contact stay anonymous.
I am started to think that everything works as suppose to but it is annoying to me that sending parameters inside mt() identified contact.
Can I ask anyone of you to make a test on your Mautic instance?