Back to docs

Links

نبضة التحويل

تتبع التحويلات على صفحات الوجهة التي لا تتحكم بها، مع إسنادها إلى النقرة الأصلية ونسخة اختبار A/B.

يمكن لاختبارات A/B على الروابط المختصرة إرسال الزوار إلى صفحة وجهة لا تتحكم بها — متجر، صفحة هبوط مبنية بأداة أخرى، أو موقع شريك. تقيس Styrar النقرة والنسخة التي وصل إليها الزائر، لكنها لا تملك طريقة لمعرفة ما إذا تحوّل ذلك الزائر بعد إعادة التوجيه.

تغلق نبضة التحويل (conversion pixel) هذه الحلقة. إنها سكريبت صغير تضمّنه في صفحة الوجهة يقوم بإعادة إرسال بيانات التحويلات إلى Styrar، مرتبطة بالنقرة المحددة (ونسخة اختبار A/B) التي أرسلت الزائر إلى هناك.

كيف تعمل

  1. عندما يعيد رابط مختصر توجيه زائر، تضيف Styrar رمزًا (token) لمرة واحدة styrar_ck إلى عنوان الوجهة.
  2. يقرأ سكريبت النبضة في تلك الصفحة الرمز من العنوان (أو من localStorage، حتى يبقى صالحًا أثناء التنقل الإضافي في موقعك) ويجهّزه لإرساله مع أي حدث.
  3. تستدعي window.styrar.track(eventName, data) — أو تضيف خاصية data-styrar-track — عندما يقوم الزائر بشيء يستحق التتبع (يسجّل حسابًا، يتم الدفع، يبدأ نسخة تجريبية).
  4. تعيد Styrar ربط الرمز بالرابط الأصلي ونسخة اختبار A/B، ويظهر التحويل في لوحة التجربة لذلك الرابط.

لا يوجد معرّف حساب، أو معرّف موقع، أو مفتاح API يجب إعداده. الرمز نفسه هو الشيء الوحيد الذي يربط الحدث بمساحة عملك، وهو محدود النطاق لنقرة واحدة فقط.

إعداد نبضة التحويل

1. ابحث عن سكريبت التضمين الخاص بك

افتح لوحة متقدم ← اختبار A/B للرابط المختصر في لوحة التحكم وابدأ (أو هيّئ) تجربة. تعرض اللوحة بطاقة "تتبع التحويلات على صفحة الوجهة" تحتوي على سكريبت جاهز للنسخ:

HTML
<script src="https://api.styrar.com/v1/pixel/styrar.js" async></script>
<!-- mark a conversion -->
<button data-styrar-track="signup">Sign up</button>
<!-- or call it from your own code -->
<script>window.styrar && window.styrar.track('signup', { value: 19.99 })</script>

2. أضف وسم السكريبت إلى صفحة الوجهة الخاصة بك

ألصق وسم <script src="…/v1/pixel/styrar.js"> في الصفحة التي يصل إليها الزوار بعد إعادة توجيه الرابط المختصر — داخل <head> أو قبل </body> مباشرة. يعمل هذا على أي منصة (Shopify، Webflow، موقع ثابت، تطبيقك الخاص) لأن النبضة ونقطة نهاية التتبع الخاصة بها تستخدم سياسة CORS مفتوحة وخالية من الكوكيز.

3. سجّل تحويلًا

اختر ما يناسب صفحتك:

تصريحي، لا يتطلب أي JavaScript من جانبك:

HTML
<button data-styrar-track="signup">Sign up</button>
<form data-styrar-track="checkout_complete">…</form>

تؤدي نقرة (click) إلى إصدار الحدث على معظم العناصر؛ على <form> يصدر عند submit بدلًا من ذلك.

من كودك الخاص، بعد تحميل السكريبت:

HTML
<script>
  window.styrar && window.styrar.track('purchase', { value: 49.99 })
</script>

4. تأكد من أنها تعمل

شغّل التحويل على صفحة الوجهة، ثم افتح لوحة اختبار A/B للرابط — سيتم تحديث عدد التحويلات ونسبتها للنسخة بعد وصول الحدث.

