الجماهير المخصصة على تطبيق الهواتف المحمولة

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

  • "اجتاز المستوى 8 في آخر 10 أيام"
  • "استخدم التطبيق في آخر 8 أيام بدون شراء أي شيء"
  • "أضاف عنصرًا إلى عربة التسوق بدون شرائه"

يستخدم هذا الحل الأحداث المُحددة والمُسجلة من خلال مجموعات Facebook SDK أو واجهة API أحداث التطبيق أو عبر شركاء Mobile Measurement Partner. وتتضمن الأمثلة على الأحداث المطلوب تسجيلها "تم التثبيت" أو "تمت الإضافة إلى عربة التسوق" أو "تم الشراء" أو "تم اجتياز مستوى".

القيود

  • يكون النوع subtype للجماهير المخصصة للتفاعل مدعومًا فقط في الفيديو.
  • لم تُعد الجماهير المخصصة لتطبيق الهواتف المحمولة في استهداف التضمين مدعومة بالنسبة لنقطة النهاية POST /{ad-account-id}/adsets للحملات الإعلانية SKAdNetwork في نظام iOS 14.5.
  • لن تتمكّن الحملات الإعلانية الجديدة لتثبيت التطبيق في نظام iOS 14.5 بعد الآن من استخدام استهداف اتصالات التطبيق.

إنشاء جمهور

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

  • يتعين أن تكون مسؤولاً أو مطوِّرًا أو مستخدم رؤى للحساب الإعلاني.
  • ينبغي إدراج حسابك الإعلاني كحساب إعلاني في إعدادات تطبيقك.

لإنشاء جمهورك:

curl -X POST \ -F 'name="My Test Website Custom Audience"' \ -F 'rule={ "inclusions": { "operator": "or", "rules": [ { "event_sources": [ { "id": "<APP_ID>", "type": "app" } ], "retention_seconds": 8400, "filter": { "operator": "and", "filters": [ { "field": "event", "operator": "eq", "value": "fb_mobile_purchase" } ] } } ] } }' \ -F 'prefill=1' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/customaudiences
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const CustomAudience = bizSdk.CustomAudience; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My Test Website Custom Audience', 'rule' : {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, 'prefill' : '1', }; const customaudiences = (new AdAccount(id)).createCustomAudience( fields, params ); logApiCallResult('customaudiences api call complete.', customaudiences);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\CustomAudience; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My Test Website Custom Audience', 'rule' => array('inclusions' => array('operator' => 'or','rules' => array(array('event_sources' => array(array('id' => '<appID>','type' => 'app')),'retention_seconds' => 8400,'filter' => array('operator' => 'and','filters' => array(array('field' => 'event','operator' => 'eq','value' => 'fb_mobile_purchase'))))))), 'prefill' => '1', ); echo json_encode((new AdAccount($id))->createCustomAudience( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.customaudience import CustomAudience from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My Test Website Custom Audience', 'rule': {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, 'prefill': '1', } print AdAccount(id).create_custom_audience( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createCustomAudience() .setName(\"My Test Website Custom Audience\") .setRule(\"{\\"inclusions\\":{\\"operator\\":\\"or\\",\\"rules\\":[{\\"event_sources\\":[{\\"id\\":\\"<appID>\\",\\"type\\":\\"app\\"}],\\"retention_seconds\\":8400,\\"filter\\":{\\"operator\\":\\"and\\",\\"filters\\":[{\\"field\\":\\"event\\",\\"operator\\":\\"eq\\",\\"value\\":\\"fb_mobile_purchase\\"}]}}]}}\") .setPrefill(true) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) customaudiences = ad_account.customaudiences.create({ name: 'My Test Website Custom Audience', rule: {'inclusions':{'operator':'or','rules':[{'event_sources':[{'id':'<appID>','type':'app'}],'retention_seconds':8400,'filter':{'operator':'and','filters':[{'field':'event','operator':'eq','value':'fb_mobile_purchase'}]}}]}}, prefill: '1', })

يؤدي ذلك إلى إرجاع المعرف id الخاص بالجمهور عند نجاح العملية. هذه المعلمات هي الأكثر صلةً:

الاسم الوصف

name

النوع: String (سلسلة)

مطلوب.

اسم الجمهور المخصص

description

النوع: String (سلسلة)

اختياري.

يمثل وصف الجمهور المخصص.

rule

النوع: JSON object (كائن بلغة JSON)

اختياري.

قاعدة لتحديد الجمهور. ويمكنك الرجوع إلى قواعد الجماهير.

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

https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/customaudiences

استخدم الحقول التالية:

الاسم الوصف

name

النوع: string (سلسلة)

مطلوب.

يمثل اسم الجمهور المخصص

retention_days

النوع: integer (عدد صحيح)

مطلوب.

المدة التي مكثها الشخص في هذا الجمهور. علمًا بأن الحد الأدنى هو 1. والحد الأقصى هو 180.


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

rule

النوع: JSON Object (كائن بلغة JSON)

مطلوب.

يمثل قواعد لتحديد الجمهور. ويمكنك الرجوع إلى قواعد الجماهير

قواعد الجمهور

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

  • بناء جملة قواعد التضمين والاستبعاد: ضمن event_sources، يمكنك تعيين المعرف id إلى معرف تطبيقك وتعيين النوع type إلى التطبيق app.
  • قواعد الفلترة:
    • استخدم 'event' باعتباره field إذا كان الفلتر مخصصًا لتحديد حدث. المعلمات التي تطابق أحداث التطبيق التي يتم إرسالها بواسطة التطبيق؛ على سبيل المثال، "_appVersion" و"_value" وهكذا.
    • في حالة تعيين السمة field إلى "event"، يجب تعيين القيمة إلى اسم حدث. استخدم API حدث التطبيق للاطلاع على أحداث ومعلمات التطبيق المبلّغ عنها بواسطة البيكسل.
  • وظائف التجميع: تتوفر وظائف التجميع التالية للجماهير المخصصة لتطبيق الهواتف المحمولة وهي: "count" و"sum" و"avg" و"min" و"max".

مثال على قواعد الجماهير المخصصة لتطبيق الهواتف المحمولة

مثال على الحدث القياسي

كل المشترين على تطبيق الهواتف المحمولة في آخر 30 يومًا لمعرف التطبيق 55064006:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
            }
        ]
    }
}

