Guides افزونه Statnive · Parhum Khoshbakht

کمپین‌تان واقعاً جواب داد؟ تنظیم UTM که به آشفتگی انتساب پایان می‌دهد

ترافیک کمپین UTM را بدون آشفتگی GA4 اندازه بگیرید. پنج قانون نظم UTM، حذف click-ID در iOS 17، و کارت «Ask me!» در Statnive که با یک کلیک به «کمپینم ترافیک آورد؟» پاسخ می‌دهد.

تب کمپین‌های «Ask me!» در Statnive — تفکیک کامل کمپین UTM با نمایش پرسش q57 «کمپینم ترافیک آورد؟» و کارت‌های پرسش به‌تفکیک منبع / واسط / کمپین

UTMها به پرسش «کمپینم جواب داد؟» پاسخ می‌دهند — Statnive هر 5 پارامتر (منبع/واسط/کمپین/محتوا/کلمه) را در لحظهٔ ثبت می‌گیرد، بدون نیاز به کوکی و مقاوم در برابر مسدودکنندهٔ تبلیغات. «Ask me!» را باز کنید ← «کمپینم ترافیک آورد؟» (q57). و این را به یاد بسپارید: iOS 17، utm_ را حفظ می‌کند و فقط click-ID را حذف می‌کند.*

سه‌شنبه یک خبرنامه فرستادید. صبح چهارشنبه صندوق ورودی ساکت است، اما Stripe سه سفارش را نشان می‌دهد که دیروز ساعت 5 بعدازظهر آنجا نبودند. کار خبرنامه بود؟ یا بوست اینستاگرام؟ یا تاپیک ردیت؟ یا شاید فقط سه نفر بعد از اینکه ایمیل یادشان انداخت، از طریق جستجوی برند وارد شدند؟

UTMها در سال 2005 اختراع شدند تا به همین پرسش پاسخ بدهند، و بیست سال بعد این هنوز همان پرسشی است که صاحبان تنهای سایت‌های وردپرسی بیش از هر چیز در آن اشتباه می‌کنند. علتش هم سختیِ استاندارد نیست؛ علتش این است که نظم UTM همان کار فرایندی است که همه نادیده‌اش می‌گیرند، تا روزی که نخستین کمپینِ پُرهزینه در انتساب شکست بخورد. این نوشته راهنمای همان نظم است: قرارداد پنج‌قانونیِ UTM، استثنای iOS 17 که تعیین می‌کند کمپین‌تان از کلیک جان سالم به در می‌برد یا نه، و کارت «Ask me!» که جدول متقاطع پنج‌کلیکی GA4 را در یک پرسش جمع می‌کند.

این نوشته به چه پرسش‌هایی پاسخ می‌دهد

  • پنج پارامتر UTM چه کاری می‌کنند، در یک جدول.
  • نظم پنج‌قانونی UTM که جلوی 90% آشفتگی انتساب را می‌گیرد.
  • چرا iOS 17، پارامترهای fbclid و gclid را حذف می‌کند اما utm_* را حفظ می‌کند.
  • چطور GA4 شما را وادار می‌کند از نمای کمپین جدول متقاطع بسازید، و چطور «Ask me!» همان را جمع می‌کند.
  • قانون تصمیم‌گیری: آیا کمپین جواب داد، و «جواب دادن» اصلاً یعنی چه؟

پنج پارامتر UTM، یک بار برای همیشه رمزگشایی‌شده

UTMها پنج پارامتر پرس‌وجوی URL هستند که با هر کلیک همراه می‌شوند. آن‌ها از هدایت، از بنر رضایت، و — که برای سال 2026 حیاتی است — از iOS 17 جان سالم به در می‌برند.

