进阶赋能型目录广告入门指南

借助进阶赋能型目录广告,您可以创建个性化广告,以此根据商品系列定位到适合的受众。

如果广告主投放住房、招聘、信贷或议题、选举和政治类广告,则会受到不同限制。详情请参阅特殊广告类别

准备工作

要创建进阶赋能型目录广告系列,您需要:

您也可以选择设置动态商品受众,但无需在定位设置中加入商品系列包含条件或排除条件。

第 1 步:创建广告系列

广告系列文档,了解如何创建广告系列。

在这一层级中,您必须通过 objective 字段设置广告目标。对于进阶赋能型目录广告,支持的目标为 PRODUCT_CATALOG_SALESCONVERSIONSLINK_CLICKSAPP_INSTALLS。如果您提供的 objectiveCONVERSIONSLINK_CLICKSAPP_INSTALLS,则 promoted_object 字段不是必要字段。

curl \
  -F 'name=Product Catalog Sales Campaign' \
  -F 'objective=PRODUCT_CATALOG_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

第 2 步:创建广告组

对于进阶赋能型目录广告,您必须在 promoted_object 中为您的广告组层级指定 product_set_id,以推广该商品系列中的商品。

另外,当 optimization_goalOFFSITE_CONVERSIONS 时,您还可以在 promoted_object 中指定 custom_event_type,以便为该商品系列定义您自己的转化事件。这会将广告定位到在您的应用或网站中执行该事件的用户。

例如,如果您将此项设置为 ADD_TO_CART,则表示“加入购物车”事件是转化事件。默认情况下,custom_event_type 设置为 PURCHASE。可以在 Meta Pixel 像素代码转化追踪中详细了解 custom_event_type 的标准事件和值的相关信息。

如果您要针对站外转化(包括来自应用事件和 Facebook Pixel 像素代码的转化)进行优化,并且希望系统按展示次数向您收取费用:

  • optimization_goal 设置为 OFFSITE_CONVERSIONS
  • billing_event 设置为 IMPRESSIONS

如需详细了解 optimization_goalbilling_event 的有效组合,请参阅优化目标和付费事件

创建按 IMPRESSIONS 收取费用并针对 OFFSITE_CONVERSIONS 进行优化的广告组的示例如下:

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ "geo_locations": {"countries":["US"]}, 
    "dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

DYNAMIC_AUDIENCE_ID 是指商品受众。您也可以选择在调用中省略 dynamic_audience_ids

对于电子商务用例,您可以省略调用中的 dynamic_audience_ids,并在 product_audience_specsexcluded_product_audience_specs 参数中发送行为定位信息。这些规范由您用于创建商品受众的相关参数定义。

参数

名称描述

product_set_id

数字字符串

必要。
要定位到此受众的商品系列。

inclusions

JSON 对象

必要。
一组要定位的事件。至少需要一个包含条件。每个包含条件应恰好具有一个 event

inclusions.retention_seconds

整数

必要。
将账户中心账户留作受众的秒数。

inclusions.rule

对象数组

必要。
引用一个 event网站自定义受众规则

exclusions

JSON 对象

可选。
该组事件用于将人员从目标受众中移除账户中心账户。

exclusions.retention_seconds

整数

必要(如果已指定排除条件)。
保留排除条件的秒数。

exclusions.rule

对象数组

必要(如果已指定排除条件)。
引用一个 event网站自定义受众规则

无论作为顶层规则还是作为顶层 and 规则的一部分,每条规则必须包含带运算符 eqevent

再营销

在本示例中,我们将定位在过去 3 到 5 天内查看过商品但未购买商品的用户。广告版位位于移动版动态和 Audience Network 中。如要创建此受众,请执行以下操作:

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=LINK_CLICKS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "publisher_platforms": ["facebook","audience_network"], 
    "device_platforms": ["mobile"], 
    "geo_locations": {"countries":["US"]}, 
    "product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}], 
        "exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":<PRODUCT_SET_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

交叉销售或追加销售

为用户未看到的商品投放广告的示例:

curl \
-F 'name=Case 1 Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'status=ACTIVE' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting= { \
            "geo_locations": { \
            "countries":["US"], \
             }, \
            "interests":[ \
                {"id":6003397425735,"name":"Tennis"}, \
            ], \
        }' \
-F 'promoted_object={"product_set_id”:<PRODUCT_SET_ID>}' \
-F 'access_token=<ACCESS_TOKEN>’ \
https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/adsets

