STATIC CODES:
For the most part, it doesn't really matter which (reputable) company generates the QR code as long as the tracking is turned off. The string embedded in a code is static, regardless of which algorithm was used to create it.
After generating your code, use a decoder to verify where it points to, like this one:
https://qrcodedynamic.com/qr-reader The decoded URL should be exactly the same as your original input. (remember, this is a decoder, not a scanner, so the results are unaffected by redirects). If it's not the same as what you entered, use a different QR code generator.
DYNAMIC CODES:
If a company needs tracking but doesn't want to use 3rd party QR code generators / trackers, it's certainly possible to set up a self-hosted option on the owner's domain,
for FREE.
- Generate a URL and add the relevant UTM codes. Google Analytics will handle the campaign tracking: Here's a quick tutorial:
https://www.analyticsmania.com/post/track-qr-codes-with-google-analytics-4/
- Use a
self-hosted URL shortener to shrink the URL, e.g.:
https://shlink.io/ (always shorten your URLs -- the shorter they are, the less info that needs to be embedded in the code -- which means larger "pixels" -- making the scans much faster / more customer-friendly)
- Generate the QR code using any software you like, or use a
self-hosted web option if you want
(plenty of code generating libraries available on Github. Wordpress plugins can do this too. Illustrator, Corel, whatever... the options are endless.)
- Verify the code with a decoder, like the one mentioned above, and also scan with your phone to make sure everything works as expected.
^ Obviously those extra steps aren't for everyone... I'm simply pointing out that
it's possible to track your campaigns without handing the reigns over to an
unknown 3rd party (or perhaps you'll need a few hours of dev work to set it all up, if you're not familiar with hosting web apps)