پارامتربه چه پرسشی پاسخ می‌دهدنمونهیادداشت
utm_sourceاین لینک کجا قرار دارد؟newsletter / instagram / facebookپلتفرم. همیشه با حروف کوچک.
utm_mediumلینک چطور می‌رسد؟email / cpc / social / referralنوع کانال. email ← سطل ایمیل؛ cpc ← جستجوی پولی.
utm_campaignکدام برنامه؟spring-sale-2026برای هر برنامه یک نام پایدار.
utm_contentکدام نسخهٔ خلاقانه؟hero-cta / footer-ctaاختیاری. انتساب نسخه‌های A/B.
utm_termکدام کلمهٔ کلیدی؟wordpress+analyticsاختیاری. بیشتر برای جستجوی پولی.

همین. پنج رشته، که در URL کدنویسی شده‌اند و در لحظهٔ بازدید خوانده می‌شوند. نه جاوااسکریپتی، نه کتابخانه‌ای، نه SDKای، نه بنر رضایتی. مرورگر آدرس را به سرور شما می‌فرستد؛ ردیاب Statnive عبارت ?utm_source=…&utm_medium=…&utm_campaign=… را می‌خواند و ذخیره می‌کند.

نظم پنج‌قانونی UTM (تمام این نوشته در 30 خط)

بزرگ‌ترین اشتباه در سایت‌های تک‌نفرهٔ وردپرسی، برچسب‌گذاری ناهماهنگ است، نه نبودِ برچسب. نیمه‌برچسب‌خورده از بی‌برچسب بدتر است، چون عددهای اشتباهی تولید می‌کند که درست به نظر می‌رسند.

قانون 1 — همه چیز با حروف کوچک. همیشه.

utm_source=Facebook و utm_source=facebook در جدول کمپین‌های شما دو ردیف متفاوت‌اند. Newsletter و newsletter هم همین‌طور، CPC و cpc هم. راه‌حل ساده است: همه چیز با حروف کوچک، خط‌تیره به‌جای فاصله. بنویسید utm_campaign=spring-sale-2026، نه Spring Sale 2026. همین یک قانون رایج‌ترین مشکل تب کمپین را حل می‌کند — جدولی که facebook 412 و Facebook 38 را نشان می‌دهد، هر دو یک کمپین، که هیچ‌کدام به عدد واقعی جمع نمی‌شوند.

قانون 2 — یک واژگان برای هر پلتفرم، نوشته‌شده

برای هر پلتفرم یک مقدار پایدار utm_source انتخاب کنید و هرگز عوضش نکنید. facebook، instagram، newsletter (نه email و نه نام پلتفرم — newsletter توصیف مخاطب است که از مهاجرت بین پلتفرم‌ها جان سالم به در می‌برد). برای utm_medium از دسته‌بندی بومی GA4 استفاده کنید: email، cpc، social، referral، display، affiliate. گروه‌بندی کانال Statnive این مقدارهای واسط را می‌خواند تا نشست‌ها را به سطل‌های ایمیل / جستجوی پولی / شبکهٔ اجتماعی نگاشت کند؛ واسط‌های سفارشی هم در سطل ارجاع می‌نشینند. واژگان را بنویسید — یک صفحهٔ Notion، یک README در پوشهٔ کمپین‌ها، یا حتی پشت یک کاغذ یادداشت. همین عمل نوشتن است که جلوی خودِ آینده‌تان را می‌گیرد تا ساعت 2 بامداد یک نسخهٔ تازه اختراع نکند.

قانون 3 — هرگز روی لینک‌های داخلی UTM نگذارید

این همان اشتباهی است که انتساب را کامل‌تر از هر چیز نابود می‌کند. فرض کنید یک خبرنامه می‌فرستید؛ به /spring-sale/ لینک می‌دهد؛ و صفحهٔ spring-sale یک دکمهٔ «همین حالا بخرید» به /shop/?utm_source=spring-page&utm_medium=internal دارد. وقتی بازدیدکننده روی آن دکمه کلیک می‌کند، ردیاب UTM جدید را می‌خواند و منبع اصلیِ خبرنامه را از نو می‌نویسد. به این ترتیب کمپینی که واقعاً بازدید را آورده بود، حالا به اعتبار صفحهٔ خودتان ثبت می‌شود.

