PageSourceSearch

https://virev.ai/_blog/immutable/chunks/DoErhc9c.js

js virev.ai collected 2026-10-05 15:59:19 UTC 15,264 bytes, 1 lines download raw bytes

1import{D as e,J as t,M as n,X as r,a as i,at as a,b as o,k as s,o as c,ot as l,q as u}from"./Cd_LoYDd.js";import"./xihTtKlq.js";import{n as d,r as f,t as p}from"./DVlN4bh3.js";var m={title:`Build UTM names that survive a multi-creator campaign`,description:`Keep creator links consistent with a UTM naming sheet, stable IDs, six example URLs, and checks that keep personal details out of campaign parameters.`,date:`2026-09-27`,author:`Virev editorial`,tags:[`Campaign measurement`,`UTM naming`,`Creator campaigns`,`Google Analytics`],draft:!1,canary:!1,sample:!1,featured:!1,kind:`reference`,section:`virev`,collections:[`campaign-measurement`],cover:`/_blog/covers/build-utm-names-that-survive-a-multi-creator-campaign/cover.webp`,coverAlt:`Six segmented link ribbons connect three creator markers to one campaign ring, with distinct shapes marking each placement.`,sources:[{title:`URL builders: Collect campaign data with custom URLs`,url:`https://support.google.com/analytics/answer/10917952?hl=en`,publisher:`Google Analytics Help`,accessed:`2026-09-27`},{title:`Best practices to avoid sending Personally Identifiable Information (PII)`,url:`https://support.google.com/analytics/answer/6366371?hl=en`,publisher:`Google Analytics Help`,accessed:`2026-09-27`},{title:`How to Track Affiliate Sales: 5 Methods, Their Limitations, and What Actually Works`,url:`https://www.modash.io/blog/how-to-track-affiliate-sales`,publisher:`Modash`,accessed:`2026-09-27`}],headings:[{depth:2,id:`give-each-field-one-job`,text:`Give each field one job`},{depth:2,id:`create-the-naming-sheet-before-generating-links`,text:`Create the naming sheet before generating links`},{depth:2,id:`six-valid-example-links`,text:`Six valid example links`},{depth:2,id:`keep-identity-and-history-outside-the-url`,text:`Keep identity and history outside the URL`},{depth:2,id:`check-what-the-link-can-identify`,text:`Check what the link can identify`}],stats:{words:1013,chars:5584}},{title:h,description:g,date:_,author:v,tags:y,draft:b,canary:x,sample:S,featured:C,kind:w,section:T,collections:E,cover:D,coverAlt:O,sources:k,headings:A,stats:j}=m,M=new Set([`$$slots`,`$$events`,`$$legacy`]),N=s(`<p>Use one campaign ID for the campaign, one stable reference for each creator, and one content value for each link placement. Keep the platform in <code>utm_source</code>, the agreed channel label in <code>utm_medium</code>, and creator-plus-content details in <code>utm_content</code>. Store the mapping in a naming sheet. Keep names, email addresses, phone numbers, and customer details out of the URL.</p> <p>This influencer UTM naming convention uses Google Analytics terminology. The IDs and naming pattern below are editorial recommendations, not a platform-mandated format.</p> <h2 id="give-each-field-one-job">Give each field one job</h2> <p>Google's <!> defines source, medium, campaign, campaign ID, and content as separate fields. It uses content to distinguish creatives and recommends consistent naming across campaigns.</p> <p>Use that separation to avoid putting everything into the campaign name. If every creator gets a different <code>utm_campaign</code>, someone must regroup those rows before answering how the overall campaign performed.</p> <div class="table-scroll" tabindex="0"><table><thead><tr><th>Field</th><th>Job in this convention</th><th>Hypothetical value</th><th>Rule</th></tr></thead><tbody><tr><td><code>utm_id</code></td><td>Stable campaign ID</td><td><code>cmp042</code></td><td>Never reuse for another campaign</td></tr><tr><td><code>utm_campaign</code></td><td>Readable campaign label</td><td><code>autumn-kit-2026</code></td><td>Freeze the spelling when links are issued</td></tr><tr><td><code>utm_source</code></td><td>Platform carrying the link</td><td><code>instagram</code></td><td>Use one approved spelling per platform</td></tr><tr><td><code>utm_medium</code></td><td>Agreed marketing channel</td><td><code>
1creator</code></td><td>Use the same value throughout this creator program</td></tr><tr><td><code>utm_content</code></td><td>Creator reference, asset, placement, version</td><td><code>c014-a01-story-v1</code></td><td>Give each separately measured placement its own value</td></tr></tbody></table></div> <p>Here, <code>creator</code> is a custom medium chosen for this example. Agree it with your analytics owner before use. This guide does not promise that a custom medium will fall into a particular default channel group. If your reporting already has an approved medium, retain it consistently.</p> <p>Leave <code>utm_term</code> out unless you have a keyword use case. Google defines it as the paid-keyword field. Filling an unused field with another creator label creates two places to maintain the same information.</p> <h2 id="create-the-naming-sheet-before-generating-links">Create the naming sheet before generating links</h2> <p>Make one row per issued link. A creator who uses a Story link and a profile link gets two rows. The following is a hypothetical naming sheet for three creators and six placements.</p> <p>All rows share campaign ID <code>cmp042</code>, campaign name <code>autumn-kit-2026</code>, medium <code>
1creator</code>, and destination <code>https://example.com/kit</code>.</p> <div class="table-scroll" tabindex="0"><table><thead><tr><th>Link ID</th><th>Creator reference</th><th>Source</th><th>Asset</th><th>Placement</th><th>Version</th><th><code>utm_content</code></th></tr></thead><tbody><tr><td><code>l001</code></td><td><code>c014</code></td><td><code>instagram</code></td><td><code>a01</code></td><td><code>story</code></td><td><code>v1</code></td><td><code>c014-a01-story-v1</code></td></tr><tr><td><code>l002</code></td><td><code>c014</code></td><td><code>instagram</code></td><td><code>a02</code></td><td><code>bio</code></td><td><code>v1</code></td><td><code>c014-a02-bio-v1</code></td></tr><tr><td><code>l003</code></td><td><code>c027</code></td><td><code>youtube</code></td><td><code>a01</code></td><td><code>description</code></td><td><code>v1</code></td><td><code>c027-a01-description-v1</code></td></tr><tr><td><code>l004</code></td><td><code>c027</code></td><td><code>youtube</code></td><td><code>a01</code></td><td><code>pinned-comment</code></td><td><code>v1</code></td><td><code>c027-a01-pinned-comment-v1</code></td></tr><tr><td><code>l005</code></td><td><code>c031</code></td><td><code>tiktok</code></td><td><code>a01</code></td><td><code>bio</code></td><td><code>v1</code></td><td><code>c031-a01-bio-v1</code></td></tr><tr><td><code>l006</code></td><td><code>c031</code></td><td><code>tiktok</code></td><td><code>a01</code></td><td><code>bio</code></td><td><code>v2</code></td><td><code>c031-a01-bio-v2</code></td></tr></tbody></table></div> <p>The final row represents a revised call to action assigned a new link. It is a naming example, not evidence of a performance difference.</p> <p>Add operational columns for the generated URL, issue date, owner, test status, and retirement date. Keep the creator's display name and contact information in a separate restricted roster keyed to the creator reference. Give creators only the links and instructions they need.</p> <p>Choose lowercase letters, digits, and hyphens for these values. Google documents that capitalization changes create distinct parameter values. Lowercase is a team convention that prevents <code>Instagram</code> and <code>instagram</code> from becoming separate labels.</p> <!><h2 id="six-valid-example-links">Six valid example links</h2> <p>These hypothetical URLs use the reserved example domain. They demonstrate syntax and naming; they do not lead to a live campaign or prove that analytics is installed.</p> <ol><li>Creator c014, Instagram Story</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=instagram&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c014-a01-story-v1</span></span></code></pre></figure> <ol start="2"><li>Creator c014, Instagram profile</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=instagram&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c014-a02-bio-v1</span></span></code></pre></figure> <ol start="3"><li>Creator c027, YouTube description</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=youtube&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c027-a01-description-v1</span></span></code></pre></figure> <ol start="4"><li>Creator c027, YouTube pinned comment</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=youtube&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c027-a01-pinned-comment-v1</span></span></code></pre></figure> <ol start="5"><li>Creator c031, TikTok profile</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=tiktok&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c031-a01-bio-v1</span></span></code></pre></figure> <ol start="6"><li>Creator c031, revised TikTok profile link</li></ol> <figure class="code-block" data-lang="text"><figcaption class="code-lang">Text</figcaption><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>https://example.com/kit?utm_id=cmp042&#x26;utm_source=tiktok&#x26;utm_medium=creator&#x26;utm_campaign=autumn-kit-2026&#x26;utm_content=c031-a01-bio-v2</span></span></code></pre></figure> <p>Use these placement labels only where the creator can publish a working clickable link. The labels do not grant account features or establish eligibility for a platform's linking tools.</p> <p>For a real destination, use a URL builder that preserves its existing query parameters. Google's documentation shows the standard structure: a question mark starts the query, equals signs assign values, and ampersands separate pairs. Avoid appending a second question mark or a second copy of an existing UTM parameter.</p> <h2 id="keep-identity-and-history-outside-the-url">Keep identity and history outside the URL</h2> <p><!> says that URL paths and parameters sent to Analytics must be free of information Google recognizes as personally identifiable. It specifically includes campaign parameters in that warning.</p> <p>Do not derive creator references from an email address, telephone number, legal name, or customer identifier. Assign an opaque reference such as <code>c014</code>. Keep readable descriptions focused on the campaign and placement.</p> <p>An opaque reference is not a guarantee of anonymity or legal compliance. Your private roster still connects it to a person. Review that roster and its access separately under your organization's privacy requirements. Google's product policy does not settle every jurisdiction's rules.</p> <p>Freeze issued labels even if a creator changes their handle. Update the restricted roster instead. If the team renames the campaign internally, keep the old URL label and record the new display name in the sheet.</p> <p>For a material creative or placement change, issue a new content value and preserve the old row. For a typo found before distribution, correct the row before sending it. For a typo found after distribution, record both values and the date of the correction so the report owner can group them deliberately.</p> <h2 id="check-what-the-link-can-identify">Check what the link can identify</h2> <p>A shared profile link identifies that link placement. If several videos direct viewers to it, the URL alone cannot distinguish which video prompted the visit. Call the asset a shared profile placement, or issue separate links where the publishing setup allows them.</p> <p>Likewise, these labels do not define who earns a commission. <!> discusses cases where link records and discount-code use differ. Keep the payout decision in a separate process. Read <!> before using analytics labels in a payment report.</p> <p>Before handing out the links:</p> <ul><li>Confirm each creator reference maps to one roster entry.</li> <li>Check that every content value maps to one intended placement and version.</li> <li>Open the actual issued link, including any short-link redirect, and confirm the destination retains the expected parameters.</li> <li>Check the full destination URL for personal information, including existing parameters outside the UTMs.</li> <li>Ask the analytics owner to confirm that a test visit produces the intended source, medium, and campaign labels.</li> <li>Preserve the tested URL in the sheet so creators do not rebuild it by hand.</li></ul> <p>Google lists session source, medium, and campaign in the Traffic acquisition report. A correct-looking URL alone does not prove that collection worked. If the test visit does not appear as expected, use the <!> before changing the naming convention.</p> <p>Start with one creator's two placements. Generate both links from the sheet, test them, and freeze the field vocabulary before issuing the rest.</p>`,1);function P(s,h){let g=i(h,M);p(s,c(()=>g,()=>m,{children:(i,s)=>{var c=N(),p=r(t(c),6),m=r(u(p));o(m,()=>f,(t,r)=>{r(t,{href:`https://support.google.com/analytics/answer/10917952?hl=en`,children:(t,r)=>{a();var i=n(`campaign URL documentation`);e(t,i)},$$slots:{default:!0}})}),a(),l(p);var h=r(p,24);o(h,()=>d,(e,t)=>{t(e,{position:`1`})});var g=r(h,35),_=u(g);o(_,()=>f,(t,r)=>{r(t,{href:`https://support.google.com/analytics/answer/6366371?hl=en`,children:(t,r)=>{a();var i=n(`Google's personal-information guidance`);e(t,i)},$$slots:{default:!0}})}),a(),l(g);var v=r(g,14),y=r(u(v));o(y,()=>f,(t,r)=>{r(t,{href:`https://www.modash.io/blog/how-to-track-affiliate-sales`,children:(t,r)=>{a();var i=n(`Modash's affiliate tracking article`);e(t,i)},$$slots:{default:!0}})});var b=r(y,2);o(b,()=>f,(t,r)=>{r(t,{href:`/blog/use-affiliate-links-and-utms-for-different-jobs`,children:(t,r)=>{a();var i=n(`how affiliate links and UTMs serve different jobs`);e(t,i)},$$slots:{default:!0}})}),a(),l(v);var x=r(v,6),S=r(u(x));o(S,()=>f,(t,r)=>{r(t,{href:`/blog/debug-missing-creator-traffic-in-analytics`,children:(t,r)=>{a();var i=n(`missing creator traffic diagnosis`);e(t,i)},$$slots:{default:!0}})}),a(),l(x),a(2),e(i,c)},$$slots:{default:!0}}
1))}export{P as default,m as metadata};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.