Meta 통합

이 페이지에서는 Cortex Framework Data Foundation의 마케팅 워크로드 데이터 소스로 Meta(Facebook 및 Instagram Ads)의 데이터를 가져오는 데 필요한 구성을 설명합니다.

Meta는 여러 인기 온라인 플랫폼을 소유한 기술 회사입니다. Cortex Framework는 Instagram 및 Facebook의 광고 데이터를 통합하여 분석하고, 다른 데이터 소스와 결합하며, AI를 사용하여 더 깊은 통계를 얻고 마케팅 전략을 최적화합니다.

다음 다이어그램은 Cortex Framework Data Foundation의 마케팅 워크로드를 통해 메타 마케팅 데이터를 사용하는 방법을 설명합니다.

메타데이터 소스

그림 1 메타 마케팅 데이터 소스

구성 파일

config.json 파일은 다양한 워크로드에서 데이터를 전송하기 위해 데이터 소스에 연결하는 데 필요한 설정을 구성합니다. 이 파일에는 메타에 관한 다음 매개변수가 포함됩니다.

   "marketing": {
        "deployMeta": true,
        "Meta": {
            "deployCDC": true,
            "datasets": {
                "cdc": "",
                "raw": "",
                "reporting": "REPORTING_Meta"
            }
        }
    }

다음 표에는 각 마케팅 매개변수의 값이 설명되어 있습니다.

매개변수 의미 기본값 설명
marketing.deployMeta 메타 배포 true Meta 데이터 소스의 배포를 실행합니다.
marketing.Meta.deployCDC Meta용 CDC 스크립트 배포 true Cloud Composer에서 DAG로 실행할 메타 CDC 처리 스크립트를 생성합니다.
marketing.Meta.datasets.cdc 메타용 CDC 데이터 세트 메타용 CDC 데이터 세트입니다.
marketing.Meta.datasets.raw 메타의 원시 데이터 세트 메타의 원시 데이터 세트입니다.
marketing.Meta.datasets.reporting 메타용 보고 데이터 세트 "REPORTING_Meta" 메타에 대한 보고 데이터 세트입니다.

데이터 모델

이 섹션에서는 항목 관계 다이어그램 (ERD)을 사용하여 메타의 데이터 모델을 설명합니다.

메타의 항목 관계 다이어그램

그림 2 메타: 항목 관계 다이어그램

기본 조회수

ERD의 파란색 객체이며 복잡한 데이터 구조를 압축 해제하기 위한 최소한의 변환이 적용된 CDC 테이블의 뷰입니다. src/marketing/src/Meta/src/reporting/ddls에서 스크립트를 확인하세요.

보고 보기

ERD의 녹색 객체이며 집계 측정항목이 포함된 보고 뷰입니다. src/marketing/src/Meta/src/reporting/ddls에서 스크립트를 확인하세요.

API 연결

Meta용 Cortex Framework의 처리 템플릿은 Meta Marketing API를 사용하여 보고 속성과 측정항목을 가져옵니다. 현재 템플릿은 버전 v21.0을 사용합니다.

메타는 Marketing API를 쿼리할 때 동적 비율 제한을 적용합니다. 비율 한도에 도달하면 소스에서 원시 처리 DAG가 완료되지 않을 수 있습니다. 이 경우 로그에 관련 오류 메시지가 표시되며 다음에 DAG를 실행하면 누락된 데이터가 소급하여 로드됩니다.

Meta Marketing API에는 기본 및 표준이라는 두 가지 액세스 등급이 있습니다. 표준 등급은 훨씬 더 높은 한도를 제공하며 소스에서 원시 처리로의 처리를 광범위하게 사용할 계획인 경우 권장됩니다. 이러한 한도와 더 높은 액세스 등급을 얻는 방법에 관한 자세한 내용은 Meta 문서를 참고하세요.

표준 등급 액세스 권한이 있는 경우 src/Meta/src/raw/pipelines/config.ini에서 next_request_delay_sec 설정의 값을 낮추면 로드 시간이 단축됩니다.

API 액세스 및 액세스 토큰

Meta 비즈니스 관리자개발자 콘솔에서 Meta의 데이터를 Cortex Framework로 가져오려면 다음 단계를 완료해야 합니다.

  1. 사용할 앱을 식별합니다. 비즈니스 계정에 연결된 새 앱을 만들 수 있습니다. 앱이 Business 유형인지 확인합니다.
  2. 앱 권한 설정 앱으로 토큰을 만들려면 먼저 앱에 관리자로 할당되어야 합니다. 앱 역할 문서를 참고하세요. 앱에 관련 애셋 (계정)을 할당해야 합니다.
  3. 액세스 토큰을 만듭니다. Meta Marketing API에 액세스하려면 액세스 토큰이 필요하며, 액세스 토큰은 항상 앱 및 사용자와 연결됩니다. 시스템 사용자 또는 자체 로그인을 사용하여 토큰을 만들 수 있습니다.

    1. 관리자 시스템 사용자를 만듭니다.
    2. 토큰 생성 토큰이 생성되는 즉시 기록해 두세요. 페이지를 나가면 다시 가져올 수 없습니다.
    3. 지원되는 객체에 액세스하려면 토큰에 ads_readbusiness_management 권한을 부여합니다.
  4. Cloud Composer 문서에 따라 Cloud Composer에서 Secret Manager를 사용 설정합니다. 그런 다음 cortex_meta_access_token라는 비밀을 만들고 이전 단계에서 생성한 토큰을 콘텐츠로 저장합니다.

데이터 최신 상태 및 지연

일반적으로 Cortex Framework 데이터 소스의 데이터 최신성은 업스트림 연결에서 허용하는 사항과 DAG 실행 빈도에 따라 제한됩니다. 업스트림 빈도, 리소스 제약조건, 비즈니스 요구사항에 맞게 DAG 실행 빈도를 조정합니다.

Meta Marketing API를 사용하면 대부분의 데이터 (전환 제외)를 거의 실시간으로 사용할 수 있지만 이벤트 후 최대 28일 동안 조정될 수 있습니다.

Cloud Composer 연결 권한

Cloud Composer에서 다음 연결을 만듭니다. 자세한 내용은 Airflow 연결 관리 문서를 참고하세요.

연결 이름 목적
meta_raw_dataflow Meta Marketing API > BigQuery 원시 데이터 세트
meta_cdc_bq 원시 데이터 세트 > CDC 데이터 세트 전송
meta_reporting_bq CDC 데이터 세트 > 보고 데이터 세트 전송

Cloud Composer 서비스 계정 권한

Cloud Composer에서 사용되는 서비스 계정 (meta_raw_dataflow 연결에 구성됨)에 Dataflow 권한을 부여합니다. Dataflow 문서의 안내를 참고하세요. 서비스 계정에는 Secret Manager Secret Accessor 권한도 필요합니다. 자세한 내용은 액세스 제어 문서를 참고하세요.

요청 매개변수

src/Meta/config/request_parameters 디렉터리에는 Meta Marketing API에서 추출된 각 항목의 API 요청 사양 파일이 포함되어 있습니다. 각 요청 파일에는 Meta Marketing API에서 가져올 필드 목록이 포함되며, 행당 하나의 필드가 포함됩니다. 자세한 내용은 Meta Marketing API 참조를 참고하세요.

처리 설정

src/Meta/config/ingestion_settings.yaml 파일의 설정을 통해 Source to RawRaw to CDC 데이터 파이프라인을 제어합니다. 이 섹션에서는 각 데이터 파이프라인의 매개변수를 설명합니다.

원시 테이블의 소스

이 섹션에는 API에서 가져오는 항목과 가져오는 방법을 제어하는 항목이 있습니다. 각 항목은 하나의 Meta Marketing API 항목에 해당합니다. 이 구성을 기반으로 Cortex Framework는 Dataflow 파이프라인을 실행하여 Meta Marketing API를 사용하여 데이터를 가져오는 Airflow DAG를 만듭니다.

src/Meta/src/raw/pipelines/config.ini 파일은 Cloud Composer DAG의 일부 동작과 Meta Marketing API가 사용되는 방식을 제어합니다. 파일에서 각 매개변수에 대한 설명을 찾습니다.

