بدء الاستخدام

أنشئ إعلانك الأول باستخدام واجهة API التسويق من خلال اتباع الخطوات التالية.

قبل البدء

يجب أن تتعرف على واجهة Graph API وبنية الحملة الإعلانية في Facebook. وبمجرد أن تصبح مستعدًا لبدء إجراء الاستدعاءات، ستحتاج إلى ما يلي:

بعد ذلك، يمكنك بدء الاستخدام. وتذكّر الرجوع إلى أفضل الممارسات العامة لاستخدام واجهة API التسويق.

الخطوة الأولى: إنشاء حملة إعلانية

ابدأ العملية بإنشاء كائن حملة إعلانية جديد من الفئة Campaign. وفي هذه المرحلة، تحتاج إلى تحديد هدف لإعلاناتك يمثل الهدف العام لحملتك الإعلانية. ونوصيك بإنشاء حملة إعلانية بالحالة PAUSED مبدئيًا بحيث لا تتم محاسبتك أثناء الاختبار.

curl -X POST \
  -F 'name="My campaign"' \
  -F 'objective="OUTCOME_TRAFFIC"' \
  -F 'status="PAUSED"' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/campaigns

عند نجاح العملية، نقوم بإرجاع معرف لحملتك الإعلانية التي تم إنشاؤها حديثًا. وتذكّر حفظ هذا المعرف. كما يمكنك التحقق من إنشاء حملتك الإعلانية في مدير الإعلانات.

الموارد:

الخطوة الثانية: تحديد الاستهداف

قبل الانتقال لإنشاء مجموعاتك الإعلانية، يجب عليك تحديد جمهورك المستهدف. وفي الخطوة التالية، ستنشئ مجموعة إعلانية وستحدد سمات جمهورك.

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

أولاً، لنبحث عن البلدان المتوفرة التي تتضمن كلمة "united" (متحدة):

curl -G \
  -d 'location_types=["country"]' \
  -d 'type=adgeolocation' \
  -d 'q=united' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/search

بعد ذلك، يمكننا البحث عن الاهتمامات التي تتضمن الكلمة "movie" (أفلام):

curl -G \
  -d 'type=adinterest' \
  -d 'q=movie' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/search

استنادًا إلى القيم التي تم إرجاعها من الاستدعاءات السابقة، نعلم أنه يمكننا إنشاء جمهور يضم الأشخاص المهتمين بالأفلام ويقيمون في الولايات المتحدة. وتبدو مواصفات الاستهداف كما يلي:

targeting={ 
    "geo_locations": {"countries":["US"]}, 
    "interests": [{id: 6003139266461, 'name': 'Movies'}]
}

الخطوة الثالثة: إنشاء مجموعة إعلانية وتحديد الميزانية والفوترة والتحسين والمدة

تُعد المجموعة الإعلانية بمثابة مجموعة من الإعلانات التي تشارك الميزانية اليومية أو ميزانية الحملة كلها والجدول الزمني والفوترة والتحسين وبيانات الاستهداف نفسها. وفي هذه الخطوة، تحتاج إلى إنشاء كائن جديد من الفئة AdSet وتحديد ما يلي:

  • المدة: تمثل المدة التي سيتم خلالها تشغيل إعلاناتك. ويمكنك تحديدها باستخدام start_time وend_time.
  • الميزانية: يمثل المبلغ الذي تريد إنفاقه. ويمكنك استخدام daily_budget أو lifetime_budget.
  • التحسين: يمثل النتيجة التي تسعى إلى تحقيقها من خلال إعلانك. ويمكنك الإعداد باستخدام optimization_goal.
  • الفوترة: تمثل الطريقة التي تريد الدفع من خلالها. ويمكنك استخدام billing_event.
  • عرض الأسعار: يمثل القيمة التي تحددها عند إجراء حدث التحسين لديك. ويمكنك استخدام الحقل bid_amount.
  • الاستهداف: يمكنك استخدام مواصفات الاستهداف التي تم إنشاؤها في الخطوة الثانية.

