Skip to content
weballin

weballin INSIGHTS

How to Create UTM Links for Instagram and Newsletter Traffic

A walkthrough from adding UTM parameters to Instagram profile and newsletter links to testing visits and checking Session source / medium in GA4.

weballin7 min read

If you put the same home page URL in your Instagram profile and newsletter, it may be difficult to tell later which link a visitor clicked. UTM parameters let you attach source information to the end of a link.

Adding UTM parameters does not automatically create a record of a visit. GA4 must collect data correctly on the destination site, and the link's values must reach the page. Here, we will create links that distinguish organic Instagram activity from an email newsletter, then check them in session-based reports.

Start by choosing three names

Rather than filling in many fields at once, start with utm_source for where the visit comes from, utm_medium for the type of traffic, and utm_campaign for the publishing or promotional activity. Add utm_content if you need to distinguish buttons or link placements within the same activity. Google Analytics UTM guide

The following names are for links promoting a hypothetical autumn guide. They are examples you can build yourself, not measured results from an actual campaign.

ParameterInstagram profileButton in the newsletter body
utm_sourceinstagramnewsletter
utm_mediumsocialemail
utm_campaignautumn_guide_2026autumn_guide_2026
utm_contentprofile_linkmain_button

Using the same campaign name groups the activity around one guide, while source and medium separate Instagram from email. To compare two links within the newsletter, keep the other values unchanged and vary only utm_content, using values such as main_button and text_link.

However, grouping Instagram ads under social as well makes paid activity harder to distinguish. Establish a separate medium naming convention for ads. GA4's default channel groups classify traffic using rules involving source, medium, and other information. Do not expect an arbitrary medium name understood only within your organization to fall automatically into the channel you intend. GA4 default channel group rules

Add the parameters to the URL to complete the link

If the destination is https://example.com/guide, you can create the links below. This is an example domain used to demonstrate the format. Visiting it does not run a demonstration you can see in your own GA4 account. For actual use, replace it with a page on your site where you have confirmed that GA4 collects data.

For the Instagram profile:

https://example.com/guide?utm_source=instagram&utm_medium=social&utm_campaign=autumn_guide_2026&utm_content=profile_link

For the button in the newsletter body:

https://example.com/guide?utm_source=newsletter&utm_medium=email&utm_campaign=autumn_guide_2026&utm_content=main_button

Use ? between the address and the first parameter, & between parameters, and = between each name and value. If the URL already has a parameter such as ?lang=ko, do not add a second ?; continue with &utm_source=.... If the URL includes an in-page location such as #section, put the UTM parameters before the #.

If assembling the URL manually is inconvenient, enter the destination and values into Campaign URL Builder, which Google's UTM guide links to. Whichever method you use, you still need to put the completed URL into the actual button you will distribute. A correct link in a document does not help if the newsletter sending tool still contains the old URL; visitors will follow that old address.

I recommend recording each link on its own line after creating it. Keep the publication date, placement, destination, and four UTM values so you can trace unfamiliar names in reports later. A small shared table is better than entering campaign names from memory each time.

Before distributing the link, check that its values reach the site

Do not send a new URL to a large audience immediately. First, test it in the environment where it will appear. For Instagram, click it from the profile or link area you will actually use; for a newsletter, click it in a test email sent to yourself. At this stage, you only need to verify the destination page and the transmission of traffic source values, not make a purchase.

  1. Start testing in a separate browser environment without an ongoing visit to the site. If the site requires consent for analytics collection, follow its normal consent process.
  2. Click the link and confirm that the correct page opens. Check whether login, language changes, short links, or other redirects remove the UTM values.
  3. Record the test time, device and browser, and link used. These are easier to match against a report than “I just tested it.”
  4. Check collection of the visit event and campaign classification separately. Seeing a visit does not by itself confirm that the UTM values were collected as intended.

Do not immediately declare a failure if the UTM parameters are absent from the final URL. Some sites collect the values on the first page and then clean up the address. Conversely, if the GA4 tag does not run, leaving the values in the final URL will not produce analytics data. Follow through with verification in the reports.

Testing several different UTM links in succession during an existing session can make the results difficult to interpret. GA4 does not automatically start a new session when new campaign values appear. Test each link under conditions that begin a new visit, and separately record whether developer or internal traffic filters apply to it. GA4 campaigns and traffic sources

In GA4, start with session-based dimensions

To see which visits your new links brought in, examine dimensions such as “Session source / medium” and “Session campaign” in GA4's Traffic acquisition report. To focus on manually tagged values, use “Session manual source / medium” and related dimensions in the Manual campaigns report. Visible menus can vary with report configuration and permissions, so look for the dimension names and their scope. GA4 Manual campaigns report

For the example links, the first check is to distinguish Instagram traffic as instagram / social from newsletter traffic as newsletter / email. Then narrow the scope to the autumn_guide_2026 campaign. If you distinguished link placements, also inspect a dimension corresponding to utm_content, such as Session manual ad content. How manual tags map to GA4 dimensions

Do not conclude that the latest email was measured incorrectly while looking at “First user source / medium.” That dimension describes the source that first acquired the user. If someone first arrived through search and returned through this email, it is natural for their original acquisition source to differ from this session's source. Keep event-scoped reports used for purchase attribution separate as well. User, session, and event scope in GA4 acquisition data

If a standard report is empty immediately after testing, you do not need to keep clicking the same link. GA4 reports take time to process, and Realtime supports a limited set of dimensions and metrics. First confirm that events are collected, then revisit the processed report for the test period you recorded. GA4 data freshness

What to check when values split into separate rows or do not appear

If the same Instagram source appears separately as Instagram, instagram, and insta, start by fixing the naming convention. UTM values are case-sensitive. If you choose lowercase letters and underscores, maintain that rule across sending tools and team members. Do not expect correcting future links to automatically merge historical rows that have already been collected.

If values are missing, check the original link, redirects, report period, dimension scope, and collection status, in that order. Ad links that use auto-tagging, such as Google Ads links, need separate investigation. Before adding manual UTM parameters alongside auto-tagging to change classification, check what the existing integration already sends.

Do not put email addresses, phone numbers, or customer names in UTM values to distinguish individuals. URLs can remain in browsing history and other records, and GA4 instructs users not to send personally identifiable information through campaign parameters. The link is meant to identify the distribution channel, not the recipient's identity. Google Analytics guidance on avoiding personally identifiable information

Finally, do not copy the external campaign UTM parameters from this article into internal links, such as a home page banner linking to a product page. To compare banner placements, define a separate measurement method, such as an internal click event. The essentials for starting a UTM convention are a few names the team uses consistently and a check after distribution, rather than a large amount of code.

ShareShare on XLinkedIn