يصف هذا المستند كيفية استخدام API التسويق لإنشاء إعلانات تجميع بيانات العملاء المحتملين باستخدام Graph API.
لإنشاء إعلان تجميع بيانات عملاء محتملين ونشره، ستتبع الخطوات التالية:
يفترض هذا الدليل أنك قد قرأت نظرة عامة على منصة Messenger ونفذت المكونات اللازمة لإرسال الرسائل والإشعارات وتلقيها.
ستحتاج إلى ما يلي:
ADVERTISE
في الصفحةلإنشاء حملة إعلانية مخصصة لإعلانات تجميع بيانات العملاء المحتملين، أرسل طلب POST
إلى نقطة النهاية /
act_AD_ACCOUNT_ID
/campaigns
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةbuying_type
يتم تعيينها على AUCTION
name
يتم تعيينها على اسم الحملة الإعلانيةobjective
يتم تعيينها على LEAD_GENERATION
status
على PAUSED
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/campaigns" \
-H "Content-Type: application/json" \
-d '{
"access_token":"YOUR_PAGE_ACCESS_TOKEN",
"buying_type":"AUCTION",
"name":"YOUR_LEADADS_CAMPAIGN_NAME",
"objective":"OUTCOME_LEADS",
"special_ad_categories":["NONE"],
"status":"PAUSED"
}'
عند نجاح العملية، سيتلقى التطبيق كائن JSON يتضمن معرف الحملة الإعلانية. سيتم استخدام هذا المعرف عند إنشاء مجموعة إعلانية في الخطوة التالية.
{ "id": "YOUR_CAMPAIGN_ID" }
تفضل بزيارة مرجع الحملات الإعلانية لمعرفة المزيد.
لإنشاء مجموعة إعلانية، أرسل طلب POST
إلى نقطة النهاية act_ad_account_id/adsets
حيث يكون ad_account_id هو معرف حسابك الإعلاني على Meta. يجب أن يتضمن طلبك:
access_token
يتم تعيينها على رمز وصول الصفحةbid_amount
يتم تعيينها على الحد الأقصى للمبلغ الذي تريد دفعهbilling_event
يتم تعيينها على IMPRESSIONS
campaign_id
يتم تعيينها على معرف الحملة الإعلانية من الخطوة الأولىdaily_budget
يتم تعيينها على المبلغ الذي تريد إنفاقه يوميًاname
يتم تعيينها على اسم المجموعة الإعلانيةoptimization_goal
يتم تعيينها على LEAD_GENERATION
أو QUALITY_LEAD
destination_type
يتم تعيينها على PHONE_CALL
promoted_object
– يتم تعيينها على المعرف في صفحة النشاط التجاري على فيسبوكstatus
على PAUSED
ملاحظة: إذا تم إعداد مصدر بيانات إدارة علاقات العملاء واختيار QUALITY_LEAD
كهدف تحسين، فيمكنك إضافة pixel_id
إلى promoted_object
لتحسين الجودة بشكل أكبر. لاحظ أنك لا تحتاج إلى توفير pixel_rule
جنبًا إلى جنب مع pixel_id
.
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/adsets"
-H "Content-Type: application/json"
-d '{
"access_token":"YOUR_PAGE_ACCESS_TOKEN",
"bid_amount":"YOUR_BID_AMOUNT",
"billing_event":"IMPRESSIONS",
"campaign_id":"YOUR_CAMPAIGN_ID",
"daily_budget":"YOUR_DAILY_BUDGET",
"name:"YOUR_LEADADS_ADSET_NAME",
"optimization_goal":"LEAD_GENERATION",
"destination_type":"ON_AD",
"promoted_object":"YOUR_PAGE_ID",
"status":"PAUSED"
}'
عند نجاح العملية، يتلقى التطبيق استجابة JSON التالية والتي تتضمن معرف المجموعة الإعلانية.
{ "id": "YOUR_ADSET_ID" }
تفضل بزيارة مرجع المجموعات الإعلانية لمعرفة المزيد.
لإنشاء نموذج، أرسل طلب POST
إلى نقطة النهاية /
PAGE_ID
/leadgen_forms
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةname
إلى اسم النموذجquestions
إلى مصفوفة من الكائنات التي تحدد نوع الأسئلة وترتيب الظهور في النموذج باستخدام المعلمة key
label
options
مع قائمة منسدلة من الإجابات
curl -X POST "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms" \
-H "Content-Type: application/json" \
-d '{
"access_token": "YOUR_PAGE_ACCESS_TOKEN",
"name": "YOUR_LEADADS_FORM_NAME",
"questions": "[
{"type":"FULL_NAME", "key": "question1"},
{"type":"EMAIL", "key": "question2"},
{"type":"PHONE", "key": "question3"},
{"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
{"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?",
"options": [
{value: "Red", key: "key1"},
{value: "Green", key: "key2"},
{value: "Blue", key: "key2"},
]}
]"
}'
يجب أن تحتوي النماذج التي تريد استخدامها في إعلان في محادثة على Messenger على ما يلي:
questions.type
إلا على إحدى القيم التالية:
|
|
|
إذا كان النموذج يتضمن معلمة questions.type
تم تعيينها على أي قيمة أخرى بخلاف القيم المدرجة، فسيكون النموذج غير مؤهل.
block_display_for_non_targeted_viewer
على false
. سيحدد ذلك النموذج باعتباره متوفر للمشاركة.
curl -X POST "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms" \
-H "Content-Type: application/json" \
-d '{
"access_token": "YOUR_PAGE_ACCESS_TOKEN"
"block_display_for_non_targeted_viewer": "false"
"name": "LeadAds Form for Messenger Conversation Name"
"questions": "[
{"type":"FULL_NAME", "key": "question1"},
{"type":"EMAIL", "key": "question2"},
{"type":"PHONE", "key": "question3"},
{"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
{"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?",
"options": [
{value: "Red", key: "key1"},
{value: "Green", key: "key2"},
{value: "Blue", key: "key2"},
]}
]"
}'
بالإضافة إلى أنواع الأسئلة النموذجية الموضحة في [Create a Lead Form section]{#create-a-lead-form}، يمكنك إضافة المزيد من أنواع الأسئلة المخصصة لحالات الاستخدام التالية:
يعرض سؤال تحديد الموعد أداة تحديد التاريخ والوقت مع إمكانية محدودة لتحديد الساعات ورسالة تأكيد أسفل السؤال.
لإضافة سؤال تحديد موعد، أضف كائن السؤال مع تعيين المعلمة type
على DATE_TIME
. يمكنك أيضًا إضافة رسالة تأكيد اختياريًا في المعلمة inline_context
والتي سيتم عرضها مباشرةً أسفل حقل السؤال لتوفير مزيد من السياق إذا لزم الأمر.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
يعرض سؤال معرف الهوية القومية سؤالاً استنادًا إلى بلد الشخص ويتحقق من تنسيق المعرف الذي تم إدخاله. يمكن عرض هذا السؤال للبلدان التالية:
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
لإضافة سؤال عن الهوية القومية، أضف كائن سؤال مع تعيين المعلمة type
إلى نوع بلد الشخص.
DNI
من بيرو، فيجب أن يقتصر جمهورك المستهدف على بيرو. يتم اعتماد الإعلانات التي تطابق هذه المعايير فقط.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
يعرض سؤال محدد مواقع المتاجر أداةً لتحديد محدد مواقع المتاجر استنادًا إلى إدخال الرمز البريدي للشخص.
ستحتاج إلى إعداد بنية صفحات المتاجر لاستخدام هذا السؤال. تعرف على كيفية إجراء ذلك في إعداد بنية صفحات المتاجر على فيسبوك – مركز مساعدة الأعمال من Meta
لإضافة سؤال حول محدد مواقع المتاجر، أضف كائن سؤال مع تعيين المعلمة type
على STORE_LOOKUP
وتعيين المعلمة context_provider_type
على LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
يمكنك الحصول على بيانات عملاء محتملين بجودة أعلى عن طريق إضافة واحد أو أكثر من إعدادات النموذج التالية:
لمساعدتك في تتبع مصدر بيانات العملاء المحتملين، أضف الحقل tracking_parameters
، وقم بتعيينه على قائمة بأزواج المفتاح والقيمة للمعلمات التي تريد تتبعها، في النموذج. لا تظهر هذه المعلمات في الإعلان ولكنها تسمح لـ Meta بتوفير بيانات تعريفية لك حول بيانات العملاء المحتملين التي تم تجميعها من النموذج.
... "name": "YOUR_LEADADS_FORM_NAME", "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"}, "questions": "[ ...
بشكل افتراضي، يتم تحسين إعلانات تجميع بيانات العملاء المحتملين على حسب حجم تجميع بيانات العملاء المحتملين، ومع ذلك، يمكنك إنشاء نماذج تؤدي إلى تجميع بيانات العملاء المحتملين الذين لديهم نية أعلى. يمكن أن تكون هذه الأنواع من بيانات العملاء المحتملين مرتبطة بالأشخاص الذين قد يكونوا مهتمين بمنتج أو خدمة معينة، مثل حجز اختبار قيادة لدى وكالة بيع السيارات. يضيف إعداد النموذج هذا خطوة إلى دفق إرسال النموذج حيث يراجع الشخص إجاباته ويؤكدها قبل إرسال النموذج.
لإضافة دفق التأكيد هذا إلى النموذج، أضف المعلمة is_optimized_for_quality
مع تعيينها على true
عند إنشاء النموذج.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
فلترة العملاء المحتملين من الوصول العادي، أضف المعلمة block_display_for_non_targeted_viewer
مع تعيينها على true
عند إنشاء النموذج.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على معرف النموذج الذي سيتم استخدامه عند إنشاء الإعلان.
{ "id": "leadgen_form_id", }
لإنشاء تصميم إعلان يتضمن صورة والنموذج المتوفر لديك، أرسل طلب POST
إلى نقطة النهاية /act_AD_ACCOUNT_ID/adcreatives
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةobject_story_spec
التي تتضمن كائن link_data
يحتوي على المعلمات التالية:
call_to_action
يتم تعيينها على كائن يحتوي على type
وvalue
يتم تعيينها على معرف نموذج بيانات العميل المحتملdescription
يتم تعيينها على وصف التصميمimage_hash
يتم تعيينها على تجزئة الصورة الموجودة في تصميم الإعلانmessage
يتم تعيينها على النص الموجود في تصميم الإعلانpage_id
يتم تعيينها على معرف صفحة فيسبوك لديكملاحظة: أثناء إنشاء link_data
، يمكن أن تكون القيمة المرتبطة بالحقل link
عبارة عن https//fb.me/
فقط.
يجب تعيين المعلمة link_data.call_to_action
على إحدى القيم التالية:
APPLY_NOW
DOWNLOAD
GET_QUOTE
LEARN_MORE
SIGN_UP
SUBSCRIBE
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/act_AD_ACCOUNT_ID/adcreatives" \ -H "Content-Type: application/json" \ -d '{ "access_token":"YOUR_PAGE_ACCESS_TOKEN", "object_story_spec":{ "link_data": { "call_to_action": { "type":"SIGN_UP", "value":{ "lead_gen_form_id":"YOUR_FORM_ID" } }, "description": "YOUR_AD_CREATIVE_DESCRIPTION", "image_hash": "YOUR_IMAGE_HASH", "link": "http:\/\/fb.me\/", "message": "YOUR_AD_CREATIVE_MESSAGE" }, "page_id": "YOUR_PAGE_ID" }'
يمكنك إنشاء إعلان تجميع بيانات عملاء متحملين يحتوي على إعلان دوّار باستخدام معلمة object_story_spec
نفسها، ولكن مع توفير حقل lead_gen_form_id
إضافي يتم تحديده في المعلمة child_attachments
.
لا يمكنك سوى تحديد <FORM_ID>
نفسه لجميع المرفقات التابعة.
curl \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "link_data": { "message": "My description", "link": "http:\/\/www.google.com", "caption": "WWW.EXAMPLE.COM", "child_attachments": [ { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} } ], "multi_share_optimized": true, "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/LATEST-API-VERSION/act_<AD_ACCOUNT_ID>/adcreatives
يمكنك أيضًا استخدام الفيديو بدلاً من الصور في تصميم إعلان تجميع بيانات العملاء المحتملين. يجب أولاً تحميل الفيديو إلى مكتبة مقاطع فيديو الإعلانات، ثم استخدامه في المعلمة object_story_spec
:
curl -X POST \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"video_data": {
"link_description": "try it out",
"image_url": "<IMAGE_URL>",
"video_id": "<VIDEO_ID>",
"call_to_action": {
"type": "SIGN_UP",
"value": {
"link": "http://fb.me/",
"lead_gen_form_id": "<FORM_ID>"
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
عند النجاح، يتلقى التطبيق استجابة JSON التالية بمعرف تصميم الإعلان.
{ "id": "YOUR_AD_CREATIVE_ID" }
لإنشاء الإعلان، تحتاج إلى ربط تصميم الإعلان والمجموعة الإعلانية. لإنشاء إعلان، أرسل طلب POST
إلى نقطة النهاية /act_AD_ACCOUNT_ID/ads
. يجب أن يتضمن طلبك:
access_token
يتم تعيينها على رمز وصول الصفحةadset_id
(من الخطوة الثانية)creative_id
(من الخطوة الرابعة)
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/ads"
-H "Content-Type: application/json"
-d '{
"access_token"="YOUR_PAGE_ACCESS_TOKEN",
"name":"YOUR_LEADADS_AD_NAME",
"adset_id"="YOUR_AD_SET_ID",
"creative"={ "creative_id": "YOUR_AD_CREATIVE_ID" },
"status"="PAUSED"
}'
عند نجاح العملية، يتلقى التطبيق استجابة JSON التالية والتي تتضمن معرف الإعلان.
{ "id": "YOUR_AD_ID" }
تحقق من وجود إعلانك في مدير الإعلانات . انقر على زر المراجعة والنشر في أعلى الجانب الأيسر. حدّد الحملة الإعلانية والمجموعة الإعلانية للحملة الإعلانية والإعلان.
يمكنك نشر الإعلان من مدير الإعلانات أو باستخدام API. للنشر باستخدام API، كرّر الخطوة الرابعة مع تعيين المعلمة status
على ACTIVE
.
ستتم مراجعة الإعلان من خلال Meta وستكون الحالة PENDING_REVIEW
. بمجرد الموافقة، ستكون الحالة ACTIVE
وسيتم عرض الإعلان.
احصل على قائمة بالنماذج المتوفرة لديك وأسئلة النماذج المحددة، كما يمكنك أرشفة النماذج القديمة.
للحصول على قائمة بنماذج تجميع بيانات العملاء المحتملين، أرسل طلب GET
إلى نقطة النهاية /
page_id
/leadgen_forms
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةfields
إلى قائمة مفصولة بفاصلة من الحقول للحصول على معلومات محددة مثل الاسم ومعرف النموذج
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=name,id
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على قائمة بالنماذج. يمكنك استخدام معرف النموذج للحصول على الأسئلة لذلك النموذج أو لأرشفة النموذج.
وحدها النماذج التي تحتوي على متطلبات محددة تكون مؤهلة للإرسال في محادثة على Messenger.
للحصول على قائمة بنماذج تجميع بيانات العملاء المحتملين المؤهلة، أرسل طلب GET
إلى نقطة النهاية /
page_id
/leadgen_forms
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةfields
على is_eligible_for_in_thread_forms
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=is_eligible_for_in_thread_forms
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على قائمة بمعرفات النماذج المؤهلة.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
للحصول على قائمة بالأسئلة في نموذج تجميع بيانات العملاء المحتملين محدد، أرسل طلب GET
إلى نقطة النهاية /
page_id
/
leadgen_form_id
مع تضمين المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةfields
على questions
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?fields=questions
&access_token=page_access_token"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على قائمة بالأسئلة.
لا يمكنك سوى أرشفة نموذج تجميع بيانات العملاء المحتملين لأن الحذف غير مدعوم. بمجرد أرشفة النموذج:
لأرشفة نموذج تجميع بيانات العملاء المحتملين محدد، أرسل طلب POST
إلى نقطة النهاية /
page_id
/
leadgen_form_id
تتضمن المعلمات التالية:
access_token
يتم تعيينها على رمز وصول الصفحةstatus
على ARCHIVED
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?status=ARCHIVED
&access_token=page_access_token"
عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على كائن مع تعيين success
على true
.
يمكن إعادة تنشيط نموذج مؤرشف عن طريق إرسال طلب مع تعيين status
على ACTIVE
.
تفضل بزيارة الدلائل الأخرى لمعرفة المزيد حول مكونات هذا المستند.