Đối tượng tùy chỉnh của ứng dụng di động

Tạo đối tượng dựa trên hành động của mọi người trong ứng dụng đáp ứng các tiêu chí của bạn. Chẳng hạn, với tính năng này, bạn có thể tạo đối tượng gồm những người:

  • "Đã vượt qua cấp độ 8 trong 10 ngày qua"
  • "Đã dùng ứng dụng trong 8 ngày qua nhưng chưa mua mặt hàng nào"
  • "Đã thêm vào giỏ hàng nhưng chưa mua"

Giải pháp này sử dụng các sự kiện có tên được ghi lại thông qua Facebook SDK, API Sự kiện trong ứng dụng hoặc qua Mobile Measurement Partner. Ví dụ về các sự kiện cần ghi lại: "Đã cài đặt", "Đã thêm vào giỏ hàng", "Đã mua" hoặc "Đã đạt một cấp độ".

Các giới hạn

  • subtype của đối tượng tùy chỉnh tương tác chỉ được hỗ trợ cho video.
  • Đối với các chiến dịch SKAdNetwork trên iOS 14.5, Đối tượng tùy chỉnh của ứng dụng di động để nhắm mục tiêu bao gồm không còn được hỗ trợ cho điểm cuối POST /{ad-account-id}/adsets.
  • Những chiến dịch cài đặt ứng dụng mới trên iOS 14.5 sẽ không thể sử dụng phương thức nhắm mục tiêu kết nối ứng dụng nữa.

Tạo đối tượng

Để tạo Đối tượng tùy chỉnh từ ứng dụng di động, tài khoản quảng cáo phải chấp nhận Điều khoản dịch vụ dành cho Đối tượng tùy chỉnh trong Trình quản lý quảng cáo. Để ký các điều khoản:

  • Bạn phải là Quản trị viên, Nhà phát triển hoặc Người dùng thông tin chi tiết của tài khoản quảng cáo đó.
  • Tài khoản quảng cáo của bạn phải được liệt kê là Tài khoản quảng cáo trong phần cài đặt của ứng dụng.

Cách tạo đối tượng:

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/v21.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', })

Lệnh này trả về id của đối tượng khi tạo thành công. Các thông số sau đây là phù hợp nhất:

Tên Mô tả

name

loại: Chuỗi

Bắt buộc.

Tên của đối tượng tùy chỉnh.

description

loại: Chuỗi

Không bắt buộc.

Mô tả về đối tượng tùy chỉnh của bạn.

rule

loại: Đối tượng JSON

Không bắt buộc.

Quy tắc xác định đối tượng. Hãy xem phần Quy tắc đối tượng.

Mỗi tài khoản quảng cáo có thể tạo tối đa 200 đối tượng tùy chỉnh thông qua Đối tượng tùy chỉnh từ ứng dụng di động của bạn. Gửi yêu cầu POST đến:

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

Sử dụng các trường sau:

Tên Mô tả

name

loại: chuỗi

Bắt buộc.

Tên của Đối tượng tùy chỉnh

retention_days

loại: số nguyên

Bắt buộc.

Thời gian lưu giữ một người nào đó trong đối tượng này. Giá trị tối thiểu là 1. Giá trị tối đa là 180.


Nếu retention_days là 14 ngày và vào ngày thứ 13, một thành viên trong đối tượng kích hoạt một sự kiện trong ứng dụng khớp với các tiêu chí của bạn, Facebook sẽ kéo dài thời gian lưu giữ trong đối tượng này thêm 14 ngày nữa. Một người nào đó được lưu giữ trong đối tượng N ngày kể từ lần gần đây nhất họ kích hoạt sự kiện phù hợp.

rule

loại: Đối tượng JSON

Bắt buộc.

Các quy tắc xác định đối tượng. Hãy xem phần Quy tắc đối tượng

Quy tắc đối tượng

