matomo-org / matomo

Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests!
https://matomo.org/
GNU General Public License v3.0
19.88k stars 2.65k forks source link

Refactor handling of campaign parameters #19951

Open sgiehl opened 2 years ago

sgiehl commented 2 years ago

Currently all campaign parameters tracked in core (as well as in MarketingCampaignsReporting plugin) are stored on lower case in the database.

This is actually a manipulation of the provided data we should avoid as there might be reasons why this might cause trouble. For example a click id might contain upper and lower case letters, changing them might make the click id not usable anymore, as it differs from the one stored on the advertising network.

We should remove the code that lowers the data in core as well as in the plugin.

To achieve some sort of backwards compatibility we could introduce config values for each report, to configure if the report should be generated case sensitive or insensitive. For new installs this could be directly set to case sensitive. Old installs would set it to case insensitive using an update script to keep bc.

Alternatively we could also add a visualization option to enable case in-/sensitivity in the UI maybe.

The solution we implement in core also needs to be implemented in MarketingCampaignsReporting plugin.

follow-up to https://github.com/matomo-org/plugin-MarketingCampaignsReporting/pull/65

see also https://github.com/matomo-org/plugin-MarketingCampaignsReporting/issues/27

MatomoForumNotifications commented 1 year ago

This issue has been mentioned on Matomo forums. There might be relevant details there:

https://forum.matomo.org/t/mtm-cid-gclid-converted-to-lower-case/49956/2

9joshua commented 1 year ago

I have another request for this from a customer who sees their Click ID occasionally converted to lowercase. This makes conversion exports unusable as Click IDs are case-sensitive.