如要在商品系列之间进行交叉销售,请执行以下操作:

  • 为商品受众提供与商品系列 A 相关的事件规则。
  • 在广告创意层级将 product_set_id 设置为商品系列 B,以此在广告中显示商品系列 B 中的商品。

例如,公司希望通过将广告定位到已对 PRODUCT_SET_2 中鞋履有兴趣的现有用户,增加 PRODUCT_SET_1 中手提包的销量。将 product_audience_specs 中的 product_set_id 设置为 PRODUCT_SET_2 的编号或鞋履,然后将 promoted_object 中的 product_set_id 设置为 PRODUCT_SET_1 的编号或手提包。

curl \
  -F 'name=My cross sell ad set' \
  -F 'bid_amount=3000' \
  -F 'billing_event=LINK_CLICKS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "geo_locations": {"countries":["US"]}, 
    "product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_2_ID>", 
        "inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}], 
        "exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_2_ID>", 
        "inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_1_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets  

将创意中的 product_set_id 设置为 PRODUCT_SET_1 的编号。

  curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

定位广泛受众

除了对现有客户开展再营销和交叉销售之外,进阶赋能型目录广告还可用于通过年龄、性别和其他人口统计数据,将广泛的受众定位到商品目录中的相关商品。通过利用与站外转化竞价相结合的广泛定位受众,您可以借助进阶赋能型目录广告高效地大幅增加广告的覆盖人数。

如需定位广泛受众,请执行以下操作:

  • 使用基本人口统计数据定位(如,美国 18 岁以上的女性)创建受众。
  • 为带有较强意向信号的 OFFSITE_CONVERSIONS(如 PurchaseInitiateCheckout)加入 customOptimize

在本示例中,我们将创建一个广告组,定位到美国 30 到 65 岁的女性,但排除过去 10 天内已进行购买的客户。我们将出价 8 美元,同时将 OFFSITE_CONVERSIONS 用于 PURCHASE 事件。

curl \
  -F 'name=Broad Audience Targeting' \
  -F 'bid_amount=800' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "age_max": 65, 
    "age_min": 30, 
    "geo_locations": {"countries":["US"]}, 
    "genders": [2], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":864000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type":"PURCHASE"}' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

进阶赋能型目录广告的类别

如果广告主投放住房、招聘、信贷或议题、选举和政治类广告,则会受到不同限制。详情请参阅特殊广告类别

进阶赋能型目录广告类别为进阶赋能型目录广告平台提供了两种新的创意选项,二者均可用于为尚处于决策历程早期的购买者提供个性化创意。借助此功能,您可以有效创建另外一个代表每种类别的更小的图片创意目录(除了您已拥有的商品图片目录),而我们会以匹配商品和用户的方式将商品类别与您广告中的用户相匹配。

进阶赋能型目录广告类别可与流量、转化或目录销售目标中的任何定位选项一起使用。如果您没有代表每种类别或品牌的优质图片,Facebook 将为每组商品自动生成热门商品的 2x2 拼贴画。

当您将此新图片映射到现有商品目录时,可以使用信息库中以下三列的其中一列来为商品分组:品牌、商品类型和 Google 商品类别。

在下方的目录示例中,商品类型列有五个不同值。广告主可以提供最多五张拼贴画或生活方式图片,product_type 中的每个不同值对应一张图片。商品类型是相应类别的分类标准,这是用于定义类别的目录字段名称。目录字段的值是类别的条件值。

类别可以通过以下项目进行唯一标识:

  • 商品目录编号
  • 分类标准(品牌、商品类型或 Google 商品类别)
  • 标准值(从目录获取)
零售商 编号名称 价格 商品类型 品牌 类别

prod_1

T 恤

25 美元

服装

品牌 A

类别 A

prod_2

FB 连帽衫

30 美元

服装

品牌 B

类别 A

prod_3

iPhone 6

800 美元

手机

品牌 C

类别 B

prod_4

Samsung Galaxy S5

750 美元

手机

品牌 C

类别 B

prod_5

电饭锅

120 美元

家用电器

品牌 C

类别 C

prod_6

Parker 沙发

500 美元

家用器具

品牌 D

类别 D

prod_7

防晒霜

14 美元

个人护理

品牌 E

类别 E

您可以关联各个类别(例如,由以上指定的一列中唯一值定义的每组商品)与素材:

  • 名称:面向用户的类别短名称(最多 40 个字符)。
  • 说明:面向用户的类别描述(最多 20 个字符)。
  • destination_uri:用户点击类别时落地页的网址。
  • image_url可选。代表类别的生活方式图片的网址。如果未提供 image_url,我们将自动生成此类别的热门商品拼贴画。

