# أحداث التحويل

تجمع أحداث التحويل إيرادات المستخدمين بتنسيق موحد حتى تتمكن من استخدامها في الإسناد والتحليلات والتقسيم.

## ما هي أحداث التحويل

نادراً ما تأتي أحداث الإيرادات بشكل واحد. قد يقوم SDK الخاص بك بتشغيل حدث `PW_InAppPurchase`، وقد يرسل نظامك الخلفي حدثاً مخصصاً مثل `OrderPlaced`، وتقدم Stripe أو Shopify أحداث webhook الخاصة بها. بدون تنسيق مشترك، يعني استهداف الإيرادات أو الإبلاغ عنها كتابة منطق منفصل لكل مصدر.

تحل أحداث التحويل هذه المشكلة عن طريق تسوية كل ذلك في `PW_Conversion`، وهو حدث مدمج مع مجموعة ثابتة من الحقول:

*   `value`: مبلغ المعاملة
*   `currency`: رمز العملة ISO 4217
*   `transaction_id` و `product_id`: معرفات اختيارية

يغطي `PW_Conversion` عمليات الشراء وتجديد الاشتراكات والمدفوعات من منصات الطرف الثالث، بغض النظر عن مصدر حدث المال الأصلي. إلى جانب الأحداث [الافتراضية](/ar/product/audience-data-and-segmentation/events/default-events/) و[المخصصة](/ar/product/audience-data-and-segmentation/events/custom-events/)، تعد أحداث التحويل هي فئة الأحداث الثالثة في Pushwoosh.

بمجرد وصول الإيرادات كـ `PW_Conversion`، يقرأ كل من RFM segmentation و Customer Journeys ولوحات المعلومات و ManyMoney AI نفس البيانات المسواة، بغض النظر عن المصدر الذي أنتجها.

### كيف تصل الإيرادات إلى Pushwoosh

تحصل على سجل `PW_Conversion` بإحدى طريقتين:

*   **إرسالها مباشرة من الكود الخاص بك:** يرسل تطبيقك أو نظامك الخلفي `PW_Conversion` بعد عملية الشراء.
*   **ربط حدث موجود في Control Panel:** وجه Pushwoosh إلى حدث شراء ترسله بالفعل، وسيقوم بإنشاء سجلات `PW_Conversion` دون تغيير الكود الخاص بك. يمكنك ربط أكثر من حدث مصدر واحد لكل تطبيق.

<Aside type="caution" title="هام">
استخدم مسارًا واحدًا فقط لكل معاملة. إذا أرسلت `PW_Conversion` مباشرة وقمت أيضًا بربط حدث آخر يتم تشغيله لنفس عملية الشراء، فإن Pushwoosh يسجل كليهما كأحداث `PW_Conversion` منفصلة ومستقلة. لا يكتشف Pushwoosh أو يدمج التكرارات عبر المصادر، حتى لو كانت تشترك في `transaction_id`.
</Aside>

## حالات الاستخدام

بمجرد إعداد أحداث التحويل، تصبح تلك البيانات قابلة للاستخدام في كل مكان تهم فيه الإيرادات في Pushwoosh:

