세분화

세분화는 Google Ads UI에서 별도의 메뉴로 사용할 수 있으며, Google Ads API에서 쿼리를 구현할 수 있습니다. 대상 예를 들어 segments.device를 쿼리하면 기기와 기기의 조합마다 행이 포함된 보고서가 생성됩니다. FROM에 지정된 리소스 및 통계 값 (노출수, 클릭수, 전환수 등)이 분할되어 표시됩니다.

Google Ads UI에서는 한 번에 하나의 세그먼트만 사용할 수 있지만 API를 사용하면 동일한 쿼리에 여러 세그먼트를 지정할 수 있습니다.

SELECT
  campaign.name,
  campaign.status,
  segments.device,
  metrics.impressions
FROM campaign

이 쿼리를 GoogleAdsService.SearchStream 드림 다음 JSON 문자열과 같습니다.

{
  "results":[
    {
      "campaign":{
        "resourceName":"customers/1234567890/campaigns/111111111",
        "name":"Test campaign",
        "status":"ENABLED"
      },
      "metrics":{
        "impressions":"10922"
      },
      "segments":{
        "device":"MOBILE"
      }
    },
    {
      "campaign":{
        "resourceName":"customers/1234567890/campaigns/111111111",
        "name":"Test campaign",
        "status":"ENABLED"
      },
      "metrics":{
        "impressions":"28297"
      },
      "segments":{
        "device":"DESKTOP"
      }
    },
    ...
  ]
}

위의 샘플 결과에서 첫 번째 및 두 번째 동일한 객체(예: 리소스 이름 포함)가 노출수는 device 기준이므로 동일한 캠페인에 대해 2개 이상의 객체가 반환될 수 있습니다.

암시적 세분화

모든 보고서는 처음에 FROM에 지정된 리소스별로 세분화됩니다. 절. FROM 절에서 리소스의 resource_name 필드는 다음과 같습니다. resource_name 필드가 명시적으로 포함되지 않습니다. 예를 들어 ad_groupFROM 절에서 리소스로 사용하는 경우 ad_group.resource_name에서 다음을 실행합니다. 자동으로 반환되며 마지막 세그먼트에서 측정항목이 있습니다.

이 쿼리의 경우

SELECT metrics.impressions
FROM ad_group

다음과 같은 JSON 문자열을 얻게 됩니다.

{
  "results":[
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/2222222222"
      },
      "metrics":{
        "impressions":"237"
      }
    },
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/33333333333"
      },
      "metrics":{
        "impressions":"15"
      }
    },
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/44444444444"
      },
      "metrics":{
        "impressions":"0"
      }
    }
  ]
}

adGroupresource_name 필드가 항상 반환됩니다. ad_groupFROM 절에서 리소스로 지정되었습니다.

선택 가능한 세그먼트 필드

FROM 절에서 특정 리소스에 대해 모든 세그먼트 필드를 선택할 수 있는 것은 아닙니다. 예를 들어 ad_group에서 계속 쿼리합니다. 리소스도 제공합니다 ad_group 리소스에서 세그먼트 필드를 선택할 수 있도록 하려면 해당 필드가 ad_group의 Segments 목록에 있어야 합니다. Segments 표의 사용 가능한 필드 표에서 ad_group 리소스의 메타데이터 페이지

세그먼트 리소스

일부 리소스에서 선택할 때 암시적으로 참여하는 옵션이 있을 수 있습니다. 관련 리소스의 입력란 옆에 있는 필드를 선택하여 FROM 절에 있습니다. 이러한 관련 리소스는 FROM 절의 메타데이터에 있는 리소스에 대한 Attributed Resources 목록 있습니다. ad_group 리소스의 경우 다음과 같습니다. campaign에서 필드를 선택할 수도 있습니다. 리소스도 제공합니다 Attributed Resources의 resource_name 필드 SELECT 절의 필드 1개가 자동으로 반환되며 resource_name 필드가 쿼리에 명시적으로 포함되어 있지 않습니다.

Attributed Resource 필드를 선택하는 것과 마찬가지로 Segmenting Resource 필드 주어진 리소스에 Segmenting Resources이 있는 경우 나열한 다음 나열된 리소스 중 하나에서 필드를 선택하여 그러면 쿼리가 해당 Segmenting Resource입니다. 예를 들어 campaign 리소스가 Segmenting Resource로 나열되어 있습니다. (campaign_budget 리소스용) 모두 선택 캠페인 필드(예: campaign.name) campaign_budget 리소스로 인해 campaign.name 필드가 반환되지만 campaign.resource_name 입력란 표시됩니다.

