Milky's note

[Meta Ads] Meta(Facebook) Marketing API 연결 본문

Python/API Connect

[Meta Ads] Meta(Facebook) Marketing API 연결

밀뿌 2024. 5. 13. 22:11

 

Meta에도 Marketing API가 존재한다.

광고 캠페인에 대한 지표를 보기 위해서 Meta의 API를 호출해서 데이터를 적재하는 파이프라인을 개발하였다.

Meta의 Marketing API를 연결하려면 다음과 같은 순서대로 진행하면 된다.

 

 

1. Business Manager 권한 부여

API를  호출하려면 먼저 비즈니스 포트폴리오에 전체 관리 권한이 필요하다.

나의 경우 회사의 계정이다보니 비즈니스 포트폴리오를 관리하시는 분이 따로 계셔서 권한 부여를 요청하였다.

 

 

2. 앱 만들기

권한이 부여된 것을 확인하고 앱을 만들어서 API를 호출하는 토큰과 사용하려는 API를 설정해준다.

다음처럼 개발자 지원 센터로 이동하여 앱 만들기를 클릭한다.

 

다음으로 기타를 클릭해준다.

 

그 다음에는 비즈니스를 선택한다.

 

그 다음으로는 비즈니스 포트폴리오를 선택한다.

데이터를 가져오려는 비즈니스 포트폴리오를 선택해준다.

 

그러면 앱이 만들어진다 !

그리고 앱에 재품을 추가해주어야 하는데 나는 Marketing API를 사용할 것이기 때문에

마케팅 API를 선택하여 내가 만든 앱에 추가를 해준다.

 

 

3. 토큰 받기

이제 앱 생성은 마쳤고 앱의 ID와 시크릿코드, 마케팅 API 호출할 때 필요한 토큰을 생성해주어야한다.

[앱 대시보드] → [앱 설정] → [기본 설정]으로 가면 

앱 ID와 앱 시크릿 코드를 볼 수 있다.

이걸 잘 복사해준다.

 

다음으로는 마케팅 API를 호출하기 위해 토큰을 생성해야한다.

역시 [앱 대시보드] → [마케팅 API] → [도구]에서 필요한 권한을 선택하고 토큰 받기를 클릭해준다.

그러면 바로 밑 박스에 토큰이 생성된다.

이 토큰은 다운로드가 되지 않아서 잘 복사해서 사용해야한다.

 

4. 간단한 API 호출 코드 작성 (Requests)

위에서 얻은 정보를 바탕으로 campaign과 insight fields를 조회하는 코드이다.

account는 admanager에 있는 id를 넣어주면 된다.

앞에는 꼭 "act_"를 붙여줘야함!!!

(안 보이기는 하는데 ... 빨간색 네모의 id)

 

ver = "v19.0"
account = 'act_{accountid}'
token = '{Insert Token}'

insights = 'campaign_name,adset_name,ad_name,impressions,clicks,reach,spend,conversions,conversion_values'
url = f"https://graph.facebook.com/{ver}/{account}/insights"

params = {
    'fields': insights,
    'access_token': token, 
    'level': 'ad',
    'time_range[since]' : '2024-01-01',
    'time_range[until]' : '2024-01-28',
    'action_report_time' : 'conversion',
    'use_unified_attribution_setting' : 'true',
    "action_breakdowns": "action_type",
}


r = requests.get(url = url, params= params )
print(r.url)

if r.status_code != 200:
    print("something went wrong :",r.text)
    assert r.status_code == 200
else:
    content = r.text
    content_json = json.loads(content)
    print(content_json)

 

운영 중인 마케팅 광고데이터라서 좀 많이 가리지만 다음과 같이 호출되는 것을 볼 수 있다. ㅎ

 

그런데 fields에 conversions 관련 metrics들은 넣어주었음에도 불구하고 출력이 안되어서 

추후에 확인해야할 내용이다ㅜ

 

Request를 써서 직접 호출하지 않고 SDK를 써서 라이브러리로 호출하는 방법은 아래 링크를 참고하면 될 것 같다.

https://developers.facebook.com/docs/business-sdk/getting-started/#meta-business-sdk

 

시작하기 - Meta Business SDK - 문서 - Meta for Developers

Meta Business SDK 시작하기 이 문서에서는 Meta Business SDK를 설치하고 해당 설치를 테스트하는 방법을 설명합니다. SDK는 Java, JavaScript, PHP, Python 및 Ruby에서 사용 가능합니다. 마케팅 API가 이미 설치되

developers.facebook.com

Comments