قانون این است: UTMها فقط روی لینک‌هایی می‌آیند که از بیرونِ سایت شما می‌رسند. بدون استثنا. تست‌های A/B داخلی از یک پارامتر دیگر استفاده می‌کنند — ?variant=hero-cta — که Statnive آن را برای انتساب کانال نادیده می‌گیرد.

قانون 4 — هر لینک قابل اشتراک را برچسب بزنید، حتی «بدیهی»‌ها

دام این است: «نیازی نیست ایمیلم را UTM بزنم، چون گزارش‌های Klaviyo همین حالا به من می‌گویند.» این حرف داخل Klaviyo درست است. اما گزارش بازدیدِ Statnive و گزارش سفارش WooCommerce شما فقط همان چیزی را می‌دانند که URL به آن‌ها گفته. یک لینک ایمیلِ بی‌برچسب از یک جستجوی برند در گوگل تشخیص‌ناپذیر است — هر دو در سطل مستقیم یا ارگانیک می‌نشینند. قاعدهٔ سرانگشتی: اگر روی URL کنترل دارید، برچسبش بزنید. خبرنامه‌ها، تبلیغات پولی، پست‌های ردیتی که خودتان می‌گذارید، لینک داخل بایوی توییترتان. لینک‌های بی‌برچسب فقط برای جاهایی مشکلی ندارند که کنترلش را ندارید — سطل ارجاع برای همین است.

قانون 5 — طرح را مستند کنید. از نو اختراع نکنید.

برای واژگان UTM خودتان یک منبع واحدِ حقیقت نگه دارید — یک صفحه، چهار پاسخ: کدام مقدارهای utm_source وجود دارند، کدام مقدارهای utm_medium وجود دارند، یک کمپین تازه را چطور نام‌گذاری کنید (kebab-case-description-yyyy-mm)، و کجا بررسی کنید که یک کمپین درست برچسب خورده یا نه («Ask me!» ← q57). هزینه‌اش یک ساعت است. هزینهٔ اجرای کمپین‌ها بدون آن، نوفه‌شدنِ کل لایهٔ انتساب است. نسخهٔ عمیق این نظم — برگه‌های راهنمای ساختِ لینک به‌تفکیک پلتفرم و الگوهای یکپارچه‌سازی Klaviyo / Meta / Google Ads — در راهنمای موجود کمپین‌های UTM برای WooCommerce آمده است.

چرا iOS 17 صورت‌مسئله را عوض کرد

Apple در سپتامبر 2023، نسخه‌های iOS 17 / iPadOS 17 / macOS Sonoma را با محافظت از ردیابی لینک عرضه کرد — که در حالت مرور خصوصی Safari و در Messages فعال است. وقتی کاربر روی یک لینک کلیک می‌کند، سیستم‌عامل پیش از خروج درخواست، مجموعهٔ مشخصی از پارامترهای ردیابی را حذف می‌کند.

حذف‌شده: fbclid (فیسبوک)، gclid (Google Ads)، mkt_tok (Marketo)، توکن‌های HubSpot (_hsenc، _hsmi)، و دیگر پارامترهای مخصوص فروشنده که Apple آن‌ها را هم‌رده با اثر انگشت دسته‌بندی می‌کند. حفظ‌شده: utm_source، utm_medium، utm_campaign، utm_content، utm_term.

این استثنا، تمام دلیلِ سال 2026 برای تکیه بر UTM به‌جای click-ID است. هم تحلیل فنی Knak و هم تحلیل مفصل Segmetrics به یک نتیجه می‌رسند: utm_* یک واژگان کمپینِ استاندارد و شفاف است که کاربر می‌تواند آن را در نوار آدرس بخواند، پس Apple کاری به آن ندارد؛ اما click-IDها شناسه‌های خصوصیِ فروشنده‌اند که Apple آن‌ها را ردیابی خاموش دسته‌بندی می‌کند. به زبان ساده: یک تبلیغ فیسبوکی که فقط به fbclid تکیه کرده، بعد از یک کلیک در iOS مثل ترافیک مستقیم یا ارجاع به نظر می‌رسد؛ اما همان تبلیغ با ?utm_source=facebook&utm_medium=cpc&utm_campaign=spring-sale-2026 دست‌نخورده باقی می‌ماند. در سال 2026 هرگز فقط به click-ID اعتماد نکنید. هر لینک پولی را با یک مجموعهٔ کامل UTM جفت کنید تا کمپین از Safari، از مرورگرهای درون‌برنامه‌ای، و از هر چیزی که به‌روزرسانیِ بعدیِ حریم خصوصی حذف می‌کند، جان سالم به در ببرد.

