Constant Contact's UTM settings have two columns, Campaign and Automation, and neither is split by channel. The campaign medium goes on links in email campaigns and in SMS campaigns alike, and the automation medium covers both kinds of message inside an automation path. That's the job of the dynamic default, [[campaign_type]] (or [[automation_type]]): it fills in per message when it sends. Replace it with a fixed word and every message gets that word. Type email and your texts go out labelled email too, so GA4 counts them in its Email channel instead of SMS.
Two of the defaults land in Unassigned. Besides the dynamic values, the medium's default options include the literal words campaign and automation. Neither word matches a GA4 channel rule: not Email or SMS, not the paid pattern, and none of the social, video, display or push mediums. The source defaults, constant_contact and ctct, aren't on Google's lists either, so no rule catches the click and GA4 reports it as Unassigned. Constant Contact's help doesn't say what [[campaign_type]] turns into. Before a real send, open the Generated URL preview and check the medium reads email or sms.
utm_id stays put when a name changes. The utm_id defaults are [[campaign_id]] and [[campaign_activity_id]], or [[automation_id]] and [[step_id]] in automations. Constant Contact points out that renaming a campaign doesn't change this value, which makes it the steadier key when a name gets edited halfway through a promotion. In Google's help, utm_id is the campaign ID and should match the IDs in any campaign data you upload. More on that in the utm_id decoder.
Your tags sit after Constant Contact's. The UTM parameters go at the very end of each URL, after the link tracking code Constant Contact adds for its own click reports. The link decoder shows both sets side by side if you paste in a link from a test send. Resends to non-openers, subject line A/B tests, SMS campaigns and Automation Path Builder messages all get tags. The campaign's permanent URL, the web version you can share, doesn't.
Check which Constant Contact you're on. Lead Gen & CRM, the product that used to be SharpSpring, has its own UTM system. It adds parameters to every email link by default with utm_source=sharpspring, and the settings above don't apply to it. If sharpspring turns up as a source in GA4, those clicks came from that product. The email UTM builder sets out a naming scheme for your other email sources.