กลุ่มเป้าหมายที่กำหนดเองของแอพบนมือถือ

สร้างกลุ่มเป้าหมายโดยอิงตามการดำเนินการของผู้คนในแอพที่ตรงตามหลักเกณฑ์ของคุณ ฟีเจอร์นี้ช่วยให้คุณสามารถสร้างกลุ่มเป้าหมายที่มีคุณสมบัติดังนี้ ตัวอย่างเช่น:

  • "ผ่านระดับ 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

ประเภท: สตริง

จำเป็นต้องระบุ

ชื่อของกลุ่มเป้าหมายที่กำหนดเองของคุณ

description

ประเภท: สตริง

ระบุหรือไม่ก็ได้

คำอธิบายของกลุ่มเป้าหมายที่กำหนดเองของคุณ

rule

ประเภท: อ็อบเจ็กต์ JSON

ระบุหรือไม่ก็ได้

กฎสำหรับกำหนดกลุ่มเป้าหมาย ดู กฎของกลุ่มเป้าหมาย

บัญชีโฆษณาแต่ละบัญชีสามารถสร้างกลุ่มเป้าหมายที่กำหนดเองได้สูงสุด 200 กลุ่มผ่านกลุ่มเป้าหมายที่กำหนดเองจากแอพบนมือถือของคุณ ส่งคำขอ POST ไปยัง:

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

ใช้ช่องเหล่านี้:

ชื่อ คำอธิบาย

name

ประเภท: สตริง

จำเป็นต้องระบุ

ชื่อของกลุ่มเป้าหมายที่กำหนดเองของคุณ

retention_days

ประเภท: จำนวนเต็ม

จำเป็นต้องระบุ

ผู้คนจะอยู่ในกลุ่มเป้าหมายนี้นานเพียงใด จำนวนขั้นต่ำคือ 1 จำนวนสูงสุดคือ 180


หาก retention_days ระบุเป็น 14 และในวันที่ 13 มีสมาชิกในกลุ่มเป้าหมายทริกเกอร์เหตุการณ์ในแอพที่ตรงกับเกณฑ์ของคุณ Facebook จะขยายเวลาในกลุ่มเป้าหมายให้อีก 14 วัน มีคนอยู่ในกลุ่มเป้าหมายเป็นเวลา N วันนับตั้งแต่เหตุการณ์ที่จับคู่ครั้งล่าสุดที่พวกเขาทริกเกอร์

rule

ประเภท: อ็อบเจ็กต์ JSON

จำเป็นต้องระบุ

กฎที่ต้องการกำหนดกลุ่มเป้าหมาย ดูกฎของกลุ่มเป้าหมาย

กฎของกลุ่มเป้าหมาย

หากต้องการพิจารณาว่าจะเพิ่มใครลงในกลุ่มเป้าหมายที่กำหนดเอง ให้กำหนดกฎโดยอิงจากเหตุการณ์ในแอพของคุณ กฎคืออ็อบเจ็กต์ JSON ที่มีคู่คีย์-ค่าและสามารถอ้างอิงเหตุการณ์ในแอพได้หลายรายการ คุณสามารถกำหนดกฎโดยอิงจากเหตุการณ์เฉพาะและพารามิเตอร์ของเหตุการณ์ รวมถึงการรวมได้ โปรดดูข้อมูลเพิ่มเติมที่กฎของกลุ่มเป้าหมาย โปรดดู:

ตัวอย่างกฎของกลุ่มเป้าหมายที่กำหนดเองของแอพบนมือถือ

ตัวอย่างเหตุการณ์มาตรฐาน

ผู้ซื้อแอพบนมือถือทั้งหมดในช่วง 30 วันที่ผ่านมาสำหรับ ID 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 วันที่ผ่านมาสำหรับ ID 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 เหตุการณ์ในแอพ

สืบค้นว่าพารามิเตอร์และเหตุการณ์ในแอพใดที่แอพรายงานไปที่ Facebook คุณสามารถใช้เหตุการณ์และพารามิเตอร์เหล่านี้เพื่อสร้างกลุ่มเป้าหมายที่กำหนดเองได้โดยตรง คุณต้องมีโทเค็นการเข้าถึงที่เชื่อมโยงกับ app_id ซึ่งเป็นผู้ที่มีบทบาทเป็นผู้ดูแล ผู้พัฒนา หรือผู้ลงโฆษณา

ส่งคำขอ GET:

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

การตอบกลับจะเป็น JSON ที่มีอาร์เรย์ data ของพจนานุกรม JSON ที่มีช่องเหล่านี้:

ชื่อ คำอธิบาย

event_name

ประเภท: สตริง

ประเภทของเหตุการณ์ในแอพที่จะใช้ในกฎ

display_name

ประเภท: สตริง

ชื่อประเภทเหตุการณ์ที่มนุษย์อ่านออก

description

ประเภท: สตริง

คำอธิบายเหตุการณ์มาตรฐานที่ใช้คำฟุ่มเฟือย

parameters

ประเภท: อาร์เรย์

อาร์เรย์ของพจนานุกรม JSON ที่อธิบายรายละเอียดของพารามิเตอร์สำหรับเหตุการณ์นี้ {"parameter_name": "fb_currency","display_name": "Currency","description": "Currency for event"}


parameter_name: สตริง, ประเภทพารามิเตอร์ของแอพที่จะใช้ในกฎ


display_name: สตริง, ชื่อประเภทเหตุการณ์ที่มนุษย์อ่านออก


description: สตริง, คำอธิบายพารามิเตอร์โดยละเอียดหากเป็นพารามิเตอร์มาตรฐาน


การจัดการกลุ่มเป้าหมาย