مثال على حدث مخصص مع معلمات

كل المستخدمين الذين اجتازوا مرة أخرى الأحداث المخصصة “timeOnPanel” في آخر 30 يومًا لمعرف التطبيق 55064006:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "timeOnPanel"
                        }
                    ]
                }
            }
        ]
    }
}

كل المستخدمين الذين اجتازوا مرة أخرى الأحداث المخصصة “timeOnPanel” حيث يكون حدث القيمة أكبر من 30 وتكون باللون “red” أو “blue” وتحتوي الحلوى المفضلة على “banana”:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app",
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "timeOnPanel",
                        },
                        {
                            "field": "_value",
                            "operator": ">",
                            "value": 30,
                        },
                        {
                            "field": "color",
                            "operator": "is_any",
                            "value": ["red", "blue"],
                        },
                        {
                            "field": "favoriteDessert",
                            "operator": "contains",
                            "value": "banana",
                        }
                    ]
                }
            }
        ]
    }
}

مثال على التجميع

أفضل 20% من المشترين بناءً على عمليات الشراء التي تمت في آخر 30 يومًا:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
                "aggregation": {
                    "type": "count",
                    "method": "percentile",
                    "operator": "in_range",
                    "from": 75,  
                    "to": 100,
                }
            }
        ]
    }
}

مثال على الاستبعادات

يتضمن المثال التالي الأشخاص الذين أضافوا عناصر إلى عربة التسوق بدون شراء:

{
    "inclusions: {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "add_to_cart"
                        }
                    ]
                }
            }
        ]
    },
    "exclusions": {
        "operator": "or",
        "rules": [    
            {
                "event_sources": [
                    {
                        "id": 55064006, 
                        "type": "app"
                    }
                ],
                "retention_seconds: 2592000,
                "filter": {
                    "operator": "and",
                    "filters": [
                        {
                            "field": "event",
                            "operator": "=",
                            "value": "fb_mobile_purchase"
                        }
                    ]
                }
            }
        ]
    }
}

واجهة API أحداث التطبيق

استعلم عن أحداث التطبيق والمعلمات المبلغ عنها من قبل أحد التطبيقات إلى فيسبوك. ويمكنك استخدام هذه الأحداث والمعلمات مباشرة في إنشاء الجماهير المخصصة. وتحتاج إلى رمز وصول مرتبط بالمعرف app_id، بالإضافة إلى دور مسؤول أو مطوِّر أو مُعلن.

يمكنك إجراء طلب GET:

https://graph.facebook.com/<API_VERSION>/<APP_ID>/app_event_types

الاستجابة هي لغة JSON تحتوي على مصفوفة data للقواميس بلغة JSON وتضم الحقول التالية:

الاسم الوصف

event_name

النوع: string (سلسلة)

يمثل نوع حدث التطبيق المطلوب استخدامه في القاعدة.

display_name

النوع: string (سلسلة)

اسم مقروء لنوع الحدث

description

النوع: string (سلسلة)

وصف مفصل لحدث قياسي.

parameters

النوع: array (مصفوفة)

يمثل مصفوفة من قواميس بلغة JSON تصف معلمات هذا الحدث {"parameter_name": "fb_currency","display_name": "Currency","description": "Currency for event"}


parameter_name: سلسلة، نوع معلمة التطبيق المطلوب استخدامه في القاعدة


display_name: سلسلة، اسم مقروء لنوع الحدث


description: سلسلة، وصف تفصيلي للمعلمة إذا كانت معلمة قياسية


إدارة الجماهير