GA4 چطور به آن پاسخ می‌دهد

GA4 داده را دارد. مسیرش چنین است: Reports ← Acquisition ← Traffic acquisition ← کلیک روی «+» برای افزودن Session campaign به‌عنوان بُعد ثانویه ← فیلتر بر اساس نام کمپین ← اگر نبود، بُعد اصلی را عوض کنید و حروف بزرگ و کوچک را دوباره وارسی کنید. پنج تا شش کلیک، و باز هم تا وقتی بُعدها را دوباره عوض نکنید محتوا و کلمه را نمی‌بینید. در تطبیق سخت‌گیرانهٔ GA4، facebook و Facebook دو ردیف می‌سازند که با هم جمع نمی‌شوند. صاحب سایتی که کمپین را اجرا کرده، حالا ده دقیقه وقت می‌گذارد تا تصمیم بگیرد کدام ردیف «واقعی» است، آن هم پیش از آنکه بتواند به پرسش پاسخ بدهد.

چرا Statnive کمپین‌ها را جور دیگری می‌بیند

پنج ادعا برای هر پرس‌وجوی «Ask me!»، از جمله کارت‌های کمپین، برقرار است:

  1. بدون هوش مصنوعی. بدون LLM. آن 117 پرسش دست‌نوشتهٔ انسان‌اند؛ پاسخ‌ها هم SQLِ دست‌نوشته‌اند.
  2. بدون API شخص ثالث. هیچ تماس خروجی از مسیر «Ask me!» برقرار نمی‌شود. AdvisorController هیچ درخواست wp_remote_* نمی‌فرستد.
  3. هیچ چیز از سرور شما خارج نمی‌شود. نقطهٔ پایانیِ REST روی همان نصب وردپرس قرار دارد؛ نه رله‌ای، نه پراکسی‌ای، نه نقطهٔ پایانیِ کش‌شده در CDN.
  4. داده مال شماست. Statnive داده را هیچ‌جا میزبانی، آینه، توزیع یا پشتیبان‌گیری نمی‌کند.
  5. بدون کوکی. بدون اثر انگشت مرورگر. بدون ردیاب شخص ثالث. هش‌های SHA-256 با نمکِ روزانه‌چرخان؛ IPها هش می‌شوند، GeoIP می‌گیرند و به‌صورت زودگذر دور انداخته می‌شوند.

گرفتن UTM در لحظهٔ نخستین درخواست انجام می‌شود: ردیاب رشتهٔ پرس‌وجو را می‌خواند، مقدارهای utm_* را در لحظهٔ ثبت با حروف کوچک می‌نویسد تا Facebook و facebook به یک ردیف برسند، و هر پنج پارامتر را در برابر هش بازدیدکنندهٔ روزانه‌چرخان ذخیره می‌کند. هیچ بنر کوکی‌ای نمی‌تواند جلوی خواندن را بگیرد، چون اصلاً کوکی‌ای در کار نیست. مسدودکننده‌های تبلیغات هم نمی‌توانند پارامترها را حذف کنند، چون این کار لینک را می‌شکند. «Ask me!» یک کتابخانهٔ پرسش است، نه یک چت‌بات. داده‌های شما به پرسش پاسخ می‌دهند؛ اما داده‌های شما هرگز جابه‌جا نمی‌شوند.

در Statnive: «Ask me!» را باز کنید ← روی پرسش کلیک کنید ← تمام

