6

We've accomplished this by modifying the core function getTokenData() to track non-tokenised part of the URL string. For eg. with the url posted in the question - https://site-name/info?cid1=<contact_id_token>&cs=<contact_checksum> Grab the main URL before the ? (https://site-name/info) and get the trackable url of this string from ...


4

Yes the checksum lifespan is configurable at this path civicrm/admin/setting/misc?reset=1 which you get to via Admin > System Settings > Misc Changing the duration will only affect future checksums. It will not affect ones that have already been set out.


3

I've experienced something similar on a few sites and it turns out the file/directory permissions are not set right. I'm not sure what causes it, but I have found that I need to recursively reset permissions after updating CiviCRM, or the tracking doesn't work, click through links don't work, you can't upload images from CiviMail, etc. From just outside the ...


2

This was reproduced back in 2010: https://issues.civicrm.org/jira/browse/CRM-7192 In short, this is a bug in CiviCRM that someone could fix, but it's very rarely triggered, and those who are affected haven't decided it was worth investing in the fix.


2

this seems to point at a broader drupal problem. is there something you've changed recently on the server? eg. updating php? does the rest of your drupal site work ok?


2

Seems plausible, especially if you consider scenarios like two influential users who might have forwarded the email to a group of friends, but also through normal use (eg repeatedly clicking from an email while thinking about donating) or something else. You could review logfiles to see whether the times and remote hosts of the clicks recorded suggest an ...


2

This is a known bug in CiviCRM 4.7.1, and it's been fixed in 4.7.2 - which hasn't been released as of this writing. However, if you're comfortable applying the patch, the fix has been released. See https://issues.civicrm.org/jira/browse/CRM-17953 for details.


2

It's possible to add tokens to a url - I was concerned that the token wouldn't get replaced before CiviCRM sets up the redirect url for tracking links. I've tested this and the token is replaced first, so it's possible to use tokens in a correctly formatted GA campaign url (using https://support.google.com/analytics/answer/1033867?hl=en ) that's still ...


1

I'm not sure this is quite the same problem as I had, but it may be worth looking at. I'm in WordPress 4.9, CiviCRM 4.7.22. I was getting Error 500 for all the tracked links and I resolved this by changing [civicrm.root]/extern/url.php to 644 permission and the containing directory to 755. I've had a lot of similar problems (e.g. with getting images into ...


1

What we have done is to add 3 custom fields to the contribution (utm_source, utm_media and utm_campaign) that store the tracking codes, the same way google analytics work. To make it more automatic, we have an extension that does automatically adds these codes to all the links sent from civimail, so we have end to end tracking. We haven't yet published ...


1

@Andrei - thanks a lot for pointing me to the solution! Based on your answer, I wrote this function that did the trick for me for finding and converting links in arbitrary $html: function trackUrls($html, $contactId, $jobId){ // Find all URLs preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $html, $matches); /...


1

and the answer is... dont use tokens to set your paths... "A workaround is to change the root civicrm token to an absolute path (Credit due to Eli Lisseck for research and workaround solution)" thanks greatly to Civimail open tracking is not working for some mailings - inserts var/www/html into path for some mailings but not others


1

That looks like a tracking image (it's 1x1 px and probably transparent), so you probably don't see it or get an error message. Once after an upgrade, I somehow ended up with a space before the opening php tag in https://yoursite.org/sites/all/modules/civicrm/extern/url.php which broke tracking (can't have output before the header('Location: ' . $url);)


Only top voted, non community-wiki answers of a minimum length are eligible