قيم التحويل المخصصة

تأخذ window.styrar.track(eventName, data) أي اسم حدث وكائن data اختياري:

HTML
<script>
  window.styrar.track('purchase', {
    value: 49.99,          // numeric — stored as the event's value
    plan: 'pro_annual',    // any other field is stored alongside the event
    currency: 'USD',
  })
</script>
الحقلالنوعالسلوك
eventNamestringمطلوب. حتى 64 حرفًا — استخدم ما يناسب مسار تحويلك: signup، add_to_cart، purchase، إلخ.
valuenumberيُحفظ فقط إذا كان number بصيغة JS (مثل إيراد الطلب). أي شيء آخر يتم تجاهله.
أي حقل آخر في dataأي قيمة JSONيُحفظ مع الحدث (حتى 4 كيلوبايت بعد التسلسل). الحمولات الأكبر تُحذف، ولا تُقتطع.

لا يوجد مخطط (schema) لتسجيله مسبقًا — استدعِ track() بأي شكل يناسب صفحتك، وسيتم حفظه مع الحدث.

إعادة بيانات التحويلات من خادمك

إذا حدث التحويل من جانب الخادم (webhook من مزود الدفع الخاص بك، مثلًا) بدلًا من المتصفح، اقرأ معامل styrar_ck من الطلب الأصلي وأرسله مباشرة:

RequestPOST
Content-Type: application/json

{
  "clickToken": "the styrar_ck value",
  "eventName": "purchase",
  "value": 49.99
}
Response200 OK
{
  "ok": true
}

هذا هو نفس الطلب غير المصادَق عليه الذي تقوم به نبضة المتصفح. لا يوجد مفتاح API — clickToken محدود الاستخدام لمرة واحدة ومرتبط بنقرة واحدة وغير قابل للتعداد، فهو يعمل كبيانات اعتماد بنفسه.

مرجع الـ API

Plain text
GET  /v1/pixel/styrar.js   # the embeddable script, no auth required
POST /v1/pixel/track        # records a conversion event, no auth required

جسم POST /v1/pixel/track:

الحقلمطلوبالوصف
clickTokenنعمقيمة styrar_ck من عنوان الوجهة أو localStorage
eventNameنعمحتى 64 حرفًا
valueلارقم، مثل قيمة الطلب
eventDataلاكائن JSON عشوائي، حتى 4 كيلوبايت بعد التسلسل
pageUrlلاحتى 2048 حرفًا؛ يرسل السكريبت window.location.href تلقائيًا

تستجيب نقطة النهاية دائمًا بـ 200 { "ok": true } — حتى مع clickToken غير معروف أو منتهي الصلاحية — لذا لا تُظهر النبضة أي خطأ على صفحة لا تتحكم بها بشكل كامل.

الخصوصية والأمان

  • ترسل النبضة فقط رمز النقرة، واسم/قيمة/بيانات الحدث الذي تمرّره، وعنوان الصفحة الحالية. لا كوكيز، ولا أخذ بصمات، ولا معرّفات عبر المواقع.
  • يُحدَّد معدل /v1/pixel/track لكل عنوان IP (120 طلبًا/دقيقة) لاستيعاب الإساءة دون التأثير على حركة البيانات العادية.
  • clickToken معرّف عشوائي محدود الاستخدام لمرة واحدة — لا يمكن تخمينه من الرمز المختصر للرابط أو أي قيمة عامة أخرى.

الحدود

  • يتطلب تتبع التحويلات تهيئة اختبار A/B على الرابط؛ يُنسب التحويل إلى أي نسخة شوهدت للزائر وقت النقرة.
  • لا يوجد تتبع تلقائي لعرض الصفحات — تُسجّل النبضة فقط الأحداث التي تُشغّلها بشكل صريح، لتقليل الضجيج وحجم الطلبات.
  • لا توجد حاليًا نقطة نهاية لتصدير أو حذف جماعي لأحداث التحويل؛ تواصل معنا إذا احتجت إزالة بيانات لمساحة عمل محددة.

ذو صلة

Join the beta waitlist

By signing up you agree to receive marketing email. See our Privacy Policy.