*   أنشئ [شرائح RFM](/ar/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) للمستخدمين ذوي القيمة العالية بناءً على مبلغ الإنفاق وحداثته، دون الحاجة إلى منطق إيرادات مخصص لكل حدث.
*   عيّن `PW_Conversion` كـ [هدف تحويل (Conversion Goal)](/ar/product/customer-journey/journey-settings/#conversion-goals) في [Customer Journey](/ar/product/customer-journey/pushwoosh-journey-overview/) لترى أي التدفقات تؤدي بالفعل إلى عمليات شراء، وليس مجرد نقرات أو فتحات.
*   اعرض الإيرادات في لوحات المعلومات والتقارير دون بناء منطق مخصص لكل حدث شراء.
*   اجمع الإيرادات من أحداث الشراء في SDK و webhooks الدفع (Stripe, Shopify) في مجموعة بيانات واحدة بدلاً من تحليل كل مصدر على حدة.
*   دع [ManyMoney AI](/ar/product/pushwoosh-ai/ai-assistant/) يستخدم بيانات المعاملات الحقيقية في توصياته وتحسينات حملاته.

<Aside type="tip" title="سيناريوهات أمثلة">
**دمج التجديدات وطلبات المتجر**

يرسل تطبيق اشتراك `PW_Conversion` بعد كل دفعة تجديد، ويربط webhook Shopify الخاص به بـ `PW_Conversion` لمبيعات البضائع لمرة واحدة. يتم الآن احتساب كلا مصدري الإيرادات ضمن نفس RFM segmentation، لذلك يصل أكبر المنفقين في التطبيق إلى شريحة **Champions** تلقائيًا. من هناك، يمكنك استهدافهم بعرض ولاء في Customer Journey.

**توحيد الإنفاق عبر القنوات**

يرسل تطبيق جوال `PW_Conversion` للمشتريات داخل التطبيق مباشرة من نظامه الخلفي، وبشكل منفصل يربط webhook Stripe للمشتريات التي تتم على موقعه الإلكتروني. نظرًا لأن Pushwoosh يعامل كليهما على أنهما نفس نوع حدث الإيرادات، يرى ManyMoney AI سجل إنفاق العميل الكامل، التطبيق والموقع الإلكتروني معًا، عندما يوصي بمن يجب استهدافه بعد ذلك.

**معرفة أي journeys تؤدي إلى عمليات شراء**

تستهدف journey المستخدمين الذين توقفوا عن استخدام الخدمة مؤخرًا بعرض لاستعادتهم. تم تعيين **Conversion Goal** الخاص بها على `PW_Conversion`. بعد انتهاء الـ journey، تُظهر إحصائيات الهدف عدد المستخدمين الذين أجروا عملية شراء، حتى تتمكن من رؤية أن الـ journey أدت إلى عمليات شراء حقيقية، وليس مجرد فتحات. لمعرفة مقدار الإيرادات التي يمثلها ذلك، تحقق من عرض إيرادات الشريحة أو لوحة المعلومات بشكل منفصل. يعرض Customer Journey عدد عمليات الشراء حسب الهدف، وليس إجماليًا بالدولار لكل journey.
</Aside>

## كيفية إعداد أحداث التحويل

يتم تكوين أحداث التحويل لكل تطبيق. يمكنك إعداد أحداث التحويل بإحدى طريقتين. اتبع التعليمات الخاصة بالمسار الذي يناسب تنفيذك.

### إرسال `PW_Conversion` من الكود الخاص بك

يناسب هذا المسار عندما يمكنك إضافة أو تغيير كود الحدث في تطبيقك أو نظامك الخلفي. بعد كل عملية شراء، أرسل `PW_Conversion` من خلال طريقة [postEvent](/ar/developer/api-reference/user-centric-api/#postevent).

<Aside type="caution" icon="setting" title="مطلوب مساعدة المطور">
لإرسال `PW_Conversion` من الكود الخاص بك، ستحتاج إلى مساعدة من فريق التطوير لديك. شارك العينة من **عرض الكود**، بالإضافة إلى [هذا الرابط](/ar/developer/guides/audience-and-segmentation/events/) معهم للحصول على التعليمات.
</Aside>

1.  اذهب إلى **Audience > Events**. ابحث عن بطاقة **Conversion events tracking**.

<img src="/events-conversion-events-5.webp" alt="صفحة الأحداث مع بطاقة تتبع أحداث التحويل قبل الإعداد، تظهر صفر أحداث مرتبطة وزر بدء جمع الإيرادات"/>

2.  انقر على **عرض الكود**.

<img src="/events-conversion-events-3.webp" alt="صفحة إعداد أحداث التحويل مع رابط عرض الكود"/>

3.  انسخ العينة وأضف استدعاء `postEvent` في أي مكان تكتمل فيه عملية شراء في تطبيقك أو نظامك الخلفي.
<img src="/events-conversion-events-2.webp" alt="مربع حوار كود التكامل مع عينات PW_Conversion postEvent لـ JavaScript و Swift و Objective-C و Java"/>

<Aside type="tip">
فقط `value` و `currency` مطلوبان. `transaction_id` و `product_id` اختياريان.

إذا أرسلت `transaction_id`، يقوم Pushwoosh بتخزينه تمامًا كما تمرره. لا يقوم بإلغاء تكرار الإيرادات بواسطة هذا الحقل.
</Aside>

**مثال لـ JavaScript:**

```javascript
Pushwoosh.postEvent("PW_Conversion", {
    value: 49.99,
    currency: "USD",
    transaction_id: "ord_18274",
    product_id: "sku_premium_m"
});
```

#### السمات لاستدعاء postEvent

يسرد الجدول التالي السمات التي يمكنك تمريرها عند إرسال `PW_Conversion`.

| الحقل <div style="width:120px"></div> | النوع <div style="width:100px"></div> | مطلوب <div style="width:80px"></div> | الوصف |
| --- | --- | --- | --- |
| `value` | number | نعم | المبلغ النقدي للمعاملة. |
| `currency` | string (ISO 4217) | نعم | رمز عملة المعاملة، على سبيل المثال `USD` أو `EUR`. |
| `transaction_id` | string | لا | معرف فريد للمعاملة. يوصى به لحفظ السجلات الخاصة بك. يقوم Pushwoosh بتخزينه كما هو ولكنه لا يستخدمه لإلغاء تكرار الإيرادات من تلقاء نفسه. |
| `product_id` | string | لا | معرف المنتج أو الخطة المشتراة. |

<Aside type="caution">
لا تدعم أحداث التحويل حاليًا المبالغ المستردة أو الإلغاءات. لا توجد طريقة لإرسال سجل `PW_Conversion` سلبي أو عكسي. بمجرد تسجيل المعاملة، تظل في إجماليات إيراداتك حتى لو تم استرداد المبلغ أو إلغاء الشراء لاحقًا.
</Aside>

### ربط حدث موجود لتتبع الإيرادات

يناسب هذا المسار عندما تتدفق بيانات الشراء بالفعل من خلال حدث آخر ولا ترغب في تغيير الكود الخاص بك. عندما يصل حدث مصدر مرتبط، يقوم Pushwoosh بتشغيله وتسجيله كحدث `PW_Conversion`.

<Aside type="note">
الربط لا يغير أو يستبدل الحدث المصدر. يستمر في العمل تمامًا كما كان من قبل. يظل الحدث المصدر متاحًا في التقسيم وسجل الأحداث ولوحات المعلومات مثل أي حدث آخر. بالإضافة إلى ذلك، ينشئ Pushwoosh سجل `PW_Conversion` منه، يستخدم فقط لميزات الإيرادات.
</Aside>

1.  اذهب إلى **Audience > Events**. ابحث عن بطاقة **Conversion events tracking**.

2.  انقر على **بدء جمع الإيرادات** (أو **ربط الحدث**، إذا كنت قد ربطت حدثًا بالفعل). تفتح صفحة **إعداد أحداث التحويل**.

<img src="/events-conversion-events-7.webp" alt="صفحة إعداد أحداث التحويل مع قسم استخدام الأحداث الموجودة لتتبع التحويل"/>

3.  في **استخدام الأحداث الموجودة لتتبع التحويل**، افتح القائمة المنسدلة **EVENT** وحدد الحدث الذي ترسله بالفعل. تتضمن القائمة الأحداث المخصصة والأحداث الافتراضية وأحداث webhook الواردة (مثل Stripe أو Shopify).

<img src="/events-conversion-events-4.webp" alt="صفحة إعداد أحداث التحويل مع القائمة المنسدلة الافتراضية EVENT التي تظهر العنصر النائب حدد حدث"/>

4.  اربط السمات المتبقية:

    *   في **PRICE**، حدد السمة التي تخزن مبلغ المعاملة.
    *   في **CURRENCY**، حدد السمة التي تخزن رمز العملة.
    *   اختياريًا، اربط **TRANSACTION ID (OPTIONAL)** و **PRODUCT ID (OPTIONAL)**.
<img src="/events-conversion-events-1.webp" alt="نموذج ربط حدث التحويل مع حقول EVENT والسعر والعملة ومعرف المعاملة ومعرف المنتج مملوءة"/>

لربط حدث مصدر آخر، انقر على **+ ADD EVENT**. لإزالة الربط، انقر على **REMOVE**.

5.  انقر على **Apply**.

يمكنك ربط أحداث متعددة كمصادر لنفس التطبيق. على سبيل المثال، اربط حدث `purchase_completed` مخصصًا إلى جانب حدث webhook من Stripe.

<Aside type="caution" title="هام">
لن تعيد التغييرات حساب الإحصائيات السابقة. ستستخدم بيانات التحويل الجديدة فقط الإعداد المحدث.
</Aside>

## مراقبة أحداث التحويل

تلخص بطاقة **Conversion events tracking** في **Audience > Events** نشاط التحويل للتطبيق المحدد. تعرض رقمين:

*   **الأحداث المرتبطة:** عدد أحداث المصدر التي تغذي حاليًا `PW_Conversion`.
*   **تم تشغيلها في آخر 7 أيام:** العدد الإجمالي لأحداث `PW_Conversion` التي تم تشغيلها في تلك الفترة، من أي ربط حالي أو سابق، أو من استدعاءات `postEvent` المباشرة.

انقر على **عرض الكود** لإعادة فتح عينة تكامل `PW_Conversion`.

<img src="/events-conversion-events-6.webp" alt="بطاقة تتبع أحداث التحويل بعد الإعداد، تظهر عدد الأحداث المشغلة، وعدد الأحداث المرتبطة، وروابط عرض الكود، وربط الحدث، وكيفية الاستخدام"/>

<Aside type="caution" title="هام">
يعكس هذا العدد كل حدث `PW_Conversion` تم تشغيله في آخر 7 أيام، بغض النظر عن المصدر. إذا قمت بتغيير أو إزالة ربط، فإن أحداث `PW_Conversion` السابقة التي أنشأها بالفعل تظل محسوبة حتى تخرج من نافذة الـ 7 أيام. لا ينخفض الرقم أو يعاد حسابه على الفور.
</Aside>