세그먼트와 측정항목 간 선택 가능

지정된 세그먼트 입력란이 다른 세그먼트 중 일부와 호환되지 않을 수 있습니다. 측정항목 필드 중 일부를 활용할 수 있습니다 어떤 세그먼트 필드가 사용 가능한지 호환되는 경우 selectable_with 목록을 검토할 수 있습니다. SELECT 절의 세그먼트 중 하나입니다.

이 경우 ad_group 리소스에는 선택할 수 있습니다 하지만 selectable_with 목록은 segments.hotel_check_in_date 호환되는 세그먼트의 수가 훨씬 적습니다. 즉, segments.hotel_check_in_date 필드를 SELECT 절에 삽입하는 경우 이 둘이 교차하는 지점에 맞춰 선택해야 하는 사용 가능한 구간을 할 수 있습니다.

세그먼트를 추가하면 요약 행의 측정항목이 감소할 수 있습니다.
segments.keyword.info.match_type이(가) 다음을 포함하는 쿼리에 추가되는 경우 FROM ad_group_ad의 경우 해당 세그먼트는 다음 행 가져오도록 쿼리에 지시합니다. 키워드를 설정한 다음 있습니다. 이 경우에는 모든 데이터가 제외되므로 측정항목이 더 낮아집니다. 확인할 수 있습니다.

WHERE 절의 세그먼트 규칙

세그먼트가 WHERE 절에 있으면 SELECT에도 있어야 합니다. 절. 이 규칙에서 예외로, 다음과 같은 기간 세그먼트는 핵심 기간 세그먼트라고 합니다.

  • segments.date
  • segments.week
  • segments.month
  • segments.quarter
  • segments.year

핵심 기간 세그먼트 필드 규칙

segments.date, segments.week, segments.month, segments.quartersegments.year는 다음과 같이 작동합니다.

  • 이러한 세그먼트는 표시되지 않고 WHERE 절에서 필터링할 수 있습니다. (SELECT 절에 포함)

  • 이러한 세그먼트 중 하나라도 SELECT 절에 포함된 경우 기간이 유한합니다. 핵심 날짜 세그먼트로 구성된 항목은 WHERE 절에 지정되어야 합니다. (날짜 세그먼트는 SELECT)을 입력합니다.

잘못됨: segments.dateSELECT 절에 한정된 기간을 지정하고 segments.dateWHEREsegments.week, segments.month, segments.quarter 또는 segments.year입니다.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
유효: 이 쿼리는 캠페인 이름과 해당 기간에 발생한 클릭수 참고: segments.date SELECT 절에 나타날 필요가 없습니다.
SELECT
  campaign.name,
  metrics.clicks
FROM campaign
WHERE segments.date > '2020-01-01'
  AND segments.date < '2020-02-01'
유효: 이 쿼리는 캠페인 이름과 기간 중 모든 날짜에 대해 날짜별로 분류된 클릭수
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date > '2020-01-01'
  AND segments.date < '2020-02-01'
유효: 이 쿼리는 캠페인 이름과 기간 중 모든 날짜에 대해 월별로 분류된 클릭수입니다.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date > '2020-01-01'
  AND segments.date < '2020-02-01'
유효: 이 쿼리는 캠페인 이름과 연중 모든 월에 대해 분기별로 나눈 다음 월별로 분류된 클릭수입니다.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year > 2015
  AND segments.year < 2020

search_term_view

참고: search_term_view 리소스에도 액세스할 수 있으므로 검색어뿐만 아니라 광고 그룹별로 암시적으로 분류되어 리소스 의 구조 이름을 광고그룹도 포함됩니다. 따라서 겉보기에 중복된 행이 실제로 표시되는 경우 행은 다음과 같이 다른 광고그룹에 속하게 됩니다.

{
  "results":[
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"3"
      },
      "segments":{
        "date":"2015-06-15"
      }
    },
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"2"
      },
      "segments":{
        "date":"2015-06-15"
      }
    }
  ]
}

이 예에서 반환된 두 객체는 중복된 것처럼 보이지만 실제로는 리소스 이름이 다릅니다. 특히 '광고그룹'에서 있습니다. 즉, 'Google 포토'라는 검색어를 사용하면 인코더와 디코더가 같은 날짜 (2015년 6월 15일)에 있는 광고그룹 (ID 222222222233333333333) 따라서 API가 의도한 대로 작동했고 반환 값을 반환하지 않았다는 결론을 내릴 수 있습니다. 이 경우 중복 객체입니다.