Full Answer
UTM values are case-sensitive, free-text strings, and analytics platforms compare them exactly. That single fact is why naming discipline matters more than people expect. To GA4, utm_source=Facebook and utm_source=facebook are two separate sources, and utm_campaign=summer-sale and Summer_Sale are two separate campaigns. The moment your team, your agency, and your email tool each use their own conventions, one campaign's performance is split across several rows and none of them tells the whole story.
The damage compounds in channel reporting. GA4's default channel grouping keys off specific medium tokens, so cpc maps to paid search but a freehand value like paid-fb may not map to any paid channel at all, dropping the session into Unassigned. A campaign can look like it underperformed when it simply got misfiled.
Consistency is the cure, and it's cheap. Agree on a naming convention, lowercase everything, use the reserved medium values GA4 recognises, and keep a shared spreadsheet or a link builder that enforces the pattern. For WooCommerce stores running campaigns across several platforms, the convention is what lets you compare like with like and trust the totals. Storing the normalised source on the order server-side adds a clean, deduplicated record you can report from even when the raw tags were entered inconsistently.