> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# تتبع حدث الإضافة إلى السلة في Klaviyo مع Upcart

> يشرح هذا المقال كيفية تفعيل تتبع أحداث Klaviyo بدقة عندما يضيف العملاء عناصر إلى سلتهم باستخدام Upcart.

<div id="overview">
  # نظرة عامة
</div>

افتراضيًا، يتولى Upcart وظائف سلة Shopify، مما قد يمنع تطبيقات الجهات الخارجية مثل **Klaviyo** من اكتشاف تحديثات السلة. لحسن الحظ، هناك طريقتان موثوقتان لاستعادة تتبع **الإضافة إلى السلة (ATC)** في Klaviyo مع إبقاء Upcart نشطًا.

قبل أن تبدأ، تأكد من تهيئة **Klaviyo Onsite Tracking** بشكل صحيح. يمكنك اتباع دليل الإعداد الخاص بهم هنا:\
👉 [دليل إعداد Klaviyo Onsite Tracking](https://help.klaviyo.com/hc/en-us/articles/4425956184731)

***

<div id="option-1-use-ajax-compatibility-fastest-setup">
  ## الخيار 1: استخدام توافق AJAX (أسرع إعداد)
</div>

يتضمن Upcart إعدادًا يستعيد التوافق مع التطبيقات الأخرى من خلال إتاحة سلوك تحديث السلة الأصلي في Shopify. عند تفعيل هذا، يمكن لـ Klaviyo الاستماع مرة أخرى لأحداث الإضافة إلى السلة.

<div id="how-to-enable">
  ## كيفية التفعيل:
</div>

1. انتقل إلى **Upcart > Cart Editor > Settings > Cart settings**
2. مرر إلى **Advanced Settings** ووسّعه
3. حدد **Enhanced Ajax API compatibility**
4. انقر على **Save** واختبر النتيجة

⚠️ **مهم: مفاضلات Enhanced AJAX API Compatibility**\
هذا الإعداد **معطّل افتراضيًا** لمعظم المتاجر. فعّله فقط إذا كان متجرك يستخدم واجهة AJAX cart API غير قياسية ولم يكن Upcart يعترض أحداث الإضافة إلى السلة. عند تفعيله، تكتسب التطبيقات الأخرى مزيدًا من التحكم في سلوك السلة، مما قد يسبب حلقات إعادة توجيه أو يرسل العملاء إلى صفحة سلة Shopify بدلاً من فتح درج Upcart. إذا تسبب تفعيل هذا الإعداد في عمليات إعادة توجيه، فعطّله وانتقل إلى **الخيار 2** بدلاً من ذلك، باستخدام واجهة Upcart API اليدوية (`upcartRegisterAddToCart`).

للحصول على إرشادات كاملة حول هذا الإعداد، راجع [Enhanced AJAX API Compatibility](/ar/upcart/enhanced_ajax_api_compatibility).

***

<div id="option-2-recommended-add-a-custom-klaviyo-script">
  ## الخيار 2 (موصى به): إضافة سكربت Klaviyo مخصص
</div>

تمنحك هذه الطريقة أفضل ما في العالمين، **يبقى Upcart متحكمًا بالكامل**، و**يستمر تتبع Klaviyo في العمل**.

<div id="steps">
  ## الخطوات:
</div>

1. افتح **Upcart > Cart Editor > Settings**
2. مرر لأسفل إلى قسم **Custom HTML**
3. من القائمة المنسدلة، اختر **Scripts (Before Load)**
4. الصق السكربت التالي:

واجهة API الحديثة (موصى بها):

```
<script>
  function TrackATC(){
    var _learnq = window._learnq || [];
    _learnq.push(['track', 'Added to Cart']);
    console.log("Klaviyo ATC");
  }

  window.upcartSubscribeAddedToCart(function(event) { TrackATC(); });
  window.upcartSubscribeUpsellsAddedToCart(function(event) { TrackATC(); });
</script>
```

<Warning>
  الصق الكتلة كاملة، بما في ذلك دالة `TrackATC`. المشترك يستدعيها، لذا فإن مقتطفًا يحتوي فقط على سطري `upcartSubscribe…` يطلق `Uncaught ReferenceError: TrackATC is not defined` عند كل إضافة إلى السلة ولا يرسل شيئًا إلى Klaviyo.
</Warning>

واجهة API القديمة (لا تزال تعمل ولكنها مهملة):

```
<script>  
  function TrackATC(){  
    var _learnq = window._learnq || [];  
    fetch(`${window.location.origin}/cart.js`)  
      .then((res) =>  
        res.clone().json().then((data) => {  
          var cart = {  
            total_price: data.total_price / 100,  
            $value: data.total_price / 100,  
            total_discount: data.total_discount,  
            original_total_price: data.original_total_price / 100,  
            items: data.items,  
          };  
          _learnq.push(['track', 'Added to Cart', cart]);  
          console.log("Klaviyo ATC");  
        }).catch((e) => {  
          console.error('Klaviyo add to cart tracking failed', e);  
        })  
      );  
  }  
  
  window.upcartOnAddToCart = () => { TrackATC(); };  
  window.upcartOnAddUpsell = () => { TrackATC(); };  
</script>
```

***

<div id="what-this-does">
  ## ما يفعله هذا:
</div>

* يرسل حدث "Added to Cart" إلى Klaviyo في أي وقت يُضاف فيه منتج أو عرض بيع إضافي (upsell) باستخدام Upcart
* يضيف رسالة تأكيد (`Klaviyo ATC`) إلى وحدة تحكم المتصفح حتى تعرف أنه يعمل

***

<div id="how-to-test-your-setup">
  ## كيفية اختبار الإعداد
</div>

للتأكد من أن تكامل Klaviyo الخاص بك يعمل بشكل صحيح:

* اتبع [دليل Klaviyo لاختبار أحداث الإضافة إلى السلة](https://help.klaviyo.com/hc/en-us/articles/4425956184731)
* استخدم علامة تبويب **Console** في متصفحك للتحقق من ظهور سجل "Klaviyo ATC" بعد إضافة منتج
* تحقق من لوحة تحليلات Klaviyo بحثًا عن بيانات أحداث ATC

إذا كنت لا تزال لا ترى بيانات التتبع، فتأكد من تثبيت سكربتات Klaviyo داخل الموقع وتفعيلها. للحصول على المساعدة، اتصل بـ [مركز مساعدة Klaviyo](https://help.klaviyo.com/hc/en-us).

***

<div id="summary">
  ## الملخص
</div>

|                                 |                                     |                                       |
| ------------------------------- | ----------------------------------- | ------------------------------------- |
| الطريقة                         | الفوائد                             | متى تُستخدم                           |
| **الخيار 1** – تفعيل توافق AJAX | أسرع إعداد، لا حاجة إلى كود         | عندما لا تتداخل التطبيقات الأخرى      |
| **الخيار 2** – إضافة سكربت مخصص | الأكثر موثوقية، يبقى Upcart متحكمًا | عندما يسبب الخيار 1 إعادة توجيه السلة |

إذا كنت تستخدم Klaviyo وUpcart معًا، فمن المفترض أن يساعدك هذا الدليل في تتبع الأحداث بسلاسة مع الحفاظ على تجربة درج السلة سليمة.

***

هل تحتاج إلى مزيد من المساعدة؟ تواصل معنا عبر الدعم داخل التطبيق.