在广告投放时间内,我们会使用当今进阶赋能型目录广告所采用的机器学习模型,将每个账户中心账户与其最可能响应的类别进行动态匹配。

类别管理 API

类别信息会存储于目录级别中,这表示推广同一目录中的类别的不同广告将共享素材,正如推广商品的广告也会共享目录中定义的素材一样。我们支持不同的创意选项,以便您自定义类别广告。

以下是获取和更新类别信息的 API。

读取

请求

  curl -G \
    -d 'fields=["criteria_value","name","description","destination_uri","image_url"]' \
    -d 'categorization_criteria=product_type' \
    -d 'filter={"price_amount":{"gt":1500}}' \ # optional
    -d 'access_token=<ACCESS_TOKEN>' \
    https://graph.facebook.com/v19.0/<PRODUCT_CATALOG_ID>/categories

我们会对所有商品进行查询(支持可选筛选条件),并找出前 1,000 个类别(按商品数量排序)。

响应示例

{
  "data": [
    {
      "criteria_value": "clothes",
      "name": "Awesome clothes",
      "description": "Check out these awesome clothes!",
      "destination_uri": "http://www.example.com/clothes",
      "image_url": "http://www.example.com/clothes.jpg"
    },
    ...
    {
      "criteria_value": "shoes",
      "name": "Awesome shoes",
      "description": "Check out these awesome shoes!",
      "destination_uri": "http://www.example.com/shoes",
      "image_url": "http://www.example.com/shoes.jpg"
    }
  ]
}

更新

您可以在数据中指定多个类别信息。对于每个类别,categorization_criteriacriteria_value 为必要项,而 namedescriptiondestination_uriimage_url 字段为可选项。首次更新类别信息时,您必须指定 destination_uri。如果您想跳过某个类别的投放,只需将其 destination_uri 设置为空即可。

注意:目前不支持删除类别。

请求

curl \
  -F 'data=[{"categorization_criteria":"product_type","criteria_value":"product_type_value","name":"Name","description":"Description","destination_uri":"http://www.example.com/","image_url":"<IMAGE_URL>"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<lPRODUCT_CATALOG_ID>/categories

广告创建

进阶赋能型目录广告类别的广告创建方式与其他进阶赋能型目录广告类似,但创意选择稍有不同。您仍然会使用动态类别广告推广商品系列,区别在于我们展示的是类别创意。

curl \
  -F "name=Dynamic Category Ad Creative" \
  -F 'object_story_spec={"page_id": "<PAGE_ID>", "template_data": {"description": "{{category.description}}", "link": "https://www.example.com/", "message": "<MESSAGE>", "name": "{{category.name}}"}}' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'categorization_criteria=brand' \
  -F 'category_media_source=MIXED' \ # optional
  -F access_token=<ACCESS_TOKEN> \
  https://graph.facebook.com/v19.0/act_<ACCOUNT_ID>/adcreatives

这将创建以轮播广告格式显示的类别广告创意:

类别口令

支持的类别口令:

  • category.name:所推广商品系列内的类别名称。
  • category.description:所推广商品系列内的类别描述。
  • category.destination_uri:类别目标位置 URI。
  • category.min_price:所推广商品系列内此类别的最低价格。系统会从目录中获取此信息。

参数

名称描述

categorization_criteria

指定要使用的类别类型。
值:

  • brand
  • product_type
  • google_product_category

category_media_source

指定如何显示类别轮播图卡。
值:

  • mixed(默认)
    如果此类别有图片,则使用相应图片;否则回退到 products_collage
  • category
    使用此类别的图片。如果此类别无图片,则跳过此类别。
  • products_collage
    生成此类别商品图片的 2x2 拼贴画。
  • products_slideshow
    显示此类别商品的幻灯片。

在创建类别广告创意期间,我们会搜索可能的可显示类别。

注意:我们会筛选出没有名称或目标位置网址的类别。如果 category_media_source = category,我们也会筛选出没有图片的类别。

常见错误

如果符合条件的类别少于四个,则无法创建创意(例如,要使用进阶赋能型目录广告类别作为指定广告系列的创意,则您数据信息库文件中的指定列必须有至少四个不同值)。

第 3 步:提供广告创意

进阶赋能型目录广告模板使用内嵌公共主页帖子创建进阶赋能型目录广告模板创意。

构建模板创意

创建进阶赋能型目录广告模板创意类似于创建其他广告创意。其区别在于,您可以根据数据信息库文件中的数据添加在运行时正确显示的模板参数

