اگر چند کانال مختلف (شبکههای اجتماعی، ایمیل، PPC، رپورتاژ، همکاری با اینفلوئنسرها و…) را همزمان اجرا میکنید، بدون استاندارد نامگذاری UTM بهمرور با گزارشهایی روبهرو میشوید که «همه چیز درست ثبت شده»، اما هیچ چیز قابل مقایسه نیست؛ یک جا Instagram نوشتهاید، یک جا insta، یک جا social و جای دیگر paid_social.
هدف این راهنما ساخت یک utm naming convention تیمی و عملی است: تعریف پارامترها، قوانین ثابت برای source/medium/campaign/content/term، یک قالب آماده (Google Sheets) برای تولید UTM، و مجموعهای از مثالهای واقعی برای کانالهای رایج تا در Analytics گزارشگیری دقیق و یکپارچه داشته باشید.
مخاطب این مقاله: تیمهای بازاریابی و رشد (Growth) که میخواهند هم «قابل اجرا» باشد (برای همه اعضا) و هم «قابل گزارشگیری» (برای تحلیل).
فهرست مطالب
- UTM چیست و چرا استاندارد نامگذاری مهم است؟
- پارامترهای UTM: تعریف و نقش هرکدام
- اصول یک utm naming convention قابلاعتماد
- قواعد ثابت تیمی برای source/medium/campaign/content/term
- مثالهای واقعی برای کانالهای مختلف
- قالب آماده Google Sheets: ساخت UTM استاندارد در چند دقیقه
- فرایند کنترل کیفیت و تأیید قبل از انتشار لینک
- خطاهای رایج در UTM و راه جلوگیری
- جدول مقایسه: استاندارد پیشنهادی برای کانالها
- چکلیست اجرایی برای تیم مارکتینگ
- سوالات پرتکرار
UTM چیست و چرا استاندارد نامگذاری مهم است؟
UTM مجموعهای از پارامترهاست که به انتهای URL اضافه میکنید تا منبع ترافیک و جزئیات کمپین در ابزارهای تحلیل (مثل Google Analytics) با دقت ثبت شود. مشکل معمولاً «وجود UTM» نیست؛ مشکل این است که هر نفر در تیم، هر کانال، یا هر آژانس، یک سبک متفاوت مینویسد و در نهایت دادهها در گزارشها پراکنده و غیرقابل جمعبندی میشوند.
یک utm naming convention خوب باعث میشود:
- گزارشهای Source/Medium بهجای چندین نام مشابه، یکدست شوند.
- کمپینها قابل مقایسه و تجمیع باشند (مثلاً عملکرد همه لینکهای یک کمپین در کانالهای مختلف).
- خطاهای انسانی (حروف بزرگ/کوچک، فاصله، نامگذاری سلیقهای) کاهش پیدا کند.
- در تیمهای چندنفره، کیفیت داده ثابت بماند.
اگر قصد دارید تحلیلتان جدی باشد، توصیه میکنم همزمان یک نگاه کلی هم به مقاله تحلیل رفتار کاربران با گوگل آنالیتیکس داشته باشید تا بفهمید این یکدستی، دقیقاً کجا در تصمیمگیری به شما کمک میکند.
پارامترهای UTM: تعریف و نقش هرکدام
پارامترهای استاندارد UTM پنج مورد هستند:
- utm_source: منبع (Source)؛ «از کجا آمده؟» مثل newsletter، instagram، google، partner_x
- utm_medium: مدیوم (Medium)؛ «از چه نوع کانالی؟» مثل email، paid_social، cpc، referral
- utm_campaign: نام کمپین؛ «این ترافیک متعلق به کدام کمپین است؟» مثل winter_sale_1404
- utm_content: تمایز خلاقه/جایگاه/نسخه؛ برای تفکیک چند لینک در یک کمپین (مثلاً دو بنر یا دو CTA)
- utm_term: معمولاً برای کلیدواژهها (Keyword) در تبلیغات جستجو استفاده میشود
نکته: اگر شما برای شبکههای اجتماعی از utm_term استفاده کنید هم «اشتباه» نیست، اما در عمل اغلب باعث آشفتگی میشود؛ بهتر است term را برای سناریوهای مشخص (مثلاً Search Ads) رزرو کنید و بقیه تمایزها را در content یا در ساختار campaign نگه دارید.
اصول یک utm naming convention قابلاعتماد
قبل از اینکه وارد قوانین جزئی شویم، چند اصل طلایی را مشخص کنید؛ این اصول کمک میکنند هر قانونی که مینویسید «پایدار» باشد:
- یکدستی نوشتاری: همه چیز lowercase، بدون فاصله، با جداکننده ثابت.
- کمینهسازی تنوع: بهجای ۱۰ مدل medium، یک لیست کوتاه و قطعی داشته باشید.
- قابل فهم برای تیم: نامها باید برای نفر بعدی هم قابل درک باشند، نه فقط سازنده لینک.
- قابل توسعه: طوری طراحی کنید که اضافه شدن کانال جدید، شما را مجبور به بازنویسی همه چیز نکند.
- قابل گزارشگیری: ساختار باید با نیازهای گزارش (Pivot، فیلتر، گروهبندی) سازگار باشد.
اینجا دقیقاً همان جایی است که یک utm naming convention خوب، «زیبا» نیست؛ «قابل مدیریت» است.
قواعد ثابت تیمی برای source/medium/campaign/content/term
در ادامه یک استاندارد پیشنهادی میدهم که برای اکثر تیمها جواب میدهد؛ شما میتوانید آن را با واقعیت کسبوکارتان سازگار کنید، اما مهم است که بعد از تصویب، تغییرات محدود و کنترلشده باشد.
قاعدههای عمومی (برای همه پارامترها)
- همه مقادیر lowercase
- بدون فاصله؛ جداکننده استاندارد: underscore (_)
- بدون حروف فارسی (برای جلوگیری از ناسازگاری و Encode شدن)
- تا حد ممکن کوتاه اما معنادار
- از علائم خاص مثل &, %, #, ؟ استفاده نکنید
utm_source: «پلتفرم/منبع مشخص»
source باید به سؤال «دقیقاً کجا؟» جواب دهد:
- instagram، telegram، linkedin، twitter/x (بهتر: x)
- newsletter (اگر یک خبرنامه بیشتر ندارید)
- mailerlite / sendgrid (اگر میخواهید منبع را ابزار ارسال ایمیل بگذارید؛ پیشنهاد: منبع را مخاطبمحور نگه دارید نه ابزارمحور)
- google (برای سرچ)، youtube، aparat
- partner_name (برای همکاریها)
تصمیم مهم تیمی: آیا source را «پلتفرم» میگذارید یا «اکانت/پیج»؟ پیشنهاد عملی: پلتفرم را در source نگه دارید و اکانت/پیج را اگر لازم شد در content بیاورید (مثلاً ig_bio vs ig_story_1).
utm_medium: «نوع کانال/روش توزیع»
medium را تا حد ممکن استاندارد و محدود نگه دارید. یک لیست پیشنهادی:
- email (همه ایمیلها)
- paid_social (تبلیغات پولی در شبکههای اجتماعی)
- organic_social (پستهای ارگانیک شبکههای اجتماعی)
- cpc (تبلیغات کلیکی/جستجو)
- display (بنری)
- native (تبلیغات همسان)
- referral (ارجاعی از سایت/همکار)
اگر درباره اجرای کانالها و ترکیب ارگانیک/پولی در شبکههای اجتماعی برنامه دارید، این مقاله میتواند مکمل باشد: بازاریابی شبکههای اجتماعی: تکنیکها و راهکارهای افزایش تعامل.
utm_campaign: «کمپین» را مثل یک شناسه طراحی کنید
campaign باید «محور گزارش» شما باشد؛ یعنی وقتی در Analytics آن را فیلتر میکنید، دقیقاً همان چیزی را ببینید که در برنامهریزی کمپین تعریف کردهاید.
یک الگوی پیشنهادی برای نام کمپین:
- {objective}_{offer}_{date}
مثال:
- leadgen_demo_2026q1
- sale_winter_1404
- brand_awareness_newproduct_2026m02
قاعده تیمی: تاریخ را یا به شکل فصل/ماه (2026q1 یا 2026m02) بگذارید یا اصلاً نگذارید؛ نیمهنیمه نکنید.
utm_content: تفکیک خلاقه، جایگاه، نسخه
content برای وقتی است که میخواهید در یک کمپین، چند لینک را از هم جدا کنید (A/B، جایگاه، فرمت، CTA). یک ساختار ساده:
- {placement}_{creative}_{cta}
مثال:
- story_video_swipe
- post_carousel_learnmore
- header_banner_signup
اگر بهینهسازی صفحه مقصد هم در برنامهتان هست، بهتر است UTMها را با نسخههای لندینگ هماهنگ کنید؛ مقاله روشهای بهینهسازی لندینگ پیج برای نرخ تبدیل بالا میتواند در این هماهنگی کمک کند.
utm_term: فقط وقتی واقعاً «ترم» دارید
ترم را پیشنهاد میکنم فقط در سناریوهای Search Ads استفاده کنید:
- برای کمپینهای جستجو: keyword یا adgroup را در term نگه دارید
- برای سایر کانالها: خالی بماند (بهجای پر کردن با چیزهای متفرقه)
نمونه term:
- utm_term=utm_naming_convention
- utm_term=crm_software
مثالهای واقعی برای کانالهای مختلف
در این بخش چند سناریو رایج را با UTM استاندارد میبینید. نکته مهم: مثالها را با همان قواعدی بسازید که در بخش قبل تصویب کردید؛ داشتن مثالهای آماده، سرعت اجرا را بالا میبرد و خطا را کم میکند.
۱) پست ارگانیک اینستاگرام
هدف: معرفی مقاله یا صفحه محصول از طریق پست ارگانیک.
نمونه:
https://example.com/landing-page?utm_source=instagram&utm_medium=organic_social&utm_campaign=leadgen_demo_2026q1&utm_content=post_carousel_learnmore
۲) استوری تبلیغاتی (Paid Social)
نمونه:
https://example.com/landing-page?utm_source=instagram&utm_medium=paid_social&utm_campaign=sale_winter_1404&utm_content=story_video_swipe
۳) خبرنامه ایمیلی (یک کمپین با دو لینک متفاوت)
نمونه لینک CTA اصلی:
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=leadgen_demo_2026q1&utm_content=body_cta_bookdemo
نمونه لینک فوتر:
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=leadgen_demo_2026q1&utm_content=footer_link_pricing
۴) تبلیغات همسان (Native)
نمونه:
https://example.com/guide?utm_source=adnetwork_a&utm_medium=native&utm_campaign=brand_awareness_newproduct_2026m02&utm_content=widget_1_title
۵) همکاری با پارتنر/رفرال
نمونه:
https://example.com/signup?utm_source=partner_x&utm_medium=referral&utm_campaign=partner_program_2026q1&utm_content=blog_sidebar_banner
۶) جستجو (CPC) با term
نمونه:
https://example.com/utm-guide?utm_source=google&utm_medium=cpc&utm_campaign=content_utm_2026m02&utm_term=utm_naming_convention&utm_content=search_ad_v1
اگر دقت کنید، اینجا term معنیدار است (کلیدواژه) و content برای نسخه آگهی آمده.
قالب آماده Google Sheets: ساخت UTM استاندارد در چند دقیقه
یک قالب ساده در Google Sheets (یا Excel) میتواند ۸۰٪ مشکل را حل کند: همه اعضای تیم از یک فرم استفاده میکنند، خطاها کم میشود و خروجی یک URL آماده است.
ستونهای پیشنهادی قالب
- Base URL (آدرس صفحه مقصد بدون پارامتر)
- utm_source
- utm_medium
- utm_campaign
- utm_content
- utm_term
- Final URL (خروجی نهایی)
- Owner (مسئول لینک)
- Channel (برای نظم داخلی، اختیاری)
- Date created (اختیاری)
فرمول نمونه برای ساخت Final URL
اگر سلولها اینطور باشند: A2=Base URL، B2=source، C2=medium، D2=campaign، E2=content، F2=term، یک فرمول کاربردی (با اضافه کردن فقط مواردی که خالی نیستند) میتواند چیزی شبیه زیر باشد:
=A2&"?utm_source="&B2&"&utm_medium="&C2&"&utm_campaign="&D2&IF(E2<>"","&utm_content="&E2,"")&IF(F2<>"","&utm_term="&F2,"")
نکته: اگر Base URL خودش پارامتر داشت (علامت ? داشت)، باید بهجای ? از & استفاده کنید؛ برای همین بهتر است تیم یک قاعده داشته باشد: «Base URL باید بدون پارامتر باشد» مگر با هماهنگی.
اعتبارسنجی (Data validation) برای جلوگیری از تنوع
بهترین بخش قالب این است که برای utm_medium و حتی utm_source یک لیست کشویی بگذارید تا افراد مجبور شوند از گزینههای استاندارد انتخاب کنند. این کار، اجرای utm naming convention را به یک فرآیند تبدیل میکند نه یک توصیه.
فرایند کنترل کیفیت و تأیید قبل از انتشار لینک
حتی با قالب هم، اگر یک مرحله QA نداشته باشید، اشتباهها وارد کمپین میشوند. یک فرایند سبک اما مؤثر:
- سازنده لینک UTM را در شیت میسازد و Owner را پر میکند.
- بازبین (یک نفر ثابت در تیم) ۵ مورد را چک میکند: lowercase بودن، درست بودن medium، درست بودن نام کمپین، خالی بودن term در کانالهای غیرجستجو، و نبودن فاصله/کاراکتر نامعتبر.
- قبل از انتشار، روی لینک کلیک میشود و صفحه مقصد و ریدایرکتها بررسی میشوند (UTM نباید حذف شود).
این فرایند ساده، جلوی «داده خراب» را میگیرد؛ داده خراب معمولاً بعداً قابل تعمیر نیست.
خطاهای رایج در UTM و راه جلوگیری
- استفاده از حروف بزرگ و کوچک بهصورت ترکیبی: analytics معمولاً اینها را جدا حساب میکند (Instagram ≠ instagram)؛ راهحل: اجبار به lowercase.
- استفاده از چند medium برای یک مفهوم: social، social_media، paid-social؛ راهحل: لیست medium محدود و قفلشده.
- بیشازحد جزئی کردن campaign: اگر هر لینک یک campaign متفاوت باشد، گزارش کمپین عملاً بیمعنی میشود؛ راهحل: campaign را سطح «کمپین» نگه دارید و جزئیات را در content بیاورید.
- پر کردن term برای هر چیزی: term را تبدیل به انبار اطلاعات نکنید؛ راهحل: term فقط برای کلیدواژه/گروه آگهی در سرچ.
- استفاده از فارسی یا کاراکترهای خاص: باعث Encode و دشواری گزارشگیری میشود؛ راهحل: فقط حروف/اعداد لاتین و underscore.
- UTM روی لینکهای داخلی سایت: باعث خراب شدن Attribution میشود؛ راهحل: UTM فقط برای ورودیهای بیرونی.
- حذف شدن UTM در ریدایرکت: مخصوصاً در کوتاهکنندهها یا ریدایرکتهای اشتباه؛ راهحل: تست کلیک و بررسی URL نهایی.
اگر تیم شما چند کانال دارد، این اشتباهها بهسرعت تکثیر میشوند؛ دقیقاً به همین دلیل است که یک utm naming convention باید هم قانون داشته باشد هم ابزار (قالب) و هم QA.
جدول مقایسه: استاندارد پیشنهادی برای کانالها
| کانال | utm_source (نمونه) | utm_medium (پیشنهادی) | utm_content (چه چیزی را تفکیک کند) | utm_term |
|---|---|---|---|---|
| اینستاگرام ارگانیک | organic_social | placement + creative + cta | خالی | |
| اینستاگرام تبلیغاتی | paid_social | ad_format + version | خالی | |
| ایمیل | newsletter | section + link_type | خالی | |
| تبلیغات همسان | adnetwork_a | native | widget_position + title_variant | خالی |
| جستجو (گوگل) | cpc | ad_variant | keyword / adgroup | |
| رفرال پارتنر | partner_x | referral | placement | خالی |
چکلیست اجرایی برای تیم مارکتینگ
این چکلیست را میتوانید در ویکی تیم/Notion قرار دهید و کنار قالب UTM نگه دارید:
- آیا همه پارامترها lowercase و بدون فاصله هستند؟
- آیا utm_medium از لیست استاندارد انتخاب شده است؟
- آیا utm_source دقیق و یکتا است (نه خیلی کلی، نه خیلی جزئی)؟
- آیا utm_campaign مطابق الگوی تیمی نامگذاری شده و با نام کمپین در تقویم/بریفیف یکی است؟
- آیا utm_content فقط برای تمایز نسخهها استفاده شده و بیش از حد طولانی نیست؟
- آیا utm_term فقط در سناریوی جستجو پر شده است؟
- آیا Base URL پارامتر اضافی ندارد و درست باز میشود؟
- آیا ریدایرکتها UTM را حذف نمیکنند؟
- آیا لینک نهایی در شیت ذخیره شده و Owner مشخص است؟
سوالات پرتکرار
۱) بهترین جداکننده برای نامها چیست؛ خط تیره یا آندرلاین؟
هر دو قابل استفادهاند، اما مهم «ثبات» است. برای مقادیر داخل پارامترها (مثل campaign/content) آندرلاین (_) معمولاً خواناتر است و با گزارشگیری هم سازگار میماند.
۲) آیا استفاده از فارسی در UTM مشکل ایجاد میکند؟
اغلب بله؛ چون URL Encode میشود و در گزارشها ممکن است ناخوانا یا ناسازگار شود. پیشنهاد عملی: همیشه لاتین و lowercase.
۳) برای شبکههای اجتماعی source را نام پلتفرم بگذارم یا نام پیج؟
برای اکثر تیمها بهتر است source = نام پلتفرم (instagram) باشد و تفاوت پیج/اکانت را در content بیاورید، مگر اینکه چندین برند/اکانت با گزارشگیری کاملاً جدا دارید.
۴) اگر چند آژانس برای ما لینک میسازند، چطور استاندارد را enforce کنیم؟
قالب Google Sheets را بهعنوان «تنها مسیر تولید لینک» معرفی کنید، utm_medium را کشویی کنید، و یک مرحله QA داخلی داشته باشید. این ترکیب، اجرای utm naming convention را عملی میکند.
۵) آیا لازم است همیشه utm_content را پر کنم؟
نه. اگر فقط یک لینک دارید و نیازی به تفکیک نسخهها نیست، خالی گذاشتن content بهتر از ساختن مقادیر بیمعنی است.
۶) چه زمانی campaign را تغییر بدهم؟
وقتی «کمپین» واقعاً عوض شده: هدف/پیشنهاد/فصل/فاز متفاوت. تغییر صرفاً برای هر پست یا هر خلاقه، بهتر است در content منعکس شود.
۷) آیا کوتاهکننده لینک باعث از بین رفتن UTM میشود؟
اگر کوتاهکننده درست عمل کند، UTM حفظ میشود؛ اما برخی ریدایرکتها یا تنظیمات اشتباه میتوانند پارامترها را حذف کنند. همیشه لینک کوتاهشده را تست کنید و URL نهایی را بررسی کنید.
۸) چطور بفهمم استاندارد ما جواب داده است؟
به گزارشهای Source/Medium و Campaign نگاه کنید: آیا تعداد مقادیر تکراریِ مشابه (مثل instagram/Instagram/insta) کم شده؟ آیا میتوانید با یک فیلتر campaign، همه ورودیهای مرتبط را یکجا ببینید؟ اگر بله، استاندارد شما کار میکند.
جمعبندی: UTM یک ابزار ردیابی ساده است، اما دادههای آن با استانداردسازی «ارزشمند» میشود. با تعریف قوانین، محدود کردن گزینهها، استفاده از قالب، و QA سبک، یک utm naming convention میسازید که هم تیم آن را اجرا میکند و هم گزارشهای Analytics شما قابل اتکا میماند.

