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.