根据 object_story_spectemplate_data 对象构建模板并使用下列字段:

名称描述接受模板参数

call_to_action

对象

行动号召对象。应省略
value 字段。

message

字符串

可以在 Instagram 上看到的广告消息。

link

字符串

您网站的链接;用于生成广告说明。
系统始终会将此字段替换为您数据信息库文件中的 link 字段,在将轮播广告的最后一张图卡链接到此内容时除外。
注意:此项不能为 Facebook 网址。

name

字符串

广告名称或标题,在 Instagram 上可见。

description

字符串

无法在 Instagram 上看到的广告说明。

force_single_link

布尔值

可选。
强制呈现单链接格式。
设置为 true 时,创意将为显示单件商品的公共主页帖子链接广告。将其留空时,最终的广告将为轮播广告。Facebook 会选择图卡数量,以便优化广告成效。

show_multiple_images

布尔值

在轮播广告中显示单件商品的多张图片。
注意:force_single_linkmulti_share_end_card 必须分别设置为 truefalse

multi_share_end_card

布尔值

可选。
默认为 true
在轮播广告格式中加以使用。如果设置为 false,则将移除用于显示页面图标的最后一张图卡。

additional_image_index

整数

表明附加图片数组中的哪张图片应用作广告图片。这是一个从零开始的索引,值介于 0 到 19 之间。
如果指定索引的给定商品没有图片,则使用主商品图片。
注意:附加图片网址应该唯一,因为系统会移除影响索引编号的重复项。

child_attachments

数组

借助此字段,您可以在进阶赋能型目录广告中为轮播广告格式提供一张或多张静态图卡。
静态图卡显示在所有进阶赋能型目录广告之前或之后。为 child_attachments 下的每张静态图卡提供设置为 true 的字段 static_card

image_layer_specs

AdCreativeLinkDataImageLayerSpecs

指定在广告中向用户展示图片时,如何转换相关图片。
每个图层需要 1 个 AdCreativeLinkDataImageOverlaySpec,用于定义该图层的显示方式。这些图层会按照其在列表中出现的顺序呈现。
注意:只有部分用户可以使用 AdCreativeLinkDataImageLayerSpec。如需了解更多详情,请联系您的 Facebook 代表。

image_overlay_spec

AdCreativeLinkDataImageOverlaySpec

指定如何在动态商品的图片上呈现商品标签。

preferred_image_tags

数组

如果已在图片中添加标签,请选择要使用的图片。
对于所有商品,我们按以下步骤选择图片:获取 preferred_image_tags 中的第一个标签(至少对应一张商品图片),然后显示此标签对应的第一张图片。如果图片无对应标签,则使用第一张图片。

示例

创建轮播进阶赋能型目录广告模板

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

将进阶赋能型目录广告模板与图片商品标签搭配使用

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}",
      "image_layer_specs": [
        {
          "layer_type": "image",
          "image_source": "catalog"
        },
        {
          "layer_type": "frame_overlay",
          "blending_mode": "lighten",
          "frame_image_hash": "<HASH>",
          "frame_source": "custom",
          "opacity": 100,
          "overlay_position": "center",
          "scale": 100
        },
        {
          "layer_type": "text_overlay",
          "content": {
            "type": "price"
          },
          "opacity": 100,
          "overlay_position": "top_left",
          "overlay_shape": "rectangle",
          "shape_color": "DF0005",
          "text_color": "FFFFFF",
          "text_font": "open_sans_bold"
        }
      ]
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives

创建包含行动号召的单件商品进阶赋能型目录广告模板

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "force_single_link": true, 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

创建轮播进阶赋能型目录广告模板,将附加图片数组中的第一张图片选作广告图片

additional_image_index 的进阶赋能型目录广告,您必须将整个 object_story_spec 传递到 /generatepreviews 端点。仅传递 object_story_id 不会生成预览。

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "additional_image_index": 0, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

为单件商品创建轮播进阶赋能型目录广告模板(其中每张图片均来自目录中的附加图片数组)

curl -X POST \
     -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
     -F 'object_story_spec={
           "page_id": <PAGE_ID>,
           "template_data": {
             "message": "Test {{product.name | titleize}}",
             "link": "<YOUR_LINK_URL>",
             "name": "Headline {{product.price}}",
             "description": "Description {{product.description}}",
             "multi_share_end_card": false,
             "force_single_link": true,
             "show_multiple_images": true,
           }
         }' \
     -F 'product_set_id=<PRODUCT_SET_ID>' \
     -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