다음 매개변수는 각 항목의 Source to Raw 설정을 제어합니다.

매개변수 설명
base_table 가져온 데이터가 저장되는 원시 데이터 세트의 테이블입니다 (예: customer).
load_frequency 이 DAG가 Meta에서 데이터를 가져오기 위해 실행되는 빈도입니다. 가능한 값에 관한 자세한 내용은 Airflow 문서를 참고하세요.
object_endpoint API 엔드포인트 경로 (예: /{account_id}/campaigns 엔드포인트의 경우 campaigns)
entity_type 테이블 유형입니다 (fact, dimension 또는 addaccount) 중 하나여야 함).
object_id_column 이 테이블의 고유한 레코드를 형성하는 열 (쉼표로 구분됨)입니다. entity_typefact인 경우에만 필요합니다.
breakdowns 선택사항: 인사이트 엔드포인트의 세부정보 열(쉼표로 구분됨) entity_typefact인 경우에만 적용됩니다.
action_breakdowns 선택사항: 인사이트 엔드포인트의 작업 분류 열(쉼표로 구분됨) entity_typefact인 경우에만 적용됩니다.
partition_details 선택사항: 성능 고려사항으로 인해 이 테이블을 파티션화하려는 경우 자세한 내용은 테이블 파티션을 참고하세요.
cluster_details 선택사항: 성능 고려사항으로 이 테이블을 클러스터링하려는 경우 자세한 내용은 클러스터 설정을 참고하세요.

원시 테이블에서 CDC 테이블로

이 섹션에서는 데이터가 원시 테이블에서 CDC 테이블로 이동하는 방식을 제어하는 항목을 설명합니다. 각 항목은 원시 테이블에 해당하며 이는 앞서 언급한 대로 Meta API 항목에 해당합니다.

다음 매개변수는 각 항목의 Raw to CDC 설정을 제어합니다.

매개변수 설명
base_table 원시 데이터가 복제된 테이블입니다. CDC 데이터 세트에서 이름이 같은 테이블은 CDC 변환 후 원시 데이터를 저장합니다 (예: campaign_insights).
row_identifiers 이 테이블의 고유한 레코드를 형성하는 열 (쉼표로 구분됨)입니다.
load_frequency 이 항목의 DAG가 CDC 테이블을 채우기 위해 실행되는 빈도입니다. 가능한 값에 관한 자세한 내용은 Airflow 문서를 참고하세요.
partition_details 선택사항: 성능 고려사항으로 인해 이 테이블을 파티션화하려는 경우 자세한 내용은 테이블 파티션을 참고하세요.
cluster_details 선택사항: 성능 고려사항으로 이 테이블을 클러스터링하려는 경우 자세한 내용은 클러스터 설정을 참고하세요.

CDC 테이블 스키마

메타의 경우 모든 필드는 원시 레이어에 문자열 형식으로 저장됩니다. CDC 레이어에서 원시 유형은 관련 비즈니스 데이터 유형으로 변환되고 모든 복합 유형은 BigQuery JSON 형식으로 저장됩니다.

이 변환을 사용 설정하기 위해 src/Meta/config/table_schema 디렉터리에는 각 BigQueryraw 테이블을 CDC 테이블로 올바르게 변환하는 방법을 설명하는 raw_to_cdc_tables 섹션에 지정된 각 항목의 스키마 파일이 하나씩 포함되어 있습니다.

각 스키마 파일에는 다음과 같은 세 열이 포함됩니다.

  • SourceField: 이 항목의 원시 테이블 필드 이름입니다.
  • TargetField: 이 항목의 CDC 테이블에 있는 열 이름입니다.
  • DataType: 각 CDC 테이블 필드의 데이터 유형입니다.

보고서 설정

보고 설정 파일(src/Meta/config/reporting_settings.yaml)을 사용하여 Cortex가 메타 최종 보고 영역의 데이터를 생성하는 방식을 구성하고 제어할 수 있습니다. 이 파일은 보고 영역 BigQuery 객체 (테이블, 뷰, 함수 또는 저장 프로시저)가 생성되는 방식을 제어합니다.

자세한 내용은 보고서 설정 파일 맞춤설정을 참고하세요.

다음 단계