Hi Sam,
First, to be clear, campaigns will be overwritten if visitors come from any other source, it's just direct traffic that the campaign parameter holds on to. Here's Google's direct quote from its article on campaigns and traffic sources:
Existing campaign or traffic source data for a particular user will be overwritten by new campaign or traffic source data, regardless of the configured timeout period.
If you look at the flowchart a bit below that quote, you'll see that Google starts by looking for new campaign data, then looks for traffic source data, then, if it doesn't find either of those, uses existing campaign data.
That means your theory could still be correct, but only if all of the visits you're still seeing come in are just from direct visits. You can check this theory by using the % New Sessions column - if it's 0%, you're right, these are just returning visitors, and the best I can recommend is that you set up filters to make these show up as "direct." If it's not, though, (and I'm suspecting it's not, because I doubt this would make a large enough number for you to be concerned and reach out for help), you've still got some of those campaign URLs floating around for the public.
Here's how I'd go looking for them:
- Use a third party tool like Screaming Frog or DeepCrawl to triple check that there are no internal links on your site with those old campaign parameters. CMSs can easily miss things like this, so using an outside tool that just tries to find everything helps.
- Search for the original URLs + parameters in Google to see if any affiliates or coupon sites are using those links.
- Check your old emails - did you ever send out these URLs? It's possible that people are still accessing old emails.
- Was this a campaign that could have been shared in any other way? I know that my company often shares shortened URLs, which redirect to URLs with parameters appended. Have you shared any bit.ly or other aliased URLs that are appending those parameters you've tried to get rid of?
I hope this helps! Let me know if you still have any questions, or if anything stumps you along the way.
Best,
Kristina