در Statnive: «Ask me!» را باز کنید ← روی «کمپینم ترافیک آورد؟» کلیک کنید ← تمام.

تب کمپین‌های «Ask me!» در Statnive که پرسش q57 «کمپینم ترافیک آورد؟»، q58 کدام کمپین UTM بیشترین بازدیدکننده را فرستاد، q59 تفکیک منبع UTM، q60 تفکیک واسط UTM، q61 بررسی خبرنامه، q64 بررسی کمپین فیسبوک، q65 بررسی کمپین Google Ads، q67 بهترین ترکیب UTM را نشان می‌دهد

تب کمپین‌ها هشت پرسش زنده دارد:

  • q57 — کمپینم ترافیک آورد؟ پاسخ بله/نهِ سرراست همراه با تعداد نشست‌های کمپینِ منطبق.
  • q58 — کدام کمپین UTM بیشترین بازدیدکننده را فرستاد؟ رتبه‌بندی کمپین، در 7/30/90 روز گذشته.
  • q59 — کدام منبع UTM بیشترین ترافیک را فرستاد؟ رتبه‌بندی فقط بر اساس منبع (facebook 412، newsletter 287، reddit 38).
  • q60 — کدام واسط UTM بیشترین ترافیک را فرستاد؟ رتبه‌بندی فقط بر اساس واسط — برای تخصیص بودجه مفید است.
  • q61 / q64 / q65 — آیا کمپین خبرنامه / فیسبوک / Google Ads من ترافیک فرستاد؟ میان‌برهای از پیش فیلترشده برای utm_medium=email، utm_source=facebook، utm_source=google&utm_medium=cpc.
  • q67 — کدام ترکیب UTM بیشترین ترافیک را داشت؟ جدول متقاطعِ منبع × واسط × کمپین.

پرس‌وجو همان است که تب کمپین‌های نسخهٔ v1.0.0 پیش‌تر اجرا می‌کرد؛ کارت «Ask me!» فقط مسیر را به یک کلیک جمع می‌کند.

قانون تصمیم‌گیری

قانون، در یک جمله: یک کمپین جواب داده اگر نشست‌های برچسب‌خورده‌اش از هدف بیشتر شده باشند و نرخ پرشش با یک گروه سالم همخوان باشد — که در برابر صفحهٔ فرودِ نام‌برده اندازه‌گیری می‌شود، نه میانگین سایت.

سه جزء دارد: (1) نشست‌های برچسب‌خورده > هدف — q57 یا q58 عدد را نشان می‌دهد؛ شما تصمیم می‌گیرید؛ (2) نرخ پرش با گروه همخوان است — یک کمپین پولی که روی صفحهٔ محصول فرود می‌آید باید همسو با دیگر ترافیک پولیِ صفحهٔ محصول پرش داشته باشد، نه همسو با کل سایت (منطق مقایسهٔ گروهی از راهنمای کیفیت کانال عیناً اینجا هم برقرار است)؛ (3) پیش از توقف، عیب‌یابی کنید — بیشتر کمپین‌های «شکست‌خورده» قابل عیب‌یابی‌اند: یک UTM خراب (q67 غلط تایپی را آشکار می‌کند)، یک صفحهٔ فرود اشتباه، یا یک مخاطبِ افتاده. کارت حجم را نشان می‌دهد؛ اما تشخیص، گام انسانی است. کمپین‌هایی که در حجم شکست خورده‌اند معمولاً مشکل برچسب‌گذاری دارند (q67 نشان می‌دهد که روی (direct) نشسته‌اند)؛ کمپین‌هایی که در نرخ پرش شکست خورده‌اند مشکل خلاقیت یا هدف‌گیری دارند.

«پنج پارامتر UTM کدام‌اند؟»

utm_source، utm_medium، utm_campaign، utm_content، utm_term. سه تای اول اسکلت کارند — کجا، چطور، چه. دو تای آخر پالایش‌اند — کدام خلاقیت، کدام کلمهٔ کلیدی. Statnive هر پنج را در لحظهٔ ثبت ذخیره می‌کند؛ تب کمپین‌های نسخهٔ v1.1.0 سه تای اول را به‌طور پیش‌فرض نشان می‌دهد.

