여러 랜딩 페이지 연결 광고

이 가이드에서는 마케팅 API를 사용하여 여러 랜딩 페이지 연결 광고를 만들고 게시하는 방법을 설명합니다.

여러 랜딩 페이지 연결 광고는 해당 광고를 클릭한 사람을 메시지 앱이나 사용자가 답장을 보낼 가능성이 가장 높은 앱(Messenger, Instagram 또는 WhatsApp)에서 비즈니스와의 대화로 바로 연결해 줍니다. 이러한 광고를 활용하여 대규모로 사람들에게 도달하고 우수하고 개별화된 서비스를 제공해 보세요.

여러 랜딩 페이지 광고는 Messenger 채팅, Instagram 채팅, WhatsApp 채팅의 모든 랜딩 페이지 조합으로 연결할 수 있다는 것을 의미합니다.

한 랜딩 페이지로 이동하는 광고를 만드는 방법은 다음과 같습니다.

광고 만들기 개요

이 문서에서는 여러 랜딩 페이지 연결 광고를 위한 통합을 설정할 때 따라야 할 단계를 간략히 설명합니다. 다음과 같은 작업을 수행해야 합니다.

  1. 광고 캠페인 만들기
  2. 광고와 광고 캠페인을 연결하는 광고 세트 만들기
  3. 게재하고자 하는 여러 랜딩 페이지 광고 유형에 대한 광고 크리에이티브 만들기
  4. 광고 크리에이티브를 광고 세트와 연결하여 광고 만들기

시작하기 전에

이 가이드에서는 다음 조건이 충족된 상태라고 가정합니다.

1단계: 광고 캠페인 만들기

먼저 광고 캠페인을 만듭니다. 이를 위해서는 /act_<AD_ACCOUNT_ID>/campaigns 엔드포인트로 POST 요청을 보냅니다. 여기서 <AD_ACCOUNT_ID>는 Meta 광고 계정의 ID입니다. 요청에는 다음과 같은 항목을 포함해야 합니다.

매개변수

이름설명

name

문자열

필수 항목.
여러 랜딩 페이지 연결 광고 캠페인의 이름입니다.

objective

enum

필수 항목.
캠페인의 목표입니다.
지원되는 목표는 OUTCOME_ENGAGEMENT, OUTCOME_SALESOUTCOME_TRAFFIC입니다.

special_ad_categories

list<Object>

필수 항목.
여러 랜딩 페이지 연결 광고 캠페인과 관련된 특별 광고 카테고리. 지금은 여러 랜딩 페이지 연결 광고에 대한 특별 광고 카테고리가 지원되지 않으므로 NONE이거나 빈 배열이어야 합니다. 자세한 내용은 광고 캠페인 참고 자료를 참조하세요.

status

enum

선택 사항.
유효한 옵션은 PAUSEDACTIVE입니다.
이 상태가 PAUSED일 경우 모든 활성 광고 세트와 광고는 일시 정지되고 유효 상태인 CAMPAIGN_PAUSED가 됩니다.

요청

curl -X POST \
  -F 'name=Click to Multi Destination Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

응답

요청에 성공하면 앱이 새로 만든 캠페인의 ID가 포함된 JSON 응답을 받게 됩니다.

{
  "id": "<AD_CAMPAIGN_ID>"
}

업데이트

/<AD_CAMPAIGN_ID>POST 요청을 보내서 캠페인을 업데이트할 수 있습니다.

읽기

여러 랜딩 페이지 연결 광고 캠페인을 성공적으로 만들었는지 확인하려면 /<AD_CAMPAIGN_ID>GET 요청을 보내면 됩니다. 사용 가능한 매개변수의 전체 리스트는 광고 캠페인 참고 자료를 참조하세요.

요청

curl -X GET -G \
  -d 'fields=name,status,objective' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/<AD_CAMPAIGN_ID>

응답

{
  "name": "Click to Multi Destination Campaign",
  "status": "ACTIVE",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_CAMPAIGN_ID>"
}

2단계: 광고 세트 만들기

광고 캠페인을 만들었다면 광고 세트를 만듭니다. 광고 세트를 만들려면 /act_<AD_ACCOUNT_ID>/adsets 엔드포인트로 POST 요청을 보냅니다. 여기서 <AD_ACCOUNT_ID>는 Meta 광고 계정의 ID입니다. 요청에는 다음과 같은 항목을 포함해야 합니다.

매개변수

이름설명

bid_amount

부호 없는 int32

bid_strategy가 LOWEST_COST_WITH_BID_CAP 또는 COST_CAP으로 설정된 경우 필수입니다.
optimization_goal에 기반하여 결과에 대해 지불하고자 하는 최대 금액입니다.

bid_strategy

enum

선택 사항.
특정 비즈니스 목표에 맞는 이 캠페인의 입찰 전략입니다. 자세한 내용은 광고 캠페인 참고 자료를 참조하세요.
값:LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP

billing_event

enum

필수 항목.
여러 랜딩 페이지 연결 광고에 대해 IMPRESSIONS로 설정해야 합니다. 광고가 사용자에게 노출되면 Meta에서 요금을 청구합니다.

campaign_id

숫자 문자열 또는 정수

필수 항목.
이 광고 세트를 추가하고자 하는 여러 랜딩 페이지 캠페인에 대한 유효한 클릭입니다.

daily_budget

int64

lifetime_budget이 설정되지 않은 경우 필수입니다.
계정 통화로 정의된 일일 예산입니다. 24시간을 초과하여 기간(end_timestart_time 간 차이)이 설정된 광고 세트에 대해서만 허용됩니다.
daily_budget 또는 lifetime_budget0보다 커야 합니다.

destination_type

문자열

필수 항목.


  • 모든 세 가지 랜딩 페이지(Messenger, WhatsApp, Instagram)를 사용하고자 하는 경우 MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP으로 설정합니다.
  • Messenger 및 Instagram을 사용하고자 하는 경우 MESSAGING_INSTAGRAM_DIRECT_MESSENGER로 설정합니다.
  • Messenger와 WhatsApp을 사용하고자 하는 경우 MESSAGING_MESSENGER_WHATSAPP으로 설정합니다.
  • WhatsApp 및 Instagram을 사용하고자 하는 경우 MESSAGING_INSTAGRAM_DIRECT_WHATSAPP으로 설정합니다.

참고: 랜딩 페이지에 WhatsApp을 포함하는 경우 WhatsApp 비즈니스 전화번호를 페이지에 연결해야 합니다. 랜딩 페이지에 Instagram을 포함하는 경우 Instagram 비즈니스 계정을 페이지에 연결해야 합니다.

end_time

datetime

lifetime_budget이 지정된 경우 필수입니다.
daily_budget을 포함하여 광고 세트를 만들 때는 end_time=0을 지정하거나 이 필드를 비워서 종료 날짜 없이 광고 세트가 지속되도록 설정합니다.
예:2015-03-12 23:59:59-07:00 또는 2015-03-12 23:59:59 PDT. UTC UNIX 타임스탬프입니다.

lifetime_budget

int64

daily_budget이 설정되지 않은 경우 필수입니다.
계정 통화로 정의된 광고 세트의 총 예산입니다. 이를 지정하는 경우 end_time도 지정해야 합니다.
daily_budget 또는 lifetime_budget0보다 커야 합니다.

name

문자열

필수 항목.
여러 랜딩 페이지 연결 광고 세트의 이름입니다.

optimization_goal

enum

필수 항목.
광고 세트의 최적화 목표입니다. 여러 랜딩 페이지 연결 광고에 대해 CONVERSATIONS로 설정해야 합니다. 캠페인 목표에 따라 광고 세트에 다른 최적화 목표를 설정할 수도 있습니다.

promoted_object

필수 항목.
이 광고 세트가 모든 광고에서 홍보하는 개체입니다. 여러 랜딩 페이지 연결 광고의 경우 promoted_object에 다음과 같은 조건이 있습니다.

  • page_id: 필수 항목. Facebook 페이지의 ID입니다.

자세한 내용은 광고 세트, 홍보 개체를 참조하세요.

start_time

datetime

선택 사항.
광고 세트의 시작 시간입니다. 값을 제공하지 않는 경우 이 필드는 기본적으로 현재 시간으로 설정됩니다.
예:2015-03-12 23:59:59-07:00 또는 2015-03-12 23:59:59 PDT. UTC UNIX 타임스탬프입니다.

status

enum

선택 사항.
광고 세트의 상태입니다. 상위 캠페인으로 인해 유효 상태와 다를 수 있습니다. 값을 제공하지 않을 경우 이 필드는 기본적으로 ACTIVE로 설정됩니다.
값:ACTIVE, PAUSED, DELETED, ARCHIVED

targeting

타게팅 개체

필수 항목.
Instagram 연결 광고의 타게팅 구조입니다. 자세한 내용은 타게팅을 참조하세요.

time_start

datetime

선택 사항.
start_time을 대신해서 사용할 수 있습니다.

time_stop

datetime

lifetime_budget을 지정한 경우 필수입니다.
end_time을 대신해서 사용할 수 있습니다.

사용 가능한 매개변수의 전체 리스트를 확인하려면 광고 계정 광고 세트 참고 자료를 참조하세요.

요청

curl -X POST \
  -F 'access_token=<ACCESS_TOKEN>' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'daily_budget=<DAILY_BUDGET>' \
  -F 'destination_type=<DESTINATION_TYPE>' \
  -F 'name=<AD_SET_NAME>' \
  -F 'optimization_goal=CONVERSATIONS' \
  -F 'promoted_object={
      "page_id": "<PAGE_ID>"
    }' \
  -F 'status=ACTIVE' \
  -F 'start_time=<START_TIME>' \
  -F 'targeting={ 
        "geo_locations": { "countries":["US","CA"] },
        "device_platforms": ["mobile", "desktop"]
  }' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

응답

요청에 성공하면 앱이 새로 만든 광고 세트의 ID가 포함된 JSON 응답을 받게 됩니다.

{
  "id": "<AD_SET_ID>"
}

업데이트

/<AD_SET_ID>POST 요청을 보내서 광고 세트를 업데이트할 수 있습니다.

읽기

여러 랜딩 페이지 연결 광고 세트를 성공적으로 만들었는지 확인하려면 /<AD_SET_ID>GET 요청을 보내면 됩니다. 사용 가능한 매개변수의 전체 리스트는 광고 세트 참고 자료를 참조하세요.

요청

curl -X GET -G \
  -d 'fields=name,destination_type,optimization_goal,bid_strategy' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/<AD_SET_ID>

응답

{
  "name": "<AD_SET_NAME>",
  "destination_type": "<DESTINATION_TYPE>",
  "optimization_goal": "CONVERSATIONS",
  "bid_strategy": "LOWEST_COST_WITHOUT_CAP'"
  "id": "<AD_SET_ID>"
}

3단계: 광고 크리에이티브 만들기

광고 크리에이티브를 사용하면 광고에 자산을 추가할 수 있습니다. 광고 크리에이티브를 만들려면 /act_<AD_ACCOUNT_ID>/adcreatives 엔드포인트로 POST 요청을 보냅니다. 여기서 <AD_ACCOUNT_ID>는 Meta 광고 계정의 ID입니다. 요청에는 다음과 같은 항목을 포함해야 합니다.

매개변수

이름설명

asset_feed_spec

필수 항목.
여러 랜딩 페이지 연결 광고의 랜딩 페이지를 지정합니다.

필수 항목:

  • optimization_type: 여러 랜딩 페이지 연결 광고에 대해 DOF_MESSAGING_DESTINATION으로 설정해야 합니다.
  • call_to_actions: 여러 랜딩 페이지 연결 광고에 선택된 랜딩 페이지의 배열입니다. 광고 세트에서 지정한 destination_type과 일치해야 합니다.

Messenger

{
  "type": "MESSAGE_PAGE",
    "value": {
       "app_destination": "MESSENGER",
       "link": "https://fb.com/messenger_doc/"
    }
} 

WhatsApp

{
  "type": "WHATSAPP_MESSAGE",
    "value": {
       "app_destination": "WHATSAPP",
       "link": "https://api.whatsapp.com/send"
    }
}

Instagram

{
  "type": "INSTAGRAM_MESSAGE",
    "value": {
       "app_destination": "INSTAGRAM_DIRECT",
       "link": "https://www.instagram.com"
    }
}

name

문자열

필수 항목.
광고 크리에이티브의 이름입니다.

object_story_spec

필수 항목.
메시지에 대한 정보를 포함하는 개체입니다. 자세한 내용은 광고 크리에이티브 개체 스토리 사양을 참조하세요.


필수 항목:

  • page_id: Facebook 페이지의 ID입니다.
  • instagram_actor_id: Instagram 계정 ID입니다. Instagram 계정 ID를 얻는 방법은 세 가지가 있습니다. 비즈니스 관리자가 소유한 Instagram 계정, 페이지에 연결된 Instagram 계정, 페이지에서 후원하는 Instagram 계정을 사용하는 것입니다.

선택 사항:

  • link_data: 링크 페이지 게시물 또는 슬라이드 광고의 사양입니다.
  • photo_data: 사진 페이지 게시물의 사양입니다.
  • text_data: 텍스트 페이지 게시물의 사양입니다.
  • video_data: 동영상 페이지 게시물의 사양입니다.

degrees_of_freedom_spec

선택 사항.
자세한 내용은 어드밴티지+ 크리에이티브의 기본 개선 사항을 참조하세요.

사용 가능한 매개변수의 전체 리스트는 광고 크리에이티브 참고 자료를 참조하세요.

페이지 환영 메시지 작성

고객에게 표시되는 기본 메시지는 '안녕하세요! 자세한 정보를 알려드릴까요?'입니다. object_story_spec 아래의 page_welcome_message 필드에서 광고의 인사 메시지, 아이스브레이커, 자동 입력 메시지를 맞춤 설정하여 여러 랜딩 페이지 연결 광고에 더욱 맞춤화된 사용자 경험을 만들 수 있습니다.

인사 메시지를 포함한 아이스브레이커를 추가합니다.

"page_welcome_message": {
  "type": "VISUAL_EDITOR",
  "version": 2,
  "landing_screen_type": "welcome_message",
  "media_type": "text",
  "text_format": {
    "customer_action_type": "ice_breakers",
    "message": {
      "text": "<GREETING_MESSAGE>",
      "ice_breakers": [
        {
          "title": "<ICEBREAKER>"
        },
        {
          "title": "<ICEBREAKER>"
        },
        {
          "title": "<ICEBREAKER>"
        }
      ]
    }
  }
}

광고 크리에이티브 만들기 예시

요청

curl -X POST \
-F 'name=<CREATIVE_NAME>' \
-F 'object_story_spec={
     "page_id": "438346666550309",
     "link_data": {
       "name": "<AD_HEADLINE>",
       "message": "<AD_PRIMARY_TEXT>",
       "image_hash": "<IMAGE_HASH>"
       "link": "https://fb.com/messenger_doc/",
       "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
       "call_to_action": {
         "type": "MESSAGE_PAGE",
         "value": {
           "app_destination": "MESSENGER"
         }
       }
     }
   }' \
-F 'asset_feed_spec={
     "optimization_type": "DOF_MESSAGING_DESTINATION",
     "call_to_actions": [
       {
         "type": "MESSAGE_PAGE",
         "value": {
           "app_destination": "MESSENGER",
           "link": "https://fb.com/messenger_doc/"
         }
       },
       {
         "type": "WHATSAPP_MESSAGE",
         "value": {
           "app_destination": "WHATSAPP",
           "link": "https://api.whatsapp.com/send"
         }
       },
       {
         "type": "INSTAGRAM_MESSAGE",
         "value": {
           "app_destination": "INSTAGRAM_DIRECT",
           "link": "https://www.instagram.com"
         }
       }
     ]
   }' \
-F 'degrees_of_freedom_spec={
     "creative_features_spec": {
       "standard_enhancements": {
         "enroll_status": "OPT_IN"
       }
     }
   }' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

응답

요청에 성공하면 앱이 새로 만든 광고 크리에이티브의 ID가 포함된 JSON 응답을 받게 됩니다.

