GA4's Affiliates rule has no source condition. A medium of exactly affiliate is the whole definition. What the rule can't do is go first. GA4 files a visit under the first channel whose rule matches, and Affiliates sits near the bottom of its table, after Organic Shopping, Organic Social, Organic Video, Organic Search and Referral. A partner who posts on Instagram and tags the link utm_source=instagram&utm_medium=affiliate matches Organic Social because of the source, and the click never reaches Affiliates. youtube does the same with Organic Video, and google with Organic Search.
Use the partner as the source. Google's own example of a link placed on someone else's site uses the site as the source: utm_source=exampleblog. Do the same with affiliates. One value per partner, such as utm_source=sarahs-kitchen, keeps the source off Google's lists and gives your source report one row per affiliate. If you also want the platform each partner posted on, put it in utm_content, where it can't change the channel.
Affiliate or referral is a business decision. GA4 can't tell whether you pay commission on a link; the medium is how you tell it. Google's own referral example, utm_source=exampleblog&utm_medium=referral&utm_campaign=summer-sale, lands in Referral. Change only the medium to affiliate and the same link lands in Affiliates. Decide per partner: commission-paid gets affiliate, a mention or unpaid partnership gets referral.
Exactly affiliate, one spelling. The rule is an exact match, so utm_medium=affiliates with an s matches nothing and reports as Unassigned. Case is different: GA4's channel rules ignore it, so Affiliate still reaches Affiliates, but its reports don't, and Affiliate and affiliate show up as two medium rows. Keep shop out of the campaign name as well. GA4's Organic Shopping rule matches campaign names where shop starts a word, and it runs before Affiliates; the Shopify UTM builder has the details.
These tags are for the brand's analytics. The UTMs decide how the click appears in the GA4 property of the site it lands on. If a network sits between the partner and your site, the URL may also carry the network's own click ID; the link decoder names common ones such as irclickid, cjevent and awc. If you're the affiliate rather than the brand, how to track affiliate links covers your side: sub IDs and wrapper links.