لإنشاء مجموعتك الإعلانية، تحتاج أيضًا إلى معرف الحملة الإعلانية الذي حفظته أثناء إجراء الخطوة الأولى:

curl \
  -F 'name=My Ad Set' \
  -F 'optimization_goal=REACH' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'bid_amount=2' \
  -F 'daily_budget=1000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]}, "interests": [{id: 6003139266461, "name": "Movies"}]}' \
  -F 'start_time=2024-10-06T04:45:17+0000' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets

نوصي بإنشاء مجموعة إعلانية بالحالة PAUSED لتجنب تحصيل أي رسوم أثناء الاختبار.

الخطوة الرابعة: توفير تصميم الإعلان

المستندات المرجعية

في هذه الخطوة، ستستخدم الكائن AdCreative لتوفير العناصر المرئية الخاصة بإعلانك. وتعتمد المعلومات التي تحتاج إلى توفيرها على هدفك، ولكن تتوفر السمات الشائعة التالية:

  • الصور ومقاطع الفيديو
  • العنوان والوصف
  • الروابط
  • أزرار الدعوة لاتخاذ إجراء

استنادًا إلى الهدف الذي تستخدمه، قد تحتاج إلى توفير حقول متقدمة. فعلى سبيل المثال، تتطلب الإعلانات في تطبيق بنظام iOS توفير عنوان URL لمتجر التطبيقات.

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

مثال

يوضح هذا المثال كيفية توفير صورة، وإنشاء الكائن AdCreative.

أولاً، أنشئ الكائن AdImage من ملف صورة:

curl \
  -F 'filename=@<IMAGE_PATH>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adimages

بعد ذلك، استخدم تجزئة الصورة لإنشاء AdCreative:

curl -X POST \
  -F 'name="Sample Creative"' \
  -F 'object_story_spec={
       "page_id": "<PAGE_ID>",
       "link_data": {
         "image_hash": "<IMAGE_HASH>",
         "link": "https://facebook.com/<PAGE_ID>",
         "message": "try it out"
       }
     }' \
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_IN"
        }
      }
    }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives

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

في هذه المرحلة، لا يمكن رؤية AdCreative والرابط في مدير الإعلانات. وتظهر لك هذه البيانات بمجرد أن تحجز إعلانك. كما يمكنك تصحيح الأخطاء في تصميم إعلانك باستخدام مستكشف واجهة Graph API وتحديد أي حقول تريد قراءتها:

GET /{my-creative-id} HTTP/1.1
Host: graph.facebook.com/?fields=object_story_spec

الخطوة الخامسة: جدولة العرض

أخيرًا، أنشئ الكائن إعلان لربط AdCreative وAdSet. وحاول تعيين status في Ad إلى paused لتجنب تقديم طلب بشكل فوري.

curl -X POST \
  -F 'name="My Ad"' \
  -F 'adset_id="&lt;AD_SET_ID&gt;"' \
  -F 'creative={
       "creative_id": "<CREATIVE_ID>"
     }' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/ads

تحقق من وجود إعلانك في مدير الإعلانات. وانقر على الحملة الإعلانية التي أنشأتها للتو، ثم على المجموعة الإعلانية وعلى الإعلان.

بمجرد أن تشعر بالراحة حيال الانتهاء من حجز الإعلانات باستخدام واجهة API، يمكنك تعيين الحالة إلى active. وأولًا، يخضع الإعلان لعملية مراجعة الإعلانات ويتم تعيينه إلى الحالة PENDING_REVIEW. وبمجرد الانتهاء من مراجعته، تتم إعادته إلى الحالة ACTIVE.

نسخ الإعلانات

بدلًا من ذلك، يمكنك نسخ إعلان أو أصل أو حملة إعلانية حالية. ويساعدك ذلك في تكرار حملة إعلانية سريعًا لتغيير التكوينات أو إنشاء مجموعات اختبارية لاستخلاص المعلومات المتعلقة بالأداء. ولمزيد من التفاصيل، يمكنك الرجوع إلى: