هدف زيارات المتجر

لمساعدة نشاطك التجاري على التعامل مع انتشار فيروس كورونا (كوفيد-١٩)، يتم تشغيل هدف زيارات المتجر مع إجراء بعض التغييرات المؤقتة. معرفة المزيد.

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

تعرف على المزيد حول هدف زيارات المتجر، مركز مساعدة الإعلانات.

المواضع

متوفر على فيسبوك لأجهزة الكمبيوتر والهواتف المحمولة (الموجز والقصص وMarketplace) وInstagram (الموجز والقصص).

تحسين العرض

  • تحسين الوصول — متوفر لكل المُعلنين الذين يتمتعون بالوصول إلى واجهة API هذه. ويعمل على تحسين معدل الوصول الفريد اليومي ويعرض "مرات ظهور الإعلان" كأداة القياس الافتراضية في إعداد تقارير مدير الإعلانات.

إنشاء إعلانات كتالوج Advantage+‎

لإنشاء إعلانات كتالوج Advantage+‎ لهذا الهدف، يجب أن تستخدم صفحتك مواقع Facebook.

المتطلبات

  • يجب تعيين objective في الحملات الإعلانية إلى STORE_VISITS.
  • يجب تعيين promoted_object في الحملات الإعلانية إلى <PARENT_PAGE_ID> المطابق.
  • يجب أن تحتوي المجموعة الإعلانية promoted_object وtargeting على المعرف place_page_set_id لـ <PAGE_SET_ID>
  • يجب تعيين المجموعة الإعلانية optimization_goal إلى REACH
  • يحب أن يكون billing_event للمجموعة الإعلانية بالقيمة IMPRESSIONS

الخطوة الأولى. إنشاء PageSet

يستخدم Facebook المجموعة PageSet لاستهداف الإعلانات ويستخدمها ككائن مروّج له في إعلانك.

لإنشاء PageSet:

  1. قم بتجميع مواقع المتجر وهي صفحات Facebook لكل موقع متجر والمواقع الخاصة بالنشاط التجاري الأساسي. يُعرف نشاطك التجاري الأساسي على أنه صفحة أساسية.
  2. أنشئ بنية بتنسيق لغة JSON للمواقع لتمثيل كل مواقعك.
  3. أنشئ PageSet مع بنية بتنسيق لغة JSON للمواقع.

تجميع كل مواقع المتجر

يمثل <PARENT_PAGE_ID> معرف الصفحة الخاص بالصفحة الأساسية لكل مواقع المتجر. ويعمل على استرداد كل صفحات ومواقع المتجر التي تنتمي إلى الصفحة الأساسية ويقوم بإرجاع خط الطول وخط العرض لكل موقع:

curl -X GET \
  -d 'fields="location{latitude,longitude},is_permanently_closed"' \
  -d 'limit=30000' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v20.0/{page-id}/locations

مثال على الإخراج

{
    "data": [
        {
            "location": {
                "latitude": 29.173384,
                "longitude": 48.098807
            },
            "is_permanently_closed": false,
            "id": "1788030244802584"
        },
        {
            "location": {
                "latitude": 29.303635,
                "longitude": 47.937725
            },
            "is_permanently_closed": false,
            "id": "261533444245300"
        },
        {
            "location": {
                "latitude": 29.302303,
                "longitude": 47.933178
            },
            "is_permanently_closed": false,
            "id": "179435399132774"
        },
        {
            "location": {
                "latitude": 29.302591,
                "longitude": 47.931801
            },
            "is_permanently_closed": false,
            "id": "1790317704582144"
        }
    ],
    "paging": {
        "cursors": {
            "before": "MTc4ODAzMDI0NDgwMjU4NAZDZD",
            "after": "MTA4MTU4NjU5NjA5MDA4"
        }
    }
}

إنشاء بنية بتنسيق لغة JSON للمواقع

يمكنك تكرار كل إدخال في النتائج التي تم إرجاعها والتحقق من فتح كل موقع للنشاط التجاري من خلال التحقق من الحقل is_permanently_closed.

احصل على نطاق الأميال المقدّر من خلال إجراء طلبي GET للحصول على المعلمتين radius وdistance_unit. وبدلاً من ذلك، يمكنك إجراء استدعاء واجهة API الدُفعة لإنشاء القيم أدناه.

الطلبات الفردية

يجب عليك إجراء هذا الطلب باستخدام كل خط طول وخط عرض خاص بصفحة المتجر من النتائج التي تم إرجاعها من الصفحة الأساسية بلغة JSON. ويعمل ذلك على إرجاع نطاق الأميال المقدّر لكل موقع.

curl -X GET \
  -d 'type="adradiussuggestion"' \
  -d 'latitude=51.5152253' \
  -d 'longitude=-0.1423029' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v20.0/search/

الطلبات المُجمعة

كما يمكنك تجميع طلبات متعددة في طلب واحد.

curl \
  -F "access_token=<ACCESS_TOKEN>" \
  -F "include_headers=false" \
  -F "batch=[
    {
      \"method\": \"GET\",
      \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&amp;latitude=29.173384&amp;longitude=48.098807\"
    },
    {
      \"method\": \"GET\",
      \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&amp;latitude=29.303635&amp;longitude=47.937725\"
    }
  ]" \
  "https://graph.facebook.com"
بنية تنسيق بلغة JSON للمواقع للنهائية

استخدم المعلمتين radius وdistance_unit اللتين تم الحصول عليهما من الاستدعاءات السابقة بجانب <CHILD_LOCATION_ID> لكل موقع باعتبارهما معرف page_id لإنشاء بنية بتنسيق لغة JSON للمواقع النهائية.

[
    {
      "page_id": 1788030244802584,
      "radius": 1,
      "distance_unit": "mile"
    },
    {
      "page_id": 261533444245300,
      "radius": 1,
      "distance_unit": "mile"
    }
]

أنشى Pageset مع بنية بتنسيق لغة JSON للمواقع

لا تتوفر نقطة النهاية PageSet حاليًا إلا للشركاء الموجودين في قائمة السماح. لذا يرجى التواصل مع ممثل Facebook الذي تتعامل معه لإمكانية الوصول.

يمكنك الآن إنشاء PageSet مع المعلومات في بنية بتنسيق لغة JSON للمواقع.

الحد الأقصى لعدد المواقع التي يمكن استخدامها في PageSet هو 10000.

الطلبات غير المتزامنة

يمكنك إجراء طلب غير متزامن لإنشاء PageSet. ويتيح لك ذلك إنشاء مجموعات PageSets كبيرة تضم أكثر من 1000 موقع بدون التعرض لحالات انتهاء المهلة. ونوصيك باستخدام الطلبات غير المتزامنة عند إنشاء Pageset تضم أكثر من 50 موقعًا.

الطلب

curl -X POST \
  -d 'name=test_2' \
  -d 'parent_page=ID_1' \
  -d 'pages=[{\'page_id':ID_2}]' \
  -d 'metadata={"audience":{"size":5000}}' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets_async/

ملاحظة: يمكنك استخدام /ad_place_page_setsللطلبات المتزامنة؛ ومع ذلك، يجب استخدام الطلبات غير المتزامنة لأكثر من 50 موقعًا.

تتطابق تنسيقات المعلمات مع التنسيقات التي تستخدمها للطلبات المتزامنة.

داخل PageSet، يمكنك استخدام الحقل metadata لتحديد نطاق أميال ثابت لكل موقع لعرض الإعلانات أو للوصول إلى حجم جمهور معين. إذا حددت الخيار الأخير، فسيحسب فيسبوك تلقائيًا نطاق الأميال لكل موقع للوصول إلى عدد حسابات "مركز الحسابات".

في هذا المثال، يتم تعيين الحقل metadata إلى حجم audience مطلوب (موضح أدناه). ويمكنك الاطلاع على metadata لنطاقات نصف القطر. ويؤدي ذلك إلى إرجاع المعرف ad_place_page_set_async_request.

{
  "id": "405738580111111"
}      

يمكنك لاحقًا الاستعلام عن هذا المعرف باستخدام الإذن ads_read للحصول على المعرف PageSet.

curl -i -X GET \
 "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"

الاستجابة

{
  "id": "405738580111111", 
  "place_page_set": {
    "id": "555555791481678",
    "name": "test_2"
  },
  "progress": 1
}

تتغير قيمة progress من 0.0 إلى 1 وتعني القيمة 1 أننا أكملنا طلبك وأنشأنا PageSet.

استخدام metadata لنطاقات الأميال

يخبر الحقل metadata Facebook بأنك تريد استخدام نطاق أميال ثابت لمواقعك أو تريد من Facebook حساب نطاق الأميال لكل موقع تلقائيًا استنادًا إلى حجم جمهور معين.

المثال

لتحديد نطاق أميال ثابت باستخدام طلب متزامن:

curl -X POST \
  -d 'name=test_2' \
  -d 'parent_page=238219010666666' \
  -d 'pages=[{\'page_id':405936056444444}]' \
  -d 'metadata={"fixed_radius":{"value":5,"distance_unit":"mile"}}' \
  -d 'access_token=ACCESS_TOKEN' \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/"

يعني ذلك أنك تريد من فيسبوك عرض إعلانك على الأشخاص الموجودين نطاق 5 أميال لكل المواقع في PageSet.

الاستجابة

 {
  "id": "1618547271777777"
}

ملاحظة: يجب تعيين الحقل metadata إما إلى fixed_radius أو audience.

إذا كنت تستخدم fixed_radius، فيجب توفير distance_unit وvalue:

{
  "fixed_radius": {
     "distance_unit": "<distance_unit>"
     "value": <distance>
  }
}

إذا كنت تستخدم audience، فيجب تقديم size بينما يكون max_radius اختياريًا:

 {
  "audience": {
     "size": <audience size>
     "max_radius": { // optional
       "distance_unit": "<distance_unit>"
       "value": <distance>
     }
  }
}

أفضل ممارسات metadata

  • يجب أيضًا تقديم locations؛ ومع ذلك، لا تحدد نطاق أميال فيه. وبدلاً من ذلك، إذا كنت تستخدم المعلمة locations وتوفر نطاقات أميال، فيجب ألا توفرها أيضًا لـ metadata.
  • يجب أن يكون distance_unit بالقيمة mile أو kilometer، ويجب أن تتراوح القيمة value بين 0.7 و50 لـ mile أو 1 و80 لـ kilometer.
  • تمثل المعلمة size في audience عدد حسابات "مركز الحسابات" في نطاق الأميال طالما كان طول نطاق الأميال يتراوح بين 1 و80 كم. وإذا قدمت max_radius، سيختلف نطاق الأميال الفعلي الذي نحسبه بين 1 وmax_radius.
  • إذا كنت قد حددت audience لـ metadata، فيجب إجراء طلب باستخدام نقطة نهاية غير متزامنة (ad_account_ID/ad_place_page_set_async).

الطلبات المتزامنة

لا يزال يمكنك استخدام الطلبات المتزامنة لإنشاء PageSet.

curl -X POST \
  -d "name=My Grand Pageset" \
  -d "parent_page=<PARENT_PAGE_ID>" \
  -d "pages=<LOCATIONS_JSON_STRUCTURE>" \
  -d "access_token=<ACCESS_TOKEN>" \
 https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets

يعمل ذلك على إرجاع معرف PageSet الذي ستستخدمه لاحقًا.

{
  "id": <PAGE_SET_ID>
}

إذا كان عدد الصفحات كبيرًا للغاية لاستدعاء cURL، فيمكنك إنشاء ملف نصي يحتوي على بنية بتنسيق لغة JSON للمواقع وإدخاله في إسناد pages مع -F "pages=&lt;locations_json_structure.txt".

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

يمكنك إنشاء حملة إعلانية مع الهدف الذي تم تعيينه إلى STORE_VISITS ومعرف صفحتك الأساسية باعتباره الكائن الذي تم الترويج له.

يمكنك الاطلاع على الحملة الإعلانية، المرجع.

الخطوة الثالثة: إنشاء مجموعة إعلانية

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

عند وقت العرض، يبطل فيسبوك أي مواقع تستهدف الإعلانات التي تبعد أكثر من 50 ميلاً عن أقرب موقع صفحة والمعروفة باسم صفحة محلية.

curl \
  -F 'name=Store Visits Ad Set' \
  -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \
  -F 'optimization_goal=STORE_VISITS' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'is_autobid=true' \
  -F 'daily_budget=1000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F "targeting={
    'place_page_set_ids': ['<PAGE_SET_ID>'],
    'device_platforms': ['mobile','desktop'],
    'facebook_positions': ['feed']
   }" \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets

الاستهداف الجغرافي

يمكنك أيضًا الاستهداف من خلال geo_locations في حملات زيارات المتجر الإعلانية.

ملاحظة: بالنسبة لهذا الهدف، يمكنك فقط استخدام geo_locationsأوplace_page_set_ids في استهداف المجموعة الإعلانية.

ندعم كل أنواع استهداف geo_location في الموضع والاستهداف المتقدم، بما في ذلك الاستهداف حسب البلدان والمدن والرموز البريدية. ويمكنك أيضًا تحديد location_types، مثل recent أو home أو travel_in.

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

أولاً، أنشئ PageSet التي ستقدمها لاحقًا في كائن تم ترويجه:

curl -X POST \
  -d "name=My geo targeting page set" \
  -d "parent_page=<PARENT_PAGE_ID>" \
  -d "access_token=<ACCESS_TOKEN>" \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/

ملاحظة: لا تحتاج إلى توفير المعلمة pages كما هو معتاد.

وبعد ذلك، أنشئ مجموعة إعلانية بهدف زيارات المتجر والتي تستهدف geo_locations:

curl \
  -F 'name=Store Traffic Ad Set' \
  -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \
  -F 'optimization_goal=STORE_VISITS' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'is_autobid=true' \
  -F 'daily_budget=1000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F "targeting={
    'geo_locations': {"countries":["US"],"location_types": ["home"]}, 
    'device_platforms': ['mobile','desktop'],
    'facebook_positions': ['feed']
  }" \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets

نعرض تلقائيًا الإعلانات للمتجر الأقرب للشخص الذي يشاهد إعلانك.

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

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

العناصر النائبة المتوفرة:

  • {{page.hours.today}}
  • {{page.location.city}}
  • {{page.location.region}}
  • {{page.location.postcode}}
  • {{page.location.street_address}}
  • {{page.name}}
  • {{page.phone_number}}

يتيح لك الحقل dynamic_ad_voice التحكم في وجهة إعلانك:

  • إذا تم تعيين dynamic_ad_voice إلى DYNAMIC، فسيتم توفير اسم الصفحة وصورة الملف الشخصي الموجودة في منشور الإعلان من أقرب موقع صفحة.
  • إذا تم تعيين dynamic_ad_voice إلى STORY_OWNER، فسيتم توفير اسم الصفحة وصورة الملف الشخصي الموجودة في منشور الإعلان من موقع الصفحة الأساسية.

الدعوة لاتخاذ إجراء

يمكنك أيضًا إضافة أزرار الدعوة لاتخاذ إجراء (CTA) ديناميكيًا استنادًا إلى موقع الشخص:

  • عند استخدام GET_DIRECTIONS أو CALL_NOW، لا يلزم توفير الحقل value للدعوة لاتخاذ إجراء. وسيتم توجيه المستخدمين تلقائيًا إلى أقرب موقع أو ستتم مطالبتهم بالاتصال برقم هاتف أقرب موقع.
  • مسموح فقط باستخدام MESSAGE_PAGE إذا تم تعيين dynamic_ad_voice إلى STORY_OWNER. وستظهر الرسائل على الصفحة الأساسية.
  • الحقل الاختياري. وإذا لم يتم التحديد للإعلانات الفردية، فسنعرض الزر Like Page.

للحصول على تفاصيل، يمكنك الاطلاع على المرجع، تصميم الإعلان

النوع dynamic_ad_voice النوع call_to_action

DYNAMIC

CALL_NOW


GET_DIRECTIONS

STORY_OWNER

CALL_NOW


GET_DIRECTIONS


LEARN_MORE


MESSAGE_PAGE


ORDER_NOW


SHOP_NOW

أمثلة

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

curl \
  -F 'dynamic_ad_voice=DYNAMIC' \
  -F 'object_story_spec={ 
    "page_id": "<PARENT_PAGE_ID>", 
    "template_data": { 
      "description": "Ad Description", 
      "link": "<URL>", 
      "message": "Ad Message for {{page.location.city}}", 
      "name": "{{page.name}}", 
      "picture": "<IMAGE_URL>" 
    } 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives

تصميم إعلان مع بطاقة خريطة

لاستخدام بطاقة خريطة، أضف بنية place_data كمرفق في الحقل child_attachments لتصميم إعلانك.

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

curl \
  -F 'dynamic_ad_voice=DYNAMIC' \
  -F 'object_story_spec={ 
    "page_id": "<PARENT_PAGE_ID>", 
    "template_data": { 
      "description": "Ad Description", 
      "link": "<URL>", 
      "message": "Ad Message for {{page.location.city}}", 
      "name": "{{page.name}}", 
      "child_attachments":[
        {
          "description": "Come visit us!",
          "link": "http://yourweburl.com",
          "name": "{{page.location.street_address}} - {{page.location.city}}",
          "call_to_action": {
            "type":"GET_DIRECTIONS"
          },
        },
        {
          "link": "https://fb.com/store_locator",
          "name": "Check out our stores.",
          "place_data": {
            "type":"DYNAMIC"
          },
        }
      ]
    } 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives

محدد موقع المتجر، وجهة الرابط

عند تصميم إعلان، إذا تم تعيين link إلى 'https://fb.com/store_locator'، فسيظهر الإعلان مع محدد مواقع المتجر كوجهة الرابط.

الخطوة الخامسة: إنشاء إعلان

يمكنك إنشاء إعلان كما يلي:

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

لإنشاء إعلانات لزيارات المتجر، يجب الموافقة على الصفحة والحساب الإعلاني لقياس زيارات المتجر. وبخلاف ذلك، يظهر خطأ مشابه لـ Reach estimate isn't available because 'store_visits' isn't a valid action type.

قياس زيارات المتجر

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

تستند زيارات المتجر إلى نقرات ومشاهدات الإعلانات باستخدام هدف زيارات المتجر. وهي عدد تقديري لزيارات متاجر المُعلن من خلال حسابات "مركز الحسابات" شاهدوا أو نقروا على إعلانات كل متجر. يمكنك تكوين فترة الإسناد حيث يمكنك اختيار تخصيصها حسب النقرات أو المشاهدات على مدار يوم واحد أو 7 أيام أو 28 يوم. ويتم تطبيق الإسناد الافتراضي للحساب الإعلاني ما لم تقم بتخصيص التكوين. يمكنك الاطلاع على واجهة API الرؤى، فترة الإسناد.

تتعلق الميزات بإعداد تقارير العناصر التالية:

  • زيارات المتجر — تمثل عدد الزيارات التقديرية إلى المتجر كنتيجة للإعلانات.
  • التكلفة لكل زيارة متجر — تمثل متوسط التكلفة لكل زيارة تقديرية إلى المتاجر كنتيجة للإعلانات.

باستخدام مدير الإعلانات

يمكنك الاطلاع على الأعمدة ضمن ENGAGEMENT: ACTIONS. وتظهر هذه الأعمدة في واجهة إعداد التقارير لزيارات المتجر والتكلفة لكل زيارة متجر.

ملاحظة: لا تتوفر بيانات زيارة المتجر إلا للمتاجر التي يعتمدها فريق Facebook كمتاجر قابلة للقياس للحملة الإعلانية.

باستخدام واجهة API الرؤى

يمكنك الحصول على بيانات حول زيارات المتجر من واجهة API الرؤى. ونقدم هذه الحقول الإضافية في اثنين من استدعاءات الرؤى العامة: cost_per_store_visit_action وstore_visit_actions. يمكنك الاطلاع على الرؤى، المرجع.

المعلمات

الحقلالوصف
point_estimate
int32

The point prediction of the value