«چطور در وردپرس کد UTM بسازم؟»

هیچ مرحلهٔ مخصوص وردپرسی نیست — UTMها روی URLی زندگی می‌کنند که به سایت شما اشاره دارد، نه داخل وردپرس. لینک را در Campaign URL Builder گوگل با مقدارهای حروف‌کوچک و خط‌تیره‌دار بسازید؛ در ایمیل یا تبلیغتان بچسبانید؛ Statnive هم در لحظهٔ بازدید utm_* را می‌خواند. قاعده‌ای که بیشتر صاحبان سایت نادیده می‌گیرند این است: روی لینک‌های بین صفحه‌های خودتان UTM نگذارید — ردیاب نمی‌تواند تشخیص دهد که UTM جدید از درون سایت شما آمده و منبع اصلی را از نو می‌نویسد.

«چرا UTMهای من در GA4 نمایش داده نمی‌شوند؟»

سه دلیل، به ترتیب فراوانی: ناهماهنگی حروف بزرگ و کوچک (GA4 با Facebook و facebook مثل دو ردیف رفتار می‌کند؛ Statnive مقدارهای utm_* را در لحظهٔ ثبت با حروف کوچک می‌نویسد، اما GA4 این کار را نمی‌کند)؛ کوتاه‌کننده پارامترها را حذف می‌کند (سرویس‌های لینک‌کوتاهِ بدتنظیم، رشتهٔ پرس‌وجو را هنگام هدایت می‌اندازند)؛ iOS 17 یک لینکِ فقط-click-ID را حذف کرده (کمپینی که به gclid تکیه دارد به ترافیک مستقیم برمی‌گردد). راه‌حل یکی است: هر لینک پولی را با یک مجموعهٔ کامل UTM جفت کنید تا انتساب جان سالم به در ببرد.

گام بعدی چیست

  1. اگر هنوز نصب نکرده‌اید، Statnive را از WordPress.org نصب کنید.
  2. واژگان UTM خودتان را بنویسید — یک صفحه، چهار پاسخ، نیم ساعت. حروف کوچک، kebab-case، یک منبع برای هر پلتفرم، یک واسط برای هر نوع کانال.
  3. سه کمپین آخرتان را وارسی کنید در «Ask me!» ← q67. دو ردیف برای یک کمپین با حروفِ متفاوت یا نام‌های منبعِ متفاوت یعنی درس را زنده پیش چشمتان دارید.
  4. کمپین بعدی را پیش از راه‌اندازی برچسب بزنید. URL را در سازندهٔ کمپین بسازید؛ در ایمیل یا تبلیغ بچسبانید.
  5. برای الگوهای لینکِ به‌تفکیک پلتفرم (Klaviyo، Meta، Google Ads)، ستون پایهٔ موجود را بخوانید: کمپین‌های UTM: از هدررفتِ بودجهٔ تبلیغات جلوگیری کنید.
  6. برای پرسش در سطح کانال — UTMها به گروه‌بندی کانال خوراک می‌دهند — نوشتهٔ خواهرِ شمارهٔ 2 را بخوانید: ترافیک شما واقعاً از کجا می‌آید؟.

این هم از نظم. پنج قانون، یک سند، یک کارت «Ask me!» برای هر پرسشِ کمپین. اولین پوش پولیِ بعدی که نمی‌توانید انتسابش دهید، همان است که برچسبش نزدید — پیش از آنکه مخاطب را مقصر بدانید، این را درست کنید.

Statnive 1.1.0 را رایگان از WordPress.org نصب کنید ←

برای همیشه رایگان · خودمیزبان · بدون حساب کاربری · بدون هوش مصنوعی · بدون API شخص ثالث · داده‌های شما هرگز از سرورتان خارج نمی‌شوند.

Get Statnive Free