매체 광고 자동화를 위한 API 정리 (2) Facebook

devPomme·2021년 7월 22일
0

페이스북 API를 사용하는 서비스 만들기

페이스북 개발자 계정 생성 ➡️ 앱 등록 및 앱 ID 생성 ➡️ 엑세스 토큰 발급 ➡️ 앱 개발 및 테스트 ➡️ 앱 검수 ➡️ 서비스 시작

페이스북 광고 관리자 계정을 연동하기 위한 방법을 찾기 위해서 아드리엘을 많이 참고하고 있다.

유사 서비스 분석하기

아드리엘에서는 구글 애널리틱스/페이스북/인스타그램 등 다양한 매체 광고 계정을 연동해서 데이터를 가져올 수 있다.

Oauth 로그인 먼저!

연동해야하는 데이터들은 다음과 같다. (막막...)

페이스북 API 종류

그래프 API마케팅 API
Facebook 소셜 그래프에 있는 정보를 조회하거나 쓸 수 있는 API로 페이스북 개발할 때 사용. 페이스북에서는 그래프 API 조금 더 편리하게 사용할 수 있도록 플랫폼별 SDK 설치를 지원한다.페북 광고 캠페인이나 보고서 등에 이용하는 API로 주로 광고 회사나 마케팅 회사의 프로그램을 개발

일단 따로 비즈니스 앱 검수 신청과 승인을 통해 사용할 수 있는, 우리 서비스에서 사용할 마케팅 API를 정리해봤다.

권한설명
pages_manage_ads pages_manage_ads권한은 앱이 페이지와 연결된 광고를 관리하도록 허용합니다.
business_management business_management권한은 앱이 비즈니스 관리자 API를 사용하여 읽고 쓰도록 허용합니다.
leads_retrieval권한은 앱이 광고 관리자나 마케팅 API에서 만들어진 광고와 관련된 잠재 고객 광고 양식에서 얻은 모든 정보를 가져오고 읽도록 허용합니다.
Ads Management Standard Access광고 관리 표준 액세스 기능은 앱이 마케팅 API에 액세스하도록 허용합니다. 광고 관리 표준 액세스 권한을 요청하려면 30일 동안 앱에서 10% 이하의 오류율로 마케팅 API가 최소 1,500회 이상 호출되었어야 합니다.
page_events page_events권한은 앱이 앱 사용자가 관리하는 Facebook 페이지를 대신하여 이벤트를 로깅하고 이 이벤트를 광고 타게팅, 최적화, 보고를 위해 Facebook에 전송하도록 허용합니다.
ads_read ads_read권한은 본인이 소유하거나 다른 광고 계정의 소유자가 이 권한을 통해 액세스 권한을 부여한 광고 계정의 광고 보고서 정보를 가져올 수 있도록 광고 인사이트 API 에 앱이 액세스하도록 허용합니다. 이 권한은 앱에 광고주가 서버에서 웹 이벤트를 Facebook으로 직접 보내도록 허용하는 서버측 API 에 대한 액세스 권한을 부여합니다.
Page Public Metadata Access페이지 퍼블릭 메타데이터 액세스 기능은 앱에서 페이지 검색 API 에 액세스하고 pages_read_engagement permission 과 pages_read_user_content permission 권한이 없는 페이지의 전체 공개 데이터를 읽을 수 있도록 지원합니다.1
pages_show_list pages_show_list권한은 앱이 사용자가 관리하는 페이지의 리스트를 액세스하도록 허용합니다.

페이스북 비즈니스 광고 관리자

  1. 클라이언트에서 페이스북 Oauth 로그인을 통해 Access Token을 발급한다.
    Facebook Oauth
    Facebook 공식문서
    [NPM]Facebook Oauth with Passport
    [Facebook 공식문서]장기 실행 Access Token

  2. 발급한 Access Token을 가지고 서버(Node.js)는 Facebook Business SDK를 실행한다.

How to integrate Facebook SDK into node js?

Node.js 환경에서는 라이브러리를 활용해 Facebook SDK를 사용할 수 있다.
[OpenBase]10 Best Node.js Facebook API Libraries

[Facebook for Developer]

  1. JavaScript용 Facebook SDK 설정

    JavaScript용 Facebook SDK에는 다운로드하거나 설치해야 하는 독립실행형 파일이 없습니다. 대신 SDK를 페이지에 비동기식으로 읽어들일 HTML에 간단한 JavaScript 정규식을 포함하기만 하면 됩니다. 비동기식으로 읽어들이면 페이지의 다른 요소를 읽어들이는 것을 차단하지 않습니다.
    다음 픽셀 코드는 옵션이 가장 일반적인 기본값으로 설정되는 기본 JavaScript용 Facebook SDK 버전을 제공합니다. Facebook 분석을 사용할 각 페이지에 <body> 태그를 연 후 다음 픽셀 코드를 삽입합니다. {your-app-id}를 앱 ID로 바꾸고 {api-version}을 타게팅하는 API 버전으로 바꿉니다.

페이스북 공식 문서
npm install --save facebook-nodejs-business-sdk

const bizSdk = require('facebook-nodejs-business-sdk');

const accessToken = '{access-token}';
const accountId = 'act_{{adaccount-id}}';

const FacebookAdsApi = bizSdk.FacebookAdsApi.init(accessToken);
const AdAccount = bizSdk.AdAccount;
const Campaign = bizSdk.Campaign;

const account = new AdAccount(accountId);
var campaigns;
    
account.read([AdAccount.Fields.name])
  .then((account) =>{
    return account.getCampaigns([Campaign.Fields.name], { limit: 10 }) // fields array and params
  })
  .then((result) =>{
    campaigns = result
    campaigns.forEach((campaign) =>console.log(campaign.name))  
  }).catch(console.error);






1 이 기능에서 허용되는 사용 방법은 좋아요와 팔로워 수를 확인하여 전체 공개 페이지와의 참여를 분석하거나, 여러 개의 서로 다른 여러 페이지에서 전체 공개되는 정보 페이지 정보를 집계하는 것입니다. 집계되고 비식별화되거나 익명화된 정보(해당 데이터가 재식별화될 수 없는 경우에 한해)를 사용하여 앱을 개선하고 마케팅과 광고를 진행하기 위해 분석 인사이트를 요청하는 데도 이 권한을 사용할 수 있습니다.

참고 자료
페이스북 API 연동 및 개발 방법 정리

profile
헌신하고 확장하는 삶

0개의 댓글