创建轮播进阶赋能型目录广告模板(将第一张图卡用作优惠券静态图卡)

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "child_attachments": [ 
        { 
          "call_to_action": {"type":"SHOP_NOW"}, 
          "description": "30% off", 
          "image_hash": "<IMAGE_HASH>", 
          "link": "https:\/\/www.link.com\/coupon", 
          "name": "Coupon Static Card", 
          "static_card": true 
        }, 
        { 
          "call_to_action": {"type":"SHOP_NOW"}, 
          "description": "Description {{product.description}}", 
          "name": "Headline {{product.price}}" 
        } 
      ], 
      "link": "<LINK>", 
      "message": "Test Message" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

使用进阶赋能型目录广告模板创建轮播幻灯片

将轮播广告中的每张动态图卡显示为幻灯片。如果一件动态商品有多张图片,则每段幻灯片会显示此商品的图片。如果动态内容只有一张图像,我们会将图像显示为静态图像。

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={
    "page_id": "PAGE_ID",
    "template_data": {
      "call_to_action": {"type":"SHOP_NOW"},
      "description": "Description {{product.description}}",
      "link": "LINK",
      "message": "Test {{product.name | titleize}}",
      "name": "Headline {{product.price}}",
      "format_option": "carousel_slideshows"
    }
  }' \
  -F 'product_set_id=PRODUCT_SET_ID' \
  -F 'access_token=ACCESS_TOKEN' \
  https://graph.facebook.com/v19.0/AD_ACCOUNT_ID/adcreatives

对这些调用的响应是新进阶赋能型目录广告模板创意的编号。

{"id":"creative_id"}

上传目录

上传目录时,您可以为各资产中的每张图片指定含数字和字母的任意字符串标签。

<listing>
 <hotel_id>hotel_1</hotel_id>
 ...
 <image>
 <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg (https://l.facebook.com/l.php?u=https%3A%2F%2Fmedia-cdn.tripadvisor.com%2Fmedia%2Fphoto-o%2F05%2Fca%2F40%2Faf%2Fthe-epiphany-a-joie-de.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url>
 <tag>exterior</tag>
 <tag>first image</tag>
 <tag>tree</tag>
 </image>
 <image>
 <url>http://www3.hilton.com/resources/media/hi/DFWANHH/en_US/img/shared/full_page_image_gallery/main/HH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg (http://l.facebook.com/l.php?u=http%3A%2F%2Fwww3.hilton.com%2Fresources%2Fmedia%2Fhi%2FDFWANHH%2Fen_US%2Fimg%2Fshared%2Ffull_page_image_gallery%2Fmain%2FHH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url>
 <tag>skyline</tag>
 ...
 </image>
 ...
</listing>

创建广告创意

创建广告创意时,可在 object_story_spec 中传递一组 preferred_image_tags

curl \
 -F 'name=Ad Creative Test'\
 -F 'object_story_spec={
     "page_id": '<PAGE_ID>',
     "template_data": {
       "preferred_image_tags": ["skyline","exterior"],
       "call_to_action": {"type":"BOOK_TRAVEL"},
       "description": "{{hotel.description}}",
       "link": "<URL>",
        "message": "Book your stay in {{hotel.city}}",
        "name": "{{hotel.name | titleize}}"
     }
    }' \
 -F 'product_set_id=<PRODUCT_SET_ID>' \
 -F 'access_token=<ACCESS_TOKEN>' \
 https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

为进阶赋能型目录广告启用视频

创建进阶赋能型目录广告的主要步骤仍然保持不变。如要启用视频,您需要添加视频数据,并在目录中提供该数据。请参阅下文,了解您在创建或更新目录时必需做出的更改。

第 1 步:设置目录

此示例使用的是 XML 文件,其他格式的设置方法应该与之类似。

当您向列表添加视频时,支持 urltag 字段。目前,每个商品只支持一个视频