{
  "id": "<AD_CREATIVE_ID>"
}

업데이트

/<AD_CREATIVE_ID>POST 요청을 보내서 광고 크리에이티브를 업데이트할 수 있습니다.

읽기

여러 랜딩 페이지 연결 광고 크리에이티브를 성공적으로 만들었는지 확인하려면 /<AD_CREATIVE_ID>GET 요청을 보내면 됩니다. 사용 가능한 매개변수의 전체 리스트는 광고 크리에이티브를 참조하세요.

요청

curl -X GET -G \
  -d 'fields=name,object_story_spec{page_welcome_message},asset_feed_spec' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/<AD_CREATIVE_ID>

응답

{
  "name": "<CREATIVE_NAME>",
  "object_story_spec": {
    "page_welcome_message": {
      "type": "VISUAL_EDITOR",
      "version": 2,
      "landing_screen_type": "welcome_message",
      "media_type": "text",
      "text_format": {
        "customer_action_type": "ice_breakers",
        "message": {
          "text": "Sample greeting message",
          "ice_breakers": [
            {
              "title": "Sample icebreaker"
            },
            {
              "title": "Sample icebreaker"
            },
            {
              "title": "Sample icebreaker"
            }
          ]
        }
      }
    }
  },
  "asset_feed_spec": {
    "optimization_type": "DOF_MESSAGING_DESTINATION",
    "call_to_actions": [
      {
        "type": "MESSAGE_PAGE",
        "value": {
          "app_destination": "MESSENGER",
          "link": "https://fb.com/messenger_doc/"
        }
      },
      {
        "type": "WHATSAPP_MESSAGE",
        "value": {
          "app_destination": "WHATSAPP",
          "link": "https://api.whatsapp.com/send"
        }
      },
      {
        "type": "INSTAGRAM_MESSAGE",
        "value": {
          "app_destination": "INSTAGRAM_DIRECT",
          "link": "https://www.instagram.com"
        }
      }
    ]
  },
  "id": "<AD_CREATIVE_ID>"
}

4단계: 광고 만들기

광고를 사용하면 광고 크리에이티브 정보와 광고 세트를 연결할 수 있습니다. 광고를 만들려면 /act_<AD_ACCOUNT_ID>/ads 엔드포인트로 POST 요청을 보냅니다. 여기서 <AD_ACCOUNT_ID>는 Meta 광고 계정의 ID입니다. 요청에는 다음과 같은 항목을 포함해야 합니다.

매개변수

이름설명

name

문자열

필수 항목.
광고 크리에이티브의 이름입니다.

adset_id

숫자 문자열 또는 정수

필수 항목.
광고 세트의 ID입니다.

creative

필수 항목.
이 광고에서 사용할 광고 크리에이티브입니다. 기존 광고 크리에이티브의 creative_id를 제공하거나 모든 필수 필드를 포함하여 새 광고 크리에이티브를 만들 수 있습니다. 자세한 내용은 광고 크리에이티브를 참조하세요.

status

enum

필수 항목.
광고의 구성된 상태입니다.
값:ACTIVE, PAUSED, DELETED, ARCHIVED

요청

curl -X POST \
  -F 'name=<AD_NAME>' \
  -F 'adset_id=<AD_SET_ID> \
  -F 'creative={
       "creative_id": "<AD_CREATIVE_ID>"
     }' \
  -F 'status=ACTIVE \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/ads

응답

요청에 성공하면 앱이 새로 만든 광고의 ID가 포함된 JSON 응답을 받게 됩니다.

{
  "id": "<AD_ID>"
}

업데이트

/<AD_ID>POST 요청을 보내서 광고를 업데이트할 수 있습니다.

읽기

여러 랜딩 페이지 연결 광고를 성공적으로 만들었는지 확인하려면 /<AD_ID>GET 요청을 보내면 됩니다. 사용 가능한 매개변수의 전체 리스트는 광고 참고 자료를 참조하세요.

요청

curl -X GET -G \
  -d 'fields=status,adset_id \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/<AD_ID>

응답

{
  "status": "ACTIVE",
  "adset_id": "<AD_SET_ID>",
  "id": "<AD_ID>"
}