ابنِ رابط حملتك التسويقية بمعطيات UTM
تبني هذه الأداة رابط حملة تسويقية كاملًا بمعطيات UTM القياسية — المصدر والوسيلة واسم الحملة وغيرها — من رابطك الأصلي، فتتجنب أخطاء الصياغة اليدوية التي تفسد تتبّع أداء الحملة في تحليلات جوجل أو أي أداة تحليل أخرى. تفيد خصوصًا فرقًا تسويقية صغيرة لا تملك أداة إدارة حملات متخصصة، وتكتفي بجدول بسيط لمتابعة أداء كل رابط.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
لماذا تفشل معطيات UTM المكتوبة يدويًا كثيرًا؟
خطأ إملائي بسيط في اسم الحملة، أو استخدام حرف كبير في مكان صغير، أو نسيان معطى المصدر، يكفي لتظهر بيانات الزيارة مبعثرة في تحليلاتك بدل أن تتجمّع تحت الحملة نفسها بوضوح. تبني الأداة الرابط بصياغة موحَّدة تلقائيًا من الحقول التي تملأها، فتزيل احتمال الخطأ الإملائي اليدوي من الأساس. هذا الفارق الصغير قد يبدو تافهًا، لكنه يكفي لتظهر الحملة نفسها مقسّمة إلى عدة أسطر منفصلة في التقرير، فيصعب تقييم أدائها الحقيقي بدقة.
الحقول التي يحتاجها كل رابط UTM
يحتاج الرابط الكامل مصدر الزيارة (كواتساب أو نشرة بريدية)، والوسيلة (بريد إلكتروني أو منشور اجتماعي)، واسم الحملة نفسها لتمييزها عن حملات أخرى ضمن معطيات UTM القياسية، ويمكن إضافة معطيات اختيارية كاسم الإعلان أو الكلمة المفتاحية عند الحاجة لتفصيل أدق. تملأ كل حقل مرة واحدة، وتنتج الأداة الرابط الكامل جاهزًا للنسخ فورًا. ترتيب هذه الحقول لا يهم كثيرًا؛ المهم اتساق التسمية نفسها عبر كل الحملات، لتتمكن لاحقًا من تجميعها ومقارنتها بثقة في تقرير واحد.
بعد بناء الرابط: ماذا تفعل به؟
شارك الرابط الناتج في الحملة نفسها كما هو، أو اختصره أولًا عبر أداة اختصار الروابط إن كان طويلًا لدرجة تزعج القراءة على واتساب أو الطباعة. تظهر بيانات الزيارات المرتبطة به تلقائيًا في تحليلات موقعك خلال ساعات من أول نقرة، دون أي إعداد إضافي من طرفك. راجع تقرير الأداء دوريًا لا مرة واحدة فقط بعد إطلاق الحملة، فبعض القنوات تحتاج أسبوعين على الأقل قبل أن يتضح نمط تفاعل حقيقي معها.
حالات الاستخدام
حملة إعلان واتساب
تبني شركة الواحة للتجارة المحدودة رابط حملة بمعطيات UTM لرسالة ترويجية عبر واتساب، لتفصلها عن زيارات القنوات الأخرى في التحليلات.
نشرة بريدية شهرية
تضيف شركة الخليج الرقمية معطيات UTM لكل رابط داخل نشرتها البريدية الشهرية، لتعرف أي مقال جذب أكبر عدد نقرات.
مقارنة أداء إعلانين
يبني خالد العتيبي رابطين بمعطيات UTM مختلفة لإعلانين منفصلين، ليقارن أداء كل نسخة على حدة في لوحة التحليلات.
الأسئلة الشائعة
هل الأداة مجانية؟
نعم، من المتصفح وبلا حدود على عدد الروابط.
هل تظهر بيانات UTM في جوجل أناليتكس تلقائيًا؟
نعم، ما دام موقعك متصلًا بأداة تحليل تدعم معطيات UTM، تظهر البيانات مصنَّفة تلقائيًا دون إعداد إضافي.
هل يمكن حفظ رابط UTM سابق لتعديله لاحقًا؟
لا تحفظ الأداة الروابط بعد إنشائها؛ احفظ الرابط الناتج بنفسك إن أردت تعديله لاحقًا.
ما الفرق بين المصدر والوسيلة؟
المصدر يحدد من أين أتت الزيارة (واتساب، نشرة بريدية)، والوسيلة تحدد طبيعة القناة (بريد إلكتروني، منشور اجتماعي).
هل يصل رابطي الأصلي إلى أي خادم؟
لا، البناء يجري محليًا داخل متصفحك دون إرسال أي بيانات.
كم السعر عبر API؟
$0.002 لكل رابط يُبنى آليًا؛ من المتصفح مجاني دائمًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/utm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/utm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/utm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/utm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/utm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"items": [
"valor-1",
"valor-2"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.utm",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |