다음을 통해 공유


Azure Data Factory 또는 Synapse Analytics를 사용하여 Google Ads에서 데이터 복사

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory 또는 Synapse Analytics 파이프라인에서 복사 작업을 사용하여 Google Ads에서 데이터를 복사하는 방법을 간략하게 설명합니다. 이 문서는 복사 작업에 대한 일반적인 개요를 제공하는 복사 작업 개요 문서를 기반으로 합니다.

Important

2024년 2월 18일 이전에 Google Ads 드라이버 버전을 업그레이드하시기 바랍니다. 그렇지 않은 경우 레거시 드라이버 사용 중단으로 인해 오류와 함께 연결이 실패하기 시작합니다.

지원되는 기능

이 Google Ads 커넥터는 다음 기능을 지원합니다.

지원되는 기능 IR
복사 작업(원본/-) 3,4
조회 작업 3,4

① Azure 통합 런타임 ② 자체 호스팅 통합 런타임

원본/싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.

이 서비스는 연결을 사용하는 기본 제공 드라이버를 제공합니다. 따라서 이 커넥터를 사용하여 드라이버를 수동으로 설치하지 않아도 됩니다.

시작하기

파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.

UI를 사용하여 Google Ads에 연결된 서비스 만들기

다음 단계를 사용하여 Azure Portal UI에서 Google Ads에 연결된 서비스를 만듭니다.

  1. Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.

  2. Google Ads를 검색하고 Google Ads 커넥터를 선택합니다.

    Google Ads 커넥터 스크린샷.

  3. 서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.

    Google Ads의 연결된 서비스 구성 스크린샷.

커넥터 구성 세부 정보

다음 섹션에서는 Google Ads 커넥터와 관련된 Data Factory 엔터티를 정의하는 데 사용되는 속성에 대한 세부 정보를 제공합니다.

연결된 서비스 속성

Google Ads 연결 서비스에는 다음 속성이 지원됩니다.

속성 설명 필수
type 형식 속성은 GoogleAdWords로 설정해야 합니다.
googleAdsApiVersion 권장 드라이버 버전을 선택할 때 사용하는 Google Ads API 버전입니다. API 버전 정보는 이 문서를 참조하세요.
clientCustomerID 보고서 데이터를 가져오려는 광고 계정의 클라이언트 고객 ID입니다.
loginCustomerID 특정 고객의 보고서 데이터를 가져오려는 Google Ads 관리자 계정의 고객 ID입니다. 아니요
developerToken Ads API에 대한 액세스 권한을 부여하는 데 사용하는 관리자 계정과 연관된 개발자 토큰입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하도록 선택하거나, Azure Key Vault에 암호를 저장하고 복사 작업이 데이터 복사를 수행할 때 거기에서 끌어오도록 할 수 있습니다. Key Vault에 자격 증명 저장에서 자세히 알아보세요.
authenticationType 인증에 사용되는 OAuth 2.0 인증 메커니즘입니다.
허용되는 값은 ServiceAuthentication, UserAuthentication입니다.
ServiceAuthentication은 자체 호스팅 IR에서만 사용할 수 있습니다.
UserAuthentication의 경우:
refreshToken UserAuthentication을 위한 Ads 액세스 권한을 부여하기 위해 Google에서 얻은 새로 고침 토큰입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하도록 선택하거나, Azure Key Vault에 암호를 저장하고 복사 작업이 데이터 복사를 수행할 때 거기에서 끌어오도록 할 수 있습니다. Key Vault에 자격 증명 저장에서 자세히 알아보세요. 아니요
clientId 새로 고침 토큰을 얻는 데 사용되는 Google 애플리케이션의 클라이언트 ID입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하도록 선택하거나, Azure Key Vault에 암호를 저장하고 복사 작업이 데이터 복사를 수행할 때 거기에서 끌어오도록 할 수 있습니다. Key Vault에 자격 증명 저장에서 자세히 알아보세요. 아니요
clientSecret 새로 고침 토큰을 얻는 데 사용되는 Google 애플리케이션의 클라이언트 암호입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하도록 선택하거나, Azure Key Vault에 암호를 저장하고 복사 작업이 데이터 복사를 수행할 때 거기에서 끌어오도록 할 수 있습니다. Key Vault에 자격 증명 저장에서 자세히 알아보세요. 아니요
ServiceAuthentication의 경우:
이메일 ServiceAuthentication에 사용되는 서비스 계정 메일 ID이며 자체 호스팅 IR에서만 사용할 수 있습니다. 아니요
privateKey 권장 드라이버 버전의 ServiceAuthentication에 사용되며 자체 호스팅 IR에서만 사용할 수 있는 서비스 프라이빗 키입니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하도록 선택하거나, Azure Key Vault에 암호를 저장하고 복사 작업이 데이터 복사를 수행할 때 거기에서 끌어오도록 할 수 있습니다. Key Vault에 자격 증명 저장에서 자세히 알아보세요. 아니요
레거시 드라이버 버전을 사용하는 ServiceAuthentication의 경우:
이메일 ServiceAuthentication에 사용되는 서비스 계정 메일 ID이며 자체 호스팅 IR에서만 사용할 수 있습니다. 아니요
keyFilePath 서비스 계정 메일 주소를 인증하는 데 사용되는 .p12 또는 .json 키 파일의 전체 경로이며 자체 호스팅 IR에서만 사용할 수 있습니다. 아니요
trustedCertPath TLS를 통해 연결할 때 서버를 확인하는 데 사용되는 신뢰할 수 있는 CA 인증서를 포함하는 .pem 파일의 전체 경로입니다. 이 속성은 자체 호스팅 IR에서 TLS를 사용하는 경우에만 설정할 수 있습니다. 기본값은 IR과 함께 설치된 cacerts.pem 파일입니다. 아니요
useSystemTrustStore 시스템 신뢰 저장소 또는 지정된 PEM 파일의 CA 인증서를 사용할지 여부를 지정합니다. 기본값은 false입니다. 아니요

예제:

{
    "name": "GoogleAdsLinkedService",
    "properties": {
        "type": "GoogleAdWords",
        "typeProperties": {
            "clientCustomerID": "<clientCustomerID>",
            "loginCustomerID": "<loginCustomerID>",
            "developerToken": {
                "type": "SecureString",
                "value": "<developerToken>"
            },
            "authenticationType": "UserAuthentication",
            "refreshToken": {
                "type": "SecureString",
                "value": "<refreshToken>"
            },
            "clientId": {
                "type": "SecureString",
                "value": "<clientId>"
            },
            "clientSecret": {
                "type": "SecureString",
                "value": "<clientSecret>"
            },
            "googleAdsApiVersion": "v14"
        }
    }
}

데이터 세트 속성

데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 문서를 참조하세요. 이 섹션에서는 Google Ads 데이터 세트에서 지원하는 속성 목록을 제공합니다.

Google Ads에서 데이터를 복사하려면 데이터 세트의 형식 속성을 GoogleAdWordsObject로 설정합니다. 다음과 같은 속성이 지원됩니다.

속성 설명 필수
type 데이터 세트의 형태 속성을 GoogleAdWordsObject로 설정해야 합니다.
tableName 테이블 이름입니다. 레거시 드라이버 버전을 사용하는 경우 이 속성을 지정합니다. 아니요(작업 원본에서 "query"가 지정된 경우)

예제

{
    "name": "GoogleAdsDataset",
    "properties": {
        "type": "GoogleAdWordsObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleAds linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

복사 작업 속성

작업 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인 문서를 참조하세요. 이 섹션에서는 Google Ads 원본에서 지원하는 속성 목록을 제공합니다.

Google Ads에서 데이터를 복사하려면 복사 작업의 원본 형식을 GoogleAdWordsSource로 설정합니다. 복사 작업 source 섹션에서 다음 속성이 지원됩니다.

속성 설명 필수
type 복사 작업 원본의 형식 속성은 GoogleAdWordsSource로 설정해야 합니다.
query GAQL 쿼리를 사용하여 데이터를 읽습니다. 예: SELECT campaign.id FROM campaign 아니요(데이터 세트의 "tableName"이 지정된 경우)

예제:

"activities":[
    {
        "name": "CopyFromGoogleAds",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<GoogleAds input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleAdWordsSource",
                "query": "SELECT campaign.id FROM campaign"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

조회 작업 속성

속성에 대한 자세한 내용을 보려면 조회 작업을 확인하세요.

Google Ads 드라이버 버전 업그레이드

Google Ads 드라이버 버전을 업그레이드하려면 연결된 서비스를 업데이트하고 SQL에서 GAQL(Google Ads 쿼리 언어)로 마이그레이션하는 방법을 배워야 합니다.

연결된 서비스 구성 업데이트

연결된 서비스 편집 페이지의 드라이버 버전에서 권장을 선택하고 연결된 서비스 속성을 참조하여 연결 서비스를 구성합니다.

SQL에서 GAQL로 마이그레이션

SQL에서 GAQL로 마이그레이션할 때 쿼리 문과 필드 이름을 변환합니다.

쿼리 문

복사 작업 원본에서 SQL 쿼리를 사용하거나 레거시 Google Ads 연결된 서비스를 참조하는 조회 작업을 사용하는 경우 이를 GAQL 쿼리로 업데이트해야 합니다.

SQL과 달리 GAQL의 쿼리는 6가지 종류의 절로 구성됩니다.

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

GAQL 소개를 보려면 Google Ads 쿼리 문법을 참조하세요.

다음 SQL 문을 예로 들어 보겠습니다.

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

아래 지침에 따라 SQL 문을 해당 GAQL 문으로 변환할 수 있습니다.

  1. SELECT 절 뒤에 *(별표)가 사용되는 경우 GAQL은 SELECT *를 지원하지 않으므로 별표 대신 모든 필수 필드를 지정해야 합니다. 특정 리소스에서 선택 가능한 모든 필드를 보려면 이 문서로 이동합니다.
  2. 필드 이름이 SELECT 절 뒤에 사용되는 경우 명명 규칙이 다르기 때문에 이름을 GAQL의 해당 필드 이름으로 변환해야 합니다. 예를 들어, SQL 쿼리 문의 필드 이름 campaign_id는 GAQL에서 campaign.id로 변환되어야 합니다. 필드 이름 변환에 대한 자세한 내용은 필드 이름을 참조하세요.
  3. 리소스 이름은 대/소문자가 여기에 지정된 것과 일치하지 않는 한 그대로 둘 수 있습니다.
  4. GAQL에서 지원하는 연산자는 SQL과 일치하지 않으므로 WHERE 절은 GAQL 문법에 따라 업데이트되어야 하며 필드 이름도 두 번째 항목에 설명된 대로 변환되어야 합니다.

다음은 Google에서 제공하는 매우 유용한 두 가지 도구이며 해당 GAQL 쿼리 문을 빌드할 때 적극 권장됩니다.

필드 이름

SQL에 사용되는 필드 이름이 GAQL과 일치하지 않습니다. 또한 SQL의 필드 이름을 GAQL의 필드 이름으로 변환하는 규칙을 배워야 합니다. 변환 규칙은 다음과 같이 요약될 수 있습니다.

  • 필드 이름이 리소스에 속하는 경우 SQL의 밑줄(_)이 GAQL에서 점(.)으로 변경됩니다. 그리고 점 사이의 단어에 대해서는 SQL에서 사용되는 camelCase 형식 문이 사이에 밑줄이 추가된 독립형 단어로 변경됩니다. SQL에서 PascalCase 형식의 첫 번째 문자열은 GAQL에서 해당 리소스 이름으로 변경됩니다.

  • 필드 이름이 세그먼트 또는 메트릭에 속하는 경우 GAQL에 접두사 segments. 또는 metrics.를 추가한 다음 첫 번째 항목에 설명된 것과 동일한 규칙에 따라 이름을 변환해야 합니다.

필드 이름 변환의 구체적인 예는 다음과 같습니다.

범주 SQL의 필드 이름 GAQL의 필드 이름
리소스 필드 Campaign_startDate campaign.start_date
리소스 필드 Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
세그먼트 DayOfWeek segments.day_of_week
메트릭 VideoViews metrics.video_views

아래 표에는 권장 드라이버 버전과 레거시 드라이버 버전을 사용하는 Google Ads 간의 기능 차이점이 나와 있습니다.

권장 드라이버 버전 레거시 드라이버 버전
Google Ads API 버전 지정이 지원됩니다. Google Ads API 버전 지정은 지원되지 않습니다.
ServiceAuthentication은 다음 두 가지 속성을 지원합니다.
  • email
  • privateKey
ServiceAuthentication은 다음 네 가지 속성을 지원합니다.
  • email
  • keyFilePath
  • trustedCertPath
  • useSystemTrustStore
데이터 세트에서 테이블을 선택하는 것은 지원되지 않습니다. 데이터 세트에서 테이블 선택 및 복사 작업에서 테이블 쿼리를 지원합니다.
쿼리 언어로 GAQL 구문을 지원합니다. 쿼리 언어로 SQL 구문을 지원합니다.
출력 열 이름은 Google Ads에 정의된 필드 이름과 동일합니다. 출력 열 이름이 Google Ads에 정의된 필드 이름과 일치하지 않습니다.
다음 매핑은 Google Ads 데이터 형식에서 서비스 내부적으로 사용되는 중간 데이터 형식으로 사용됩니다.

float -> float
int32 -> int
int64 -> long
다음 매핑은 Google Ads 데이터 형식에서 서비스 내부적으로 사용되는 중간 데이터 형식으로 사용됩니다.

float -> string
int32 -> string
int64 -> string

Google AdWords 커넥터를 Google Ads 커넥터로 업그레이드

다음 단계에 따라 Google AdWords 연결 서비스를 최신 Google Ads 연결 서비스로 업그레이드합니다.

  1. 새 Google Ads 연결 서비스를 만들려면 드라이버 버전으로 권장을 선택하고 연결 서비스 속성을 참조하여 구성합니다.

  2. 레거시 Google AdWords 연결 서비스를 참조하는 파이프라인을 업데이트합니다. Google Ads 연결된 서비스는 쿼리를 사용하여 데이터를 복사하는 것만 지원한다는 점을 고려하면 다음과 같습니다.

    1. 파이프라인이 Google AdWords 보고서에서 데이터를 직접 쿼리하는 경우 아래 표에서 해당 Google Ads 리소스 이름을 찾아 이 도구를 사용하여 쿼리를 빌드합니다.

      Google AdWords 보고서 Google Ads 리소스
      ACCOUNT_PERFORMANCE_REPORT 고객
      AD_PERFORMANCE_REPORT ad_group_ad
      ADGROUP_PERFORMANCE_REPORT ad_group
      AGE_RANGE_PERFORMANCE_REPORT age_range_view
      AUDIENCE_PERFORMANCE_REPORT campaign_audience_view,ad_group_audience_view
      AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view
      BID_GOAL_PERFORMANCE_REPORT bidding_strategy
      BUDGET_PERFORMANCE_REPORT campaign_budget
      CALL_METRICS_CALL_DETAILS_REPORT call_view
      CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view
      CAMPAIGN_CRITERIA_REPORT campaign_criterion
      CAMPAIGN_PERFORMANCE_REPORT 캠페인
      CAMPAIGN_SHARED_SET_REPORT campaign_shared_set
      CAMPAIGN_LOCATION_TARGET_REPORT location_view
      CLICK_PERFORMANCE_REPORT click_view
      DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view
      DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view
      GENDER_PERFORMANCE_REPORT gender_view
      GEO_PERFORMANCE_REPORT geographic_view,user_location_view
      KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view
      KEYWORDS_PERFORMANCE_REPORT keyword_view
      LABEL_REPORT label
      LANDING_PAGE_REPORT landing_page_view,expanded_landing_page_view
      PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view
      PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view
      PLACEHOLDER_FEED_ITEM_REPORT feed_item,feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      PLACEMENT_PERFORMANCE_REPORT managed_placement_view
      PRODUCT_PARTITION_REPORT product_group_view
      SEARCH_QUERY_PERFORMANCE_REPORT search_term_view
      SHARED_SET_CRITERIA_REPORT shared_criterion
      SHARED_SET_REPORT shared_set
      SHOPPING_PERFORMANCE_REPORT shopping_performance_view
      TOP_CONTENT_PERFORMANCE_REPORT No longer available in the Google Ads API.
      URL_PERFORMANCE_REPORT detail_placement_view
      USER_AD_DISTANCE_REPORT distance_view
      VIDEO_PERFORMANCE_REPORT video
    2. 파이프라인이 쿼리를 사용하여 Google AdWords에서 데이터를 쿼리하는 경우 쿼리 마이그레이션 도구를 사용하여 AWQL(AdWords 쿼리 언어)을 GAQL(Google Ads 쿼리 언어)로 변환합니다.

  3. 이 업그레이드에는 다음과 같은 특정 제한 사항이 있습니다.

    1. AWQL의 모든 보고서 형식이 GAQL에서 지원되는 것은 아닙니다.
    2. 모든 AWQL 쿼리가 GAQL 쿼리로 명확하게 변환되는 것은 아닙니다.

복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.