Segment not updating on user page visit

My Mautic version is: 2.16.2
My PHP version is: 7.0.33 (host maintained)
My problem is: Using a double opt-in email campaign is providing inconsistent results.

Users visit landing page to “verify email,” and in some cases the campaign doesn’t update correctly. Looking at the contact can show various results including:

  • Email read - no page landing recorded (even though they’ve been taken through to the page)
  • Page hit shows link icon, with no update to campaign, and has following output under link info:

Time on page: Unknown
Referrer: Unknown
Page URL: www..com//
Device Name:
Device OS: Windows
Source: verification
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0

  • May only show as page hit, with no update to campaign
  • May or may not show a bunch of fonts being hit (not particularly related, but an oddity I’ve seen)
  • May work as intended

These errors are showing in the log:

[2020-05-28 13:30:10] mautic.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\TableNotFoundException: "An exception occurred while executing 'SELECT c.id, c.name, ROUND(IFNULL(COUNT(DISTINCT t.lead_id)/COUNT(DISTINCT cl.lead_id)*100, 0),1) segmentCampaignShare FROM mauqv_campaigns c LEFT JOIN mauqv_campaign_leads cl ON cl.campaign_id = c.id AND cl.manually_removed = 0 LEFT JOIN (SELECT lll.lead_id AS ll, lll.lead_id FROM lead_lists_leads lll WHERE lll.leadlist_id = 13 AND lll.manually_removed = 0) t ON t.lead_id = cl.lead_id WHERE c.id IN (1) GROUP BY c.id':  Table '<user>_maut347.lead_lists_leads' doesn't exist" at /home/<user>/public_html/reviews/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 53 {"exception":"[object] (Doctrine\\DBAL\\Exception\\TableNotFoundException(code: 0): An exception occurred while executing 'SELECT c.id, c.name, ROUND(IFNULL(COUNT(DISTINCT t.lead_id)/COUNT(DISTINCT cl.lead_id)*100, 0),1) segmentCampaignShare FROM mauqv_campaigns c LEFT JOIN mauqv_campaign_leads cl ON cl.campaign_id = c.id AND cl.manually_removed = 0 LEFT JOIN (SELECT lll.lead_id AS ll, lll.lead_id FROM lead_lists_leads lll WHERE lll.leadlist_id = 13 AND lll.manually_removed = 0) t ON t.lead_id = cl.lead_id WHERE c.id IN (1) GROUP BY c.id':\n\nTable '<user>_maut347.lead_lists_leads' doesn't exist at /home/<user>/public_html/reviews/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:53, Doctrine\\DBAL\\Driver\\Mysqli\\MysqliException(code: 0): Table '<user>_maut347.lead_lists_leads' doesn't exist at /home/<user>/public_html/reviews/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php:101)"} []
[2020-05-28 04:16:03] mautic.ERROR: [MAIL ERROR] Sending failed for one or more recipients [] []

Steps I have tried to fix the problem:
I don’t believe the DB and email errors are still issues, as they were old when this issue crept up.

Problem first started with my testing account (thankfully we aren’t even in alpha yet). I’ve been using the Sunday theme and noted that the button in the email template wouldn’t allow me to make changes to it, and a request for a rework of how the form is displayed in the Fresh-left theme was requested. I downloaded both, merged them locally as my own theme, and made the needed changes. Specifically:

  • Fresh-left theme underwent a CSS change to widen the form column.
  • Sunday theme the button was updated to point to the confirmation page.

This worked fine for a few hours, and then the Sunday button stopped allowing me to verify my email during testing. So, I attempted to update on the fly (logged into server, changed the template and saved the changes) accessed the email to verify the update took place, it didn’t so I just created a new section, moved my text up, deleted the old section, and added a new button from within Mautic to the email. This fixed me, and another user that were having the issue. The change however caused a third user to start experiencing the verification difficulty (visits to the confirmation page not recorded, or recorded but not acted upon). I re-verified that it works for me, and for our third user. Had the user currently experiencing problems nuke his contacts, as well as his emails, and retry again. Meanwhile I tried from two different emails that I have in addition to my testing email:

             Gmail 1     Gmail 2     Protonmail
My results:  Success     Success     Fail
             Thunderbird
User result: Pending conversation with user but likely fail

I’d guess on these results that it’s an email provider issue, but that doesn’t explain why two of us were getting failures on Gmail accounts before I resolved the button issue, or why the button issue crept up out of the blue.

Edit to add: We (both the user currently experiencing difficult, and me) have on occasion had the form submission inject and extra /form/ entry in the push to our thank you page. It wasn’t consistent and I believe it’s because I didn’t add an absolute path into the URL field on the form. I placed this in there last night and all seems well, but it’s just another issue I’ve seen creep up for reference.

After some experimentation, and a few glitches probably of my own making), I seem to have resolved the issue.

I’d been using soft links to all of my pages, and the Mautic was passing people to the correct location, but would randomly choose someone to just not work with. Setting hard links on all the things seems to have resolved my issue. I’ll update again if this pops up again. Is this a known issue with Mautic?

Bumping this again, as after testing over the last week from some partners, we’re not getting consistent processing on contacts. Some go through fine, some don’t. There doesn’t seem to be a consistent pattern to who gets verified, has anyone else run into this?

You need to use the contact tag instead of relying alone of mautic visit page which fails at times
Use the tutor on this page it really has helped me and others and sure it will help more too as it is the best solution so far

[Double Optin Fix]