Để xác định xem ai được thêm vào Đối tượng tùy chỉnh, hãy xác định một quy tắc dựa trên sự kiện trong ứng dụng của bạn. Quy tắc là đối tượng JSON có cặp khóa-giá trị và có thể tham chiếu nhiều sự kiện trong ứng dụng. Bạn có thể xác định quy tắc dựa trên các sự kiện cụ thể và thông số của các sự kiện đó cũng như hàm tổng hợp. Để biết thêm thông tin, hãy xem phần Quy tắc đối tượng. Xem thêm:

  • Cú pháp quy tắc bao gồm và loại trừ: Trong phần event_sources, hãy đặt id thành ID ứng dụng của bạn và đặt type thành app.
  • Quy tắc bộ lọc:
    • Dùng field làm 'event' nếu bộ lọc dùng để chỉ định sự kiện. Thông số khớp với Sự kiện trong ứng dụng do ứng dụng gửi. Ví dụ: "_appVersion", "_value", v.v.
    • Nếu đặt thuộc tính field thành "event" thì phải đặt giá trị thành tên sự kiện. Sử dụng API Sự kiện trong ứng dụng để xem các thông số và sự kiện trong ứng dụng do pixel báo cáo.
  • Hàm tổng hợp: Các hàm tổng hợp sau đây có sẵn cho Đối tượng tùy chỉnh của ứng dụng di động: "count","sum", "avg", "min""max".

Ví dụ về Quy tắc đối tượng tùy chỉnh của ứng dụng di động

Ví dụ về sự kiện tiêu chuẩn

Tất cả những người mua trên ứng dụng di động có ID ứng dụng là 55064006 trong 30 ngày qua:

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

Ví dụ về sự kiện tùy chỉnh có các thông số

Tất cả những người dùng đã trả lại sự kiện “timeOnPanel” tùy chỉnh có ID ứng dụng là 55064006 trong 30 ngày qua:

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

Tất cả những người dùng đã trả lại sự kiện “timeOnPanel” tùy chỉnh, trong đó giá trị sự kiện lớn hơn 30, màu là “red” hoặc “blue” và món tráng miệng yêu thích có chứa “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",
                        }
                    ]
                }
            }
        ]
    }
}

Ví dụ về hàm tổng hợp

20% người mua hàng đầu dựa trên số lượt mua hàng trong 30 ngày qua:

{
    "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,
                }
            }
        ]
    }
}

Ví dụ về quy tắc loại trừ

Ví dụ dưới đây bao gồm những người đã thêm vào giỏ hàng nhưng chưa mua:

{
    "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 Sự kiện trong ứng dụng

Hãy truy vấn xem ứng dụng đã báo cáo thông số và sự kiện trong ứng dụng nào với Facebook. Bạn có thể sử dụng trực tiếp những sự kiện và thông số này để tạo Đối tượng tùy chỉnh. Bạn cần một mã truy cập liên kết với app_id có vai trò quản trị viên, nhà phát triển hoặc nhà quảng cáo.

Gửi yêu cầu GET:

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

Phản hồi là JSON chứa mảng data của từ điển JSON có các trường sau đây:

Tên Mô tả

event_name

loại: chuỗi

Loại sự kiện trong ứng dụng cần sử dụng trong quy tắc.

display_name

loại: chuỗi

Tên của loại sự kiện mà con người có thể đọc

description

loại: chuỗi

Mô tả dài về sự kiện tiêu chuẩn

parameters

loại: mảng

mảng từ điển JSON mô tả các thông số cho sự kiện này {"parameter_name": "fb_currency","display_name": "Currency","description": "Currency for event"}


parameter_name: chuỗi, loại thông số Ứng dụng để dùng trong quy tắc


display_name: chuỗi, tên loại sự kiện mà Con người có thể đọc được


description: chuỗi, mô tả Chi tiết về thông số, nếu là thông số tiêu chuẩn


Quản lý đối tượng