<?xml version="1.0" encoding="utf-8"?>
<listings>
  <title>Test hotel feed</title>
  <listing>
    <hotel_id>hotel_1</hotel_id>
    <name>Test Hotel 1</name>
    <description>A very nice hotel</description>
    <brand>Facebook</brand>
    <address format="simple">
      <component name="addr1">180 Hamilton Ave</component>
      <component name="city">Palo Alto</component>
      <component name="city_id">12345</component>
      <component name="region">California</component>
      <component name="postal_code">94301</component>
      <component name="country">United States</component>
    </address>
    <latitude>37.4435997</latitude>
    <longitude>-122.1615219</longitude>
    <neighborhood>Palo Alto</neighborhood>
    <neighborhood>Silicon Valley</neighborhood>
    <margin_level>8</margin_level>
    <base_price>200.5 USD</base_price>
    <phone>+1 650 666-3311</phone>
    <star_rating>2.5</star_rating>
    <guest_rating>
      <score>7.8</score>
      <rating_system>tripAdvisor</rating_system>
      <number_of_reviewers>300</number_of_reviewers>
    </guest_rating>
    <guest_rating>
      <score>9.8</score>
      <rating_system>Hotels.com</rating_system>
      <number_of_reviewers>35000</number_of_reviewers>
    </guest_rating>
    <image>
      <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg</url>
      <tag>front view</tag>
      <tag>first image</tag>
    </image>
    <image>
      <url>http://www.jdvhotels.com/content/uploads/2014/06/72-1200x800.jpg</url>
      <tag>room</tag>
      <tag>bed</tag>
    </image>
    <loyalty_program>Starwood</loyalty_program>
    <url>http://www.jdvhotels.com/hotels/california/silicon-valley-hotels/the-epiphany-hotel/</url>
    <applink property="ios_url" content="example-ios://electronic"/>
    <applink property="ios_app_store_id" content="42"/>
    <applink property="ios_app_name" content="Electronic Example iOS"/>
*    <video>
      <url>http://example.com/some_video1.mp4</url>
      <tag>City</tag>
      <tag>Package</tag>
    </video>*
  </listing>
</listings>

视频要求

第 2 步:使用 API 获取视频元数据,以便进行故障排除

您可以使用 API 来检查已上传的数据。允许针对每个商品,查询其“视频元数据”。

请求
curl -i -X GET \
 "https://graph.intern.facebook.com/v19.0/1234567890?fields=videos_metadata.fields(video,tags,url)&access_token=<ACCESS TOKEN>"

响应示例

第 3 步:在创意或广告中启用视频

如要在广告中启用商品层级的视频内容,请参阅使用动态素材创建广告文档。

点击追踪和模板

如果在重定向到最终商品网址之前通过第三方点击追踪工具来追踪链接点击量,则您可以在广告创意中使用 template_url_spec 字段。您可以通过此字段向广告层级添加点击追踪工具模板,而无需在您的数据信息库文件中对其进行硬编码。您还可以使用此字段来创建用于深度链接的模板。

在此字段中,可以使用商品网址或编号等动态字段,如果这些字段的值可能包含导致网址无效的字符,则应对其进行网址编码。

示例

如要创建包含 template_url_spec 设置的轮播进阶赋能型目录广告模板,请执行以下操作:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<URL>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'template_url_spec={ 
    "ios": { 
      "app_store_id": "123", 
      "url": "example:\/\/link\/?nav=item.view&id={{product.retailer_id | urlencode}}&referrer=http:\/\/rover.example.com\/rover\/1\/711-198453-24755-9\/16%3Fitemid={{product.retailer_id | urlencode | urlencode}}" 
    }, 
    "web": { 
      "url": "http:\/\/clicktrack.com\/cm325?id={{product.retailer_id | urlencode}}&redirect_url={{product.url | urlencode | urlencode}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

使用模板中的数据信息库文件数据

显示广告时,Facebook 会将 {{ }} 部分中的内容替换为您数据信息库文件中的相应值。可用的模板值如下:

名称描述

brand

数据信息库文件中商品的 brand 值。

current_price

如果商品有指定的优惠价,则此为带格式的优惠价。您可以有选择地为商品指定优惠的开始日期和结束日期,商品优惠期间 current_price 将显示商品的优惠价。如果未指定优惠价或优惠日期已过,则此项将显示价格字段。

description

数据信息库文件中商品的 description 值。

name

数据信息库文件中商品的 title 值。

price

带格式的 price 列(如 $1,234.56)。

retailer_id

数据信息库文件中商品的 id 值。

url

数据信息库文件中商品的 link 值。

custom_label_0

数据信息库文件中商品的 custom_label_0 值。

custom_label_1

数据信息库文件中商品的 custom_label_1 值。

custom_label_2

数据信息库文件中商品的 custom_label_2 值。

custom_label_3

数据信息库文件中商品的 custom_label_3 值。

custom_label_4

数据信息库文件中商品的 custom_label_4 值。

选项

有些模板值可以按任意顺序接收采用以下格式的选项:

{{field option1 option2 ...}}

可用选项如下:

选项描述受以下对象支持

raw

省略货币符号

price
current_price

strip_zeros

如果分的部分为零,则省略货币中的这一部分

price
current_price

round

舍入价格时省略货币的分值

所有价格字段

转换

您可使用具有转换功能(可根据此格式调整值)的模板值:

{{field | transform}}

使用以下转换之一:

转换描述

number_format

按默认格式设置数字的格式,使用逗号 (",") 作为千位分隔符并舍入为最接近的整数(例如 1234.56->“1,235”)。要设置格式的值必须为无格式数字(“1234”,而不是“1,234”)。

titleize

将单词的首字母大写,以使标题更加美观(例如“box”->“Box”)。

urlencode

对网址的值进行编码。

指定移动设备中广告点击的期望行为

显示动态素材时,您可以指定用户在原生 Facebook 应用中点击广告时的期望行为。如需使用深度链接,必须满足以下两项要求:

  1. 要用来接收用户的原生移动应用可支持深度链接(iOSAndroid)。
  2. 深度链接信息已包含在数据信息库文件中,或可以通过应用链接获取。

如果这两项要求均已满足,您可以在创建广告创意时使用字段 applink_treatment 来指定用户点击广告时的期望行为。

名称描述

web_only

始终将用户发送到指定网址。

deeplink_with_web_fallback

如果用户手机上已安装应用并且我们有相应的深度链接信息,则将用户发送到该应用。如果不满足上述任一条件,则将他们发送到网站。

deeplink_with_appstore_fallback

商品拥有应用链接时的默认值。如果用户手机上已安装应用并且我们有相应的深度链接信息,则将用户发送到该应用。如果未安装应用,则将他们发送到应用商店以获取应用。

示例

创建包含行动号召的轮播进阶赋能型目录广告模板,此模板将深度链接到原生应用(如有)或回退到网站:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'applink_treatment=deeplink_with_web_fallback' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

创建已启用网址标签的轮播动态广告进阶赋能型目录广告模板,此模板将深度链接到原生应用(如有)或回退到应用商店以获取应用:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'applink_treatment=deeplink_with_appstore_fallback' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

为进阶赋能型目录广告创建本地化目录

如需了解详情,请参阅进阶赋能型目录广告的本地化目录

第 4 步:创建广告

最后,您可以创建一则广告。该广告将引用广告创意。

示例

curl -X POST \ -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/v19.0/act_<AD_ACCOUNT_ID>/ads
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const Ad = bizSdk.Ad; 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 Ad', 'adset_id' : '<adSetID>', 'creative' : {'creative_id':'<adCreativeID>'}, 'status' : 'PAUSED', }; const ads = (new AdAccount(id)).createAd( fields, params ); logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\Ad; 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 Ad', 'adset_id' => '<adSetID>', 'creative' => array('creative_id' => '<adCreativeID>'), 'status' => 'PAUSED', ); echo json_encode((new AdAccount($id))->createAd( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.ad import Ad 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 Ad', 'adset_id': '<adSetID>', 'creative': {'creative_id':'<adCreativeID>'}, 'status': 'PAUSED', } print AdAccount(id).create_ad( 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).createAd() .setName(\"My Ad\") .setAdsetId(<adSetID>L) .setCreative( new AdCreative() .setFieldId(\"<adCreativeID>\") ) .setStatus(Ad.EnumStatus.VALUE_PAUSED) .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) ads = ad_account.ads.create({ name: 'My Ad', adset_id: '<adSetID>', creative: {'creative_id':'<adCreativeID>'}, status: 'PAUSED', })

恭喜!您已创建自己的第一则进阶赋能型目录广告。可以随时取消暂停以开始投放。

无论原图的尺寸如何,系统会将以 Instagram 快拍广告形式发布的进阶赋能型目录广告裁剪为 1:1 格式。

后续步骤

预览进阶赋能型目录广告

您可使用广告预览端点生成动态创意的预览。指定 product_item_ids 参数或指定多个 product_item_ids 以预览轮播广告。

curl -X GET \ -d 'ad_format="DESKTOP_FEED_STANDARD"' \ -d 'product_item_ids=[ "<PRODUCT_ITEM_ID>" ]' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/<CREATIVE_ID>/previews
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdCreative = bizSdk.AdCreative; const AdPreview = bizSdk.AdPreview; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_CREATIVE_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 = { 'ad_format' : 'DESKTOP_FEED_STANDARD', 'product_item_ids' : ['<productItemID>'], }; const previewss = (new AdCreative(id)).getPreviews( fields, params ); logApiCallResult('previewss api call complete.', previewss);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdCreative; use FacebookAds\Object\AdPreview; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_CREATIVE_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'ad_format' => 'DESKTOP_FEED_STANDARD', 'product_item_ids' => array('<productItemID>'), ); echo json_encode((new AdCreative($id))->getPreviews( $fields, $params )->getResponse()->getContent(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adcreative import AdCreative from facebook_business.adobjects.adpreview import AdPreview from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'ad_format': 'DESKTOP_FEED_STANDARD', 'product_item_ids': ['<productItemID>'], } print AdCreative(id).get_previews( 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_CREATIVE_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdCreative(id, context).getPreviews() .setAdFormat(AdPreview.EnumAdFormat.VALUE_DESKTOP_FEED_STANDARD) .setProductItemIds(\"[\\"<productItemID>\\"]\") .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_creative = FacebookAds::AdCreative.get(id) previewss = ad_creative.previews({ fields: { }, ad_format: 'DESKTOP_FEED_STANDARD', product_item_ids: ['<productItemID>'], })

参数

名称描述

product_item_ids

array[string]

商品 FBID 或 Base64 URL 编码商品编号口令的列表。
每个口令需采用 catalog:{catalog_id}:{base64urlencode(retailer_id)} 形式。

获取商品广告统计数据

您可以通过对成效分析端点发出 GET 调用来获取每件商品的统计数据。在 fields 参数中添加 product_id

这将显示进阶赋能型目录广告中所示的账户商品系列中所有商品的统计数据。

示例

此示例将报告每个 product_idclicksactionsimpressions

请求
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdsInsightsFields;
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;

$account = new AdAccount('act_<AD_ACCOUNT_ID>');

$fields = array(
  AdsInsightsFields::ACCOUNT_NAME,
  AdsInsightsFields::IMPRESSIONS,
  AdsInsightsFields::ACTIONS,
);

$params = array(
  'date_preset' => AdsInsightsDatePresetValues::LAST_WEEK,
  'action_breakdowns' => array(
    AdsInsightsActionBreakdownsValues::ACTION_TYPE,
  ),
  'breakdowns' => array(
    AdsInsightsBreakdownsValues::PRODUCT_ID,
  ),
);

$stats = $account->getInsights($fields, $params);
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adsinsights import AdsInsights

account = AdAccount('act_<AD_ACCOUNT_ID>')

fields = [
    AdsInsights.Field.account_name,
    AdsInsights.Field.impressions,
    AdsInsights.Field.actions,
]

params = {
    'date_preset': 'last_week',
    'actions_group_by': ['action_type'],
    'breakdowns': [
        AdsInsights.Breakdowns.product_id,
    ],
}

stats = account.get_insights(fields=fields, params=params)
APINodeList<AdsInsights> adsInsightss = new AdAccount(act_<AD_ACCOUNT_ID>, context).getInsights()
  .setDatePreset(AdsInsights.EnumDatePreset.VALUE_LAST_WEEK)
  .setActionBreakdowns("[\"action_type\"]")
  .setBreakdowns("[\"product_id\"]")
  .requestField("account_name")
  .requestField("impressions")
  .requestField("actions")
  .execute();
curl -G \
  -d 'date_preset=last_week' \
  -d 'action_breakdowns=["action_type"]' \
  -d 'breakdowns=["product_id"]' \
  -d 'fields=account_name,impressions,actions' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/insights
响应
{
 "data": [ 
   {
      "account_id": "123456", 
      "product_id": "60750", 
      "date_start": "2015-02-03", 
      "date_stop": "2015-02-03", 
      "impressions": 880, 
      "clicks": 8, 
      "actions": [ 
        {
          "action_type": "link_click", 
          "value": 6
        }, 
        {
          "action_type": "offsite_conversion.other", 
          "value": 5
        },  
        {
          "action_type": "offsite_conversion", 
          "value": 5
        }
      ], 
      "account_name": "My Account"
    }, 
 ], 
...
}

获取评论和赞

您可以检索进阶赋能型目录广告帖子的评论、赞和 product_id。按如下方式使用 post_id 发出 GET 调用。post_id广告创意effective_object_story_id,格式为 PageID_PostID

注意:您不能使用此端点从 Instagram 中检索评论。

curl -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts

此端点将返回动态帖子对象。

在获取动态帖子后,您可以获取轮播广告格式的 commentslikesproduct_id 以及 child_attachments(如果适用)。

dynamic_posts 端点将不会返回版位素材定制广告。