알림

Google Ad Manager 360에서만 사용 가능

데이터 전송 샘플 쿼리 검토

Google Ad Manager 360에서만 사용 가능

이 도움말에는 Ad Manager 데이터 전송 보고서를 위한 쿼리 생성 방법의 예가 포함되어 있습니다. 데이터 전송 파일 수신 방법 등 데이터 전송 파일에 대해 자세히 알아보기

이 문서의 이전 이름은 '데이터 전송 설명서'였습니다.

모두 펼치기  모두 접기

이 도움말의 내용:

잔여 노출수

NetworkImpressions의 잔여 노출수

일일 잔여 노출수를 찾으려면 LineItemsID0인 항목에 대해 NetworkImpressions에 쿼리합니다. NetworkBackfillImpressions에 잔여 노출수가 없습니다.

샘플 코드 및 결과

코드

SELECT
 COUNT(1) AS UnfilledImpressions
FROM
 NetworkImpressions
WHERE
 LineItemID = 0
 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’

 

결과

UnfilledImpressions
1 20000000

NetworkRequests의 잔여 노출수

NetworkRequests를 쿼리하여 잔여 노출수를 찾을 수도 있습니다. IsFilledRequest가 false인 요청을 찾습니다. NetworkBackfillRequests에 잔여 노출수가 없습니다.

샘플 코드 및 결과

코드

SELECT
 COUNT(1) AS UnfilledImpressions
FROM
 NetworkRequests
WHERE
 NOT IsFilledRequest 
 AND Time >= '2020-01-01' AND Time < '2020-01-02'

 

결과

UnfilledImpressions
1 20000000

URL별 잔여 노출수

Ad Manager 보고에서는 광고 단위 또는 요청된 크기별로 잔여 노출수를 표시할 수 있지만 URL별로는 표시할 수 없습니다. RefererURL을 포함하면 잔여 노출수를 생성하는 상위 10개 페이지를 찾을 수 있습니다.

샘플 코드 및 결과

코드

SELECT
 RefererURL, COUNT(1) AS UnfilledImpressions
FROM 
 NetworkImpressions
WHERE
 LineItemID = 0
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY RefererURL
ORDER BY UnfilledImpressions DESC
LIMIT 10

 

결과

RefererURL UnfilledImpressions
1 http://example.com/ 4903691
2 http://example.com/url/a 748271
3 http://example.com/url/b 383293
4 http://example.com/url/c 364355
5 http://example.com/url/d 326495
6 http://example.net/ 295346
7 http://example.net/url/a 291043
8 http://example.net/url/b 276106
9 http://example.net/url/c 231169
10 http://example.net/url/d 194988

광고 단위별 잔여 노출수

한 페이지에서 잔여 노출수가 가장 많은 광고 단위를 찾습니다. BigQuery 커넥터를 사용하는 경우 광고 단위 데이터 이동 색인을 사용하여 광고 단위의 이름을 찾습니다. 데이터 이동 색인에는 매일의 광고 단위 데이터가 포함되어 있으므로 데이터 이동 색인 데이터를 하루로 제한해야 합니다.

샘플 코드 및 결과

코드

SELECT
 AdUnitID, Name AS AdUnitName, COUNT(1) AS UnfilledImpressions
FROM
 NetworkImpressions AS NI
 INNER JOIN MatchTableAdUnit AS MTAU ON 
  AdUnitID = ID
  AND LineItemID = 0
  AND Time >= '2020-01-01' AND Time < '2020-01-02'
  AND RefererURL = 'https://example.com/'
  AND MTAU._DATA_DATE = '2020-01-01'
GROUP BY AdUnitID, AdUnitName
ORDER BY UnfilledImpressions DESC, AdUnitID
LIMIT 10

 

결과

AdUnitID AdUnitName UnfilledImpressions
1 95730695 마지막 레벨의 이름 A 1123439
2 95033015 마지막 레벨의 이름 B 1116622
3 95033615 마지막 레벨의 이름 C 1102641
4 95049575 마지막 레벨의 이름 D 772235
5 95734535 마지막 레벨의 이름 E 744777
6 95584895 마지막 레벨의 이름 F 27593
7 95045255 마지막 레벨의 이름 G 7482
8 95343215 마지막 레벨의 이름 H 1925
9 94977215 마지막 레벨의 이름 I 19
10 95033375 마지막 레벨의 이름 J 12

노출수

데이터 전송 및 Ad Manager 보고 비교

ProductDealType별 노출수

데이터 전송의 ProductDealType 필드를 사용하여 '수요 채널', '프로그래매틱 채널' 및 '최적화 유형' 측정기준을 사용하는 Ad Manager 보고서와 유사한 보고서를 생성하세요. NetworkImpressions(LineItemID는 0이 아님) 및 NetworkBackfillImpressions에서 노출수를 선택합니다.

샘플 코드 및 결과(데이터 전송)

코드

SELECT
 Product, DealType, COUNT(1) AS Impressions
FROM
 NetworkImpressions
WHERE
 LineItemID != 0 
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY Product, DealType
UNION ALL
SELECT
 Product, DealType, COUNT(1) AS Impressions
FROM
 NetworkBackfillImpressions
WHERE
 Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY Product, DealType
ORDER BY Product, DealType

 

결과

Product DealType 개수
1 Ad Exchange null 60000000
2 Ad Exchange 비공개 입찰 2000000
3 광고 서버 null 40000000
4 광고 서버 우선 거래 1000000
5 광고 서버 보장 프로그래매틱 1200000
6 Exchange 입찰 null 15000000
7 Exchange 입찰 우선 거래 20000
8 Exchange 입찰 비공개 입찰 500000
9 우선 검토 null 100000
샘플 코드 및 결과(Ad Manager 보고)

보고서 매개변수

Ad Manager 보고에서 동일한 날짜를 사용하여 보고서를 실행합니다. 다음 측정기준과 측정항목을 선택합니다.

  • 측정기준:
    • 수요 채널
    • 프로그래매틱 채널
    • 최적화 유형
       
  • 측정항목:
    • 총노출수
       

 

결과

수요 채널 프로그래매틱 채널 최적화 유형 총노출수
1 공개 입찰 공개 입찰 기타 모든 트래픽 9,000,000
2 공개 입찰 공개 입찰 최적화 경쟁 7,000
3 공개 입찰 공개 입찰 타겟 CPM 5,993,000
4 공개 입찰 우선 거래 기타 모든 트래픽 20,000
5 공개 입찰 비공개 입찰 기타 모든 트래픽 496,000
6 공개 입찰 비공개 입찰 최적화 경쟁 4,000
7 광고 서버 (해당 사항 없음) 기타 모든 트래픽 40,000,000
8 광고 서버 우선 거래 기타 모든 트래픽 1,000,000
9 광고 서버 보장 프로그래매틱 기타 모든 트래픽 1,200,000
10 Ad Exchange 공개 입찰 기타 모든 트래픽 48,000,000
11 Ad Exchange 공개 입찰 우선 검토 100,000
12 Ad Exchange 공개 입찰 최적화 경쟁 10,000
13 Ad Exchange 공개 입찰 타겟 CPM 11,990,000
14 Ad Exchange 비공개 입찰 기타 모든 트래픽 1,995,000
15 Ad Exchange 비공개 입찰 최적화 경쟁 5,000
요약 및 비교

직접

  • 데이터 전송:
    • Product = Ad Server
    • DealTypenull
    • 3행: 40,000,000
  • Ad Manager 보고:
    • 수요 채널 = '광고 서버'
    • 프로그래매틱 채널 = '(해당 사항 없음)'
    • 최적화 유형 = '기타 모든 트래픽'
    • 7행: 40,000,000

 

우선 거래

  • 데이터 전송:
    • Product = Ad Server
    • DealTypePreferred Deal
    • 4행: 1,000,000
  • Ad Manager 보고:
    • 수요 채널 = '광고 서버'
    • 프로그래매틱 채널 = '우선 거래'
    • 최적화 유형 = '기타 모든 트래픽'
    • 8행: 1,000,000
  • 데이터 전송:
    • Product = Exchange Bidding
    • DealTypePreferred Deal
    • 7행: 20,000
  • Ad Manager 보고:
    • 수요 채널 = '공개 입찰'
    • 프로그래매틱 채널 = '우선 거래'
    • 최적화 유형 = '기타 모든 트래픽'
    • 4행: 20,000

 

보장 프로그래매틱

  • 데이터 전송:
    • Product = Ad Server
    • DealTypeProgrammatic Guaranteed
    • 5행: 1,200,000
  • Ad Manager 보고:
    • 수요 채널 = '광고 서버'
    • 프로그래매틱 채널 = '보장 프로그래매틱'
    • 최적화 유형 = '기타 모든 트래픽'
    • 9행: 1,200,000

 

Ad Exchange 공개 입찰(우선 검토 제외)

  • 데이터 전송:
    • Product = Ad Exchange
    • DealTypenull
    • 1행: 60,000,000
  • Ad Manager 보고:
    • 수요 채널 = 'Ad Exchange'
    • 프로그래매틱 채널 = '공개 입찰'
    • 최적화 유형 = '기타 모든 트래픽', '타겟 CPM', '최적화 경쟁'
    • 10행, 12행, 13행: 48,000,000 + 10,000 + 11,990,000 = 60,000,000

 

Ad Exchange 비공개 입찰

  • 데이터 전송:
    • Product = Ad Exchange
    • DealTypePrivate Auction
    • 2행: 2,000,000
  • Ad Manager 보고:
    • 수요 채널 = 'Ad Exchange'
    • 프로그래매틱 채널 = '비공개 입찰'
    • 최적화 유형 = '기타 모든 트래픽', '최적화 경쟁'
    • 14행 및 15행 합계: 1,995,000 + 5,000 = 2,000,000

 

공개 입찰 공개 입찰

  • 데이터 전송:
    • Product = Exchange Bidding
    • DealTypenull
    • 6행: 15,000,000
  • Ad Manager 보고:
    • 수요 채널 = '공개 입찰'
    • 프로그래매틱 채널 = '공개 입찰'
    • 최적화 유형 = '기타 모든 트래픽', '타겟 CPM', '최적화 경쟁'
    • 1행, 2행, 3행 합계: 9,000,000 + 7,000 + 5,993,000 = 15,000,000

 

공개 입찰 비공개 입찰

  • 데이터 전송:
    • Product = Exchange Bidding
    • DealTypePrivate Auction
    • 8행: 500,000
  • Ad Manager 보고:
    • 수요 채널 = '공개 입찰'
    • 프로그래매틱 채널 = '비공개 입찰'
    • 최적화 유형 = '기타 모든 트래픽', '최적화 경쟁'
    • 5행 및 6행 합계: 496,000 + 4,000 = 500,000

 

우선 검토

  • 데이터 전송:
    • Product = First Look
    • DealTypenull
    • 9행: 100,000
  • Ad Manager 보고:
    • 수요 채널 = 'Ad Exchange'
    • 프로그래매틱 채널 = '공개 입찰'
    • 최적화 유형 = '우선 검토'
    • 11행: 100,000

수익

CPM 광고 항목의 수익

NetworkImpressions 파일에는 수익 데이터가 포함되지 않지만 BigQuery 커넥터를 사용하는 경우 광고 항목 데이터 이동 색인을 사용하여 CPM 요율을 확인할 수 있습니다. 또는 Ad Manager API를 사용하여 광고 항목의 요율을 찾습니다. 노출수를 계산하고 요율을 곱하고 1,000으로 나누면 지정된 기간 동안 특정 CPM 광고 항목의 수익을 찾을 수 있습니다. 데이터 이동 색인에는 매일의 광고 단위 데이터가 포함되어 있으므로 데이터 이동 색인 데이터를 하루로 제한해야 합니다.

샘플 코드 및 결과

코드

WITH Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
   AND Time >= '2020-01-01' AND Time < '2020-01-11'
 GROUP BY
   LineItemID
)
 
SELECT
 LineItemID, Impressions, CostPerUnitInNetworkCurrency AS Rate, CostType, ((Impressions * CostPerUnitInNetworkCurrency) / 1000) AS Revenue
FROM
 Impression_Data
 JOIN MatchTableLineItem ON LineItemID = ID
WHERE
 MatchTableLineItem._DATA_DATE = '2020-01-10'

결과

LineItemID Impressions Rate CostType Revenue
1 123456789 21324 3.5 CPM 74.634

CPD 광고 항목의 수익

CPM 광고 항목과 마찬가지로 광고 항목 데이터 이동 색인 또는 Ad Manager API를 사용하여 광고 항목의 CPD 요율을 찾을 수 있습니다. 데이터 이동 색인에는 매일의 광고 단위 데이터가 포함되어 있으므로 데이터 이동 색인 데이터를 하루로 제한해야 합니다. 특정 CPD 광고 항목의 수익을 찾으려면 노출이 게재된 일수를 계산하고 요율을 곱합니다. 평균 eCPM을 확인하기 위해 게재된 노출수를 포함할 수 있습니다.

샘플 코드 및 결과

코드

WITH Impression_Data AS (
 SELECT
   SUBSTR(Time, 0, 10) AS Date,
   LineItemID,
   CostPerUnitInNetworkCurrency AS Rate,
   CostType,
   COUNT(1) AS Impressions
 FROM
   NetworkImpressions
   JOIN MatchTableLineItem ON LineItemID = ID
 WHERE
   LineItemID = 123456789
   AND MatchTableLineItem._DATA_DATE = '2020-01-01'
 GROUP BY
   Date, LineItemID, Rate, CostType
)
SELECT
 LineItemID,
 COUNT(1) AS Days,
 CostType,
 Rate,
 (COUNT(1) * Rate) AS Revenue,
 SUM(Impressions) AS Impressions,
 ROUND((COUNT(1) * Rate) / SUM(Impressions) * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
GROUP BY
 LineItemID, CostType, Rate

결과

LineItemID Days CostType Rate Revenue Impressions Average_eCPM
1 123456789 5 CPD 4000.0 20000.0 7000000 2.86

CPC 광고 항목의 수익

CPM 광고 항목과 마찬가지로 광고 항목 데이터 이동 색인 또는 Ad Manager API를 사용하여 광고 항목의 CPC 요율을 찾을 수 있습니다. 데이터 이동 색인에는 매일의 광고 단위 데이터가 포함되어 있으므로 데이터 이동 색인 데이터를 하루로 제한해야 합니다. 지정된 기간 동안 특정 CPC 광고 항목의 수익을 찾으려면 클릭수를 계산하고 요율을 곱합니다. 평균 eCPM을 확인하기 위해 게재된 노출수를 포함할 수 있습니다.

샘플 코드 및 결과

코드

WITH Impression_Data AS (
 SELECT
   LineItemID,
   COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
 GROUP BY
   LineItemID
), Click_Data AS (
 SELECT
   LineItemID,
   CostPerUnitInNetworkCurrency AS Rate,
   CostType,
   COUNT(1) AS Clicks
 FROM
   NetworkClicks
   JOIN MatchTableLineItem ON LineItemID = ID
 WHERE
   LineItemID = 123456789
   AND MatchTableLineItem._DATA_DATE = '2020-01-01'
 GROUP BY
   LineItemID, Rate, CostType
)
 
SELECT
 LineItemID,
 CostType,
 Impressions,
 Clicks,
 ROUND(Clicks / Impressions * 100, 2) AS CTR,
 Rate,
 (Clicks * Rate) AS Revenue,
 ROUND((Clicks * Rate) / Impressions * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
 JOIN Click_Data USING (LineItemID)

결과

LineItemID CostType Impressions 클릭수 CTR Rate Revenue Average_eCPM
1 123456789 CPC 140000 23 0.02 15.5 356.5 2.55

vCPM 광고 항목의 수익

CPM 광고 항목과 마찬가지로 광고 항목 데이터 이동 색인 또는 Ad Manager API를 사용하여 광고 항목의 vCPM 요율을 찾을 수 있습니다. 데이터 이동 색인에는 매일의 광고 단위 데이터가 포함되어 있으므로 데이터 이동 색인 데이터를 하루로 제한해야 합니다. 특정 vCPM 광고 항목의 수익을 찾으려면 NetworkActiveViews에서 조회 가능 노출수를 계산하고 요율을 곱합니다. 평균 eCPM을 확인하기 위해 게재된 노출수를 포함할 수 있습니다.

샘플 코드 및 결과

코드

WITH Active_View_Data AS (
 SELECT
   LineItemID, COUNT(1) AS ViewableImpressions
 FROM
   NetworkActiveViews
 WHERE
   LineItemID = 123456789
 GROUP BY LineItemID
), Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
 GROUP BY LineItemID
)
SELECT
 Active_View_Data.LineItemID,
 CostType,
 Impressions,
 ViewableImpressions,
 CostPerUnitInNetworkCurrency AS Rate,
 (CostPerUnitInNetworkCurrency * ViewableImpressions / 1000) AS Revenue,
 ROUND((CostPerUnitInNetworkCurrency * ViewableImpressions / 1000) / Impressions * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
 JOIN Active_View_Data USING (LineItemID)
 JOIN MatchTableLineItem ON Active_View_Data.LineItemID = ID
WHERE
 MatchTableLineItem._DATA_DATE = '2020-08-01'

결과

LineItemID CostType Impressions ViewableImpressions Rate Revenue Average_eCPM
1 123456789 CPMAV 500000 150000 10 1500.0 3.0

광고주 수익

지정된 기간 동안 특정 광고주의 수익을 찾으려면 각 광고 항목의 노출수를 계산하고 요율을 곱합니다. 광고 항목 데이터 이동 색인에서 요율을 찾고 회사 데이터 이동 색인을 사용하여 광고주 이름을 찾습니다.

샘플 코드 및 결과

코드

WITH Impression_Data AS (
 SELECT
   AdvertiserID, LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 111222333
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY
   AdvertiserID, LineItemID
)
 
SELECT
 AdvertiserID,
 MTC.Name AS CompanyName,
 LineItemID, Impressions,
 CostPerUnitInNetworkCurrency AS Rate,
 CostType,
 ((Impressions * CostPerUnitInNetworkCurrency) / 1000) AS Revenue
FROM
 Impression_Data
 JOIN MatchTableLineItem AS MTLI ON LineItemID = MTLI.ID
 JOIN MatchTableCompany AS MTC ON AdvertiserID = MTC.ID
WHERE
 MTLI._DATA_DATE = '2020-01-01'
 AND MTC._DATA_DATE = '2020-01-01'

결과

AdvertiserID CompanyName LineItemID Impressions Rate CostType Revenue
1 111222333 ABC 111111111 20212 5.0 CPM 101.06
2 111222333 ABC 222222222 58321 3.0 CPM 174.963
3 111222333 ABC 333333333 82772 8.5 CPM 703.562
4 111222333 ABC 444444444 19003 3.25 CPM 61.7597

코드 제공 횟수

대체가 사용 설정된 네트워크에서 데이터 전송은 대체 체인에서 선택한 모든 광고 항목에 대한 코드 제공을 계산합니다. 반면 Ad Manager 보고에서는 대체 체인에서 선택한 첫 번째 광고 항목에 대한 코드 제공 횟수만 계산합니다. 데이터 전송은 컴패니언 광고에 대한 코드 제공도 계산하지만 Ad Manager 보고에서는 이를 계산하지 않습니다. 데이터 전송 보고서를 Ad Manager 보고와 최대한 일치하도록 하려는 경우 VideoFallbackPosition = 0이고 IsCompanionfalse인 경우에만 코드 제공 횟수를 계산하세요. 데이터 전송의 미디에이션 코드 제공 횟수는 Ad Manager 보고의 미디에이션 코드 제공 횟수와 일치하지 않을 수 있습니다. 구현에 따라 데이터 전송과 Ad Manager 보고서의 코드 제공 횟수 간에 기타 차이가 발생할 수 있습니다.

단일 광고주의 광고 항목별 코드 제공 횟수, 노출수, 렌더링 비율

코드 제공이 직접 광고주의 광고 항목에 대한 노출수로 얼마나 자주 전환되는지 확인합니다. 직접 광고주를 살펴보는 중이므로 이러한 코드 제공 횟수는 NetworkCodeServes에만 있고 노출수는 NetworkImpressions에만 있습니다.

샘플 코드 및 결과

코드

WITH Code_Serve_Data AS (
 SELECT
   LineItemID, COUNT(1) AS CodeServes
 FROM
   NetworkCodeServes
 WHERE
   AdvertiserID = 12345678
   AND VideoFallbackPosition = 0
   AND IsCompanion IS FALSE
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY LineItemID
), Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 12345678
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY LineItemID
)
SELECT
 LineItemID, 
 CodeServes, 
 Impressions, 
 ROUND((Impressions / CodeServes) * 100, 2) AS RenderRate
FROM
 Code_Serve_Data JOIN Impression_Data USING (LineItemID)
ORDER BY RenderRate DESC

결과

LineItemID CodeServes Impressions RenderRate
1 1111111111 6000 2600 43.33
2 2222222222 1000000 371200 37.12
3 3333333333 50000 17550 35.1
4 4444444444 800000 275000 34.38
5 5555555555 1500000 400000 26.66

기기 카테고리 및 게재된 광고 크기별 코드 제공 횟수, 노출수, 렌더링 비율

기기 카테고리 및 게재된 광고 크기를 포함하여 한 광고주의 주문 1개의 렌더링 비율이 어떻게 다른지 확인합니다.

샘플 코드 및 결과

코드

WITH Code_Serve_Data AS (
 SELECT
   LineItemID, CreativeSizeDelivered, DeviceCategory, COUNT(1) AS CodeServes
 FROM
   NetworkCodeServes
 WHERE
   AdvertiserID = 87654321
   AND OrderID = 1111111111
   AND VideoFallbackPosition = 0
   AND IsCompanion IS FALSE
 GROUP BY LineItemID, CreativeSizeDelivered, DeviceCategory
), Impression_Data AS (
 SELECT
   LineItemID, CreativeSizeDelivered, DeviceCategory, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 87654321
   AND OrderID = 1111111111
 GROUP BY LineItemID, CreativeSizeDelivered, DeviceCategory
)
SELECT
 LineItemID, 
 DeviceCategory, 
 CreativeSizeDelivered, 
 CodeServes, 
 Impressions, 
 ROUND((Impressions / CodeServes) * 100, 2) AS RenderRate
FROM
 Code_Serve_Data
 JOIN Impression_Data USING (LineItemID, CreativeSizeDelivered, DeviceCategory)
ORDER BY LineItemID, CreativeSizeDelivered, DeviceCategory 

결과

LineItemID DeviceCategory CreativeSizeDelivered CodeServes Impressions RenderRate
1 6666666666 커넥티드 TV 동영상/오버레이 100 40 40.0
2 6666666666 데스크톱 동영상/오버레이 20000 9000 45.0
3 6666666666 스마트폰 동영상/오버레이 32000 25000 78.13
4 6666666666 태블릿 동영상/오버레이 1000 800 80.0
5 7777777777 커넥티드 TV 300x250 200 190 95.0
6 7777777777 데스크톱 300x250 185000 184000 99.46
7 7777777777 스마트폰 300x250 225000 220000 97.77
8 7777777777 태블릿 300x250 10000 9800 98.0
9 7777777777 커넥티드 TV 300x50 50 50 100.0
10 7777777777 데스크톱 300x50 1000 900 90.0
11 7777777777 스마트폰 300x50 90000 80000 88.89
12 7777777777 태블릿 300x50 800 750 93.75

조회가능성

조회가능성 데이터는 ActiveVieweligibleCount, ActiveViewMeasurableCount, ActiveViewViewableCount 필드를 사용하여 노출 파일과 ActiveView 파일 모두에서 확인할 수 있습니다. 이러한 필드와 값 설정 방법을 자세히 알아보세요.

지정된 기간의 조회가능성은 파일에서 찾은 값을 합산하거나 개별 이벤트를 통합한 다음 값을 합산하여 계산할 수 있습니다. 아래에서 설명한 것처럼 두 전략 간에 약간의 차이가 발생할 수 있습니다.

발생 가능 노출수, 측정 가능 노출수, 조회 가능 노출수(총합)

지정된 날짜의 발생 가능, 측정 가능, 조회 가능 노출수를 찾습니다. 위에서 설명한 것처럼 노출 파일과 ActiveView 파일을 사용해야 합니다.

샘플 코드 및 결과

코드

DECLARE startdate STRING DEFAULT '2023-01-01 00:00:00';
DECLARE enddate STRING DEFAULT '2023-01-02 00:00:00';


WITH ActiveView_Data AS (
 SELECT DeviceCategory, VideoPosition,
 SUM(IFNULL(ActiveViewMeasurableCount, 0)) AS ActiveViewMeasurableCount,
 SUM(IFNULL(ActiveViewViewableCount, 0)) AS ActiveViewViewableCount
 FROM (
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
     SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
   FROM
     NetworkActiveViews
   WHERE Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition
   UNION ALL
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
     SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
   FROM
     NetworkBackfillActiveViews
   WHERE Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition
 )
 GROUP BY DeviceCategory, VideoPosition
), Impression_Data AS (
 SELECT DeviceCategory, VideoPosition,
 SUM(IFNULL(ActiveViewEligibleCount, 0)) AS ActiveViewEligibleCount,
 SUM(IFNULL(ActiveViewMeasurableCount, 0)) AS ActiveViewMeasurableCount
 FROM (
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount
   FROM
     NetworkImpressions
   WHERE
     Time >= startdate AND Time < enddate
     AND LineItemID !=0
   GROUP BY DeviceCategory, VideoPosition 
   UNION ALL
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount
FROM
     NetworkBackfillImpressions
   WHERE
     Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition 
 )
 GROUP BY DeviceCategory, VideoPosition
)


SELECT
 DeviceCategory,
 VideoPosition,
 IFNULL(ActiveViewEligibleCount, 0) AS ActiveViewEligibleCount,
 IFNULL(i.ActiveViewMeasurableCount, 0) + IFNULL(av.ActiveViewMeasurableCount, 0) AS ActiveViewMeasurableCount,
 IFNULL(ActiveViewViewableCount, 0) AS ActiveViewViewableCount
FROM Impression_Data i
FULL JOIN ActiveView_Data av USING (DeviceCategory, VideoPosition)
ORDER BY DeviceCategory, VideoPosition

결과

EligibleImpressions MeasurableImpressions ViewableImpressions
1 97000000 95000000 60000000

발생 가능 노출수, 측정 가능 노출수, 조회 가능 노출수(결합 노출수 기준)

노출 파일 및 ActiveView 파일의 개별 이벤트를 결합한 다음 값을 합산하여 지정된 날짜의 발생 가능, 측정 가능, 조회 가능 노출수를 찾습니다. 드물게는 조회 가능 Active View 핑이 수신되었지만 노출 핑이 수신되지 않은 경우도 있습니다. ActiveView 데이터를 노출 데이터와 결합하면 위에 표시된 것처럼 측정 가능한 노출수의 차이가 발생하고 첫 번째 검색어와 비교하여 조회 가능 노출수가 더 적을 수 있습니다.

샘플 코드 및 결과

코드

DECLARE startdate STRING DEFAULT '2023-01-01 00:00:00';
DECLARE enddate STRING DEFAULT '2023-01-02 00:00:00';


WITH ActiveView_Data AS (
 SELECT
   CAST(substr(Time, 0, 10) as Date) AS Date,
   Product,
   KeyPart,
   TimeUsec2,
   SUM(ActiveViewMeasurableCount) AS avAVMC,
   SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
 FROM
   NetworkActiveViews
 WHERE Time >= startdate AND Time < enddate
 GROUP BY Date, Product, KeyPart, TimeUsec2
 UNION ALL
 SELECT
   CAST(substr(Time, 0, 10) as Date) AS Date,
   Product,
   KeyPart,
   TimeUsec2,
   SUM(ActiveViewMeasurableCount) AS avAVMC,
   SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
 FROM
   NetworkBackfillActiveViews
 WHERE Time >= startdate AND Time < enddate
 GROUP BY Date, Product, KeyPart, TimeUsec2 
), Impression_Data AS (
 SELECT
   CAST(substr(i.Time, 0, 10) as Date) AS Date,
   i.Product,
   i.TimeUsec2,
   i.KeyPart,
   i.ActiveViewEligibleCount AS ActiveViewEligibleCount,
   i.ActiveViewMeasurableCount AS iAVMC,
   av.avAVMC AS avAVMC,
   av.ActiveViewViewableCount     
 FROM
   NetworkImpressions i
   LEFT JOIN ActiveView_Data AS av USING (Product, Keypart, TimeUsec2)
 WHERE
   i.Time >= startdate AND i.Time < enddate
   AND i.LineItemID !=0
 UNION ALL
 SELECT
   CAST(substr(i.Time, 0, 10) as Date) AS Date,
   i.Product,
   i.TimeUsec2,
   i.KeyPart,
   i.ActiveViewEligibleCount AS ActiveViewEligibleCount,
   i.ActiveViewMeasurableCount AS iAVMC,
   av.avAVMC AS avAVMC,
   av.ActiveViewViewableCount     
 FROM
   NetworkBackfillImpressions i
   LEFT JOIN ActiveView_Data AS av USING (Product, Keypart, TimeUsec2)
 WHERE
   i.Time >= startdate AND i.Time < enddate
), Full_Data AS (
 SELECT
   Date,
   Product,
   TimeUsec2,
   KeyPart,
   ActiveViewEligibleCount,
   CASE WHEN ActiveViewViewableCount >=1 THEN 1 ELSE (IFNULL(iAVMC, 0) + IFNULL(avAVMC, 0)) END AS ActiveViewMeasurableCount,
   IFNULL(ActiveViewViewableCount, 0) AS ActiveViewViewableCount
 FROM
   Impression_Data
)


SELECT
 SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
 SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
 SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
FROM
 Full_Data

결과

EligibleImpressions MeasurableImpressions ViewableImpressions
1 97000000 95000000 59900000

키-값

키 사용

각 키가 광고 요청에 표시되는 빈도(Customtargeting에 표시됨) 및 광고 항목을 게재하는 데 각 키가 사용된 빈도(TargetedCustomCriteria에 표시됨)를 확인합니다. 검색결과에 표시되지 않거나 자주 사용되지 않는 활성 키는 키 한도를 넘지 않도록 보관처리하는 것이 좋을 수 있습니다.

샘플 코드 및 결과

코드

WITH Key_Value_Pairs AS (
 SELECT
   KVPair
 FROM
   NetworkImpressions CROSS JOIN UNNEST(SPLIT(CustomTargeting, ';')) AS KVPair
 WHERE
   CustomTargeting IS NOT NULL
 UNION ALL
 SELECT
   KVPair
 FROM
  NetworkBackfillImpressions CROSS JOIN UNNEST(SPLIT(CustomTargeting, ';')) AS KVPair
 WHERE
   CustomTargeting IS NOT NULL
), Targeted_Key_Value_Pairs AS (
 SELECT
   TargetedKVPair
 FROM
   NetworkImpressions CROSS JOIN UNNEST(SPLIT(TargetedCustomCriteria, ';')) AS TargetedKVPair
 WHERE
   TargetedCustomCriteria IS NOT NULL
 UNION ALL
 SELECT
   TargetedKVPair
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST (SPLIT(TargetedCustomCriteria, ';')) AS TargetedKVPair
 WHERE
   TargetedCustomCriteria IS NOT NULL
), Key_Usage AS (
 SELECT
   REGEXP_REPLACE(KVPair, '=.+', '') AS Key,
   COUNT(1) AS KeyUsageCount
 FROM Key_Value_Pairs
 GROUP BY Key
), Key_Targeted_Usage AS (
 SELECT
   REGEXP_REPLACE(TargetedKVPair, '(!)*(=|~).+', '') AS Key,
   COUNT(1) AS KeyTargetedCount
 FROM Targeted_Key_Value_Pairs
 GROUP BY Key
)
 
SELECT
 CASE WHEN Key_Usage.Key IS NULL THEN Key_Targeted_Usage.Key ELSE Key_Usage.Key END AS Key,
 KeyUsageCount,
 KeyTargetedCount
FROM
 Key_Usage
 FULL JOIN Key_Targeted_Usage ON Key_Usage.Key = Key_Targeted_Usage.Key
ORDER BY Key

결과

Key KeyUsageCount KeyTargetedCount
1 key_abc 10000000 1000000
2 key_def 25000000 5000000
3 key_ghi 40000 2000
4 key_jkl 300000 12000
5 key_mno 100000 1000

입찰 파트너별 입찰

CustomTargeting에서 입찰가를 추출하여 각 파트너가 입찰하는 빈도를 확인할 수 있습니다. 아래 예시에서는 각 파트너의 이름이 'bidder_prefix_partnername'과 같이 'bidder_prefix_'로 시작할 것으로 예상하며, 해당 파트너에 대한 입찰가는 'bidder_prefix_partnername=1.23' 형식일 것으로 예상합니다.

샘플 코드 및 결과

코드

SELECT
 Bidder, COUNT(1) AS BidCount
FROM (
 SELECT
   Bidder
 FROM
   NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*')) AS Bidder
 WHERE
   CustomTargeting LIKE '%bidder_prefix_%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 UNION ALL
 SELECT
   Bidder
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*')) AS Bidder
 WHERE
   CustomTargeting LIKE '%bidder_prefix_%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
)
GROUP BY Bidder
ORDER BY BidCount 

결과

Bidder BidCount
1 bidder_prefix_partner_1 15000000
2 bidder_prefix_partner_2 12000000
3 bidder_prefix_partner_3 9000000
4 bidder_prefix_partner_4 6000000
5 bidder_prefix_partner_5 3000000

단일 입찰 파트너의 입찰가 및 개수

단일 입찰 파트너의 경우 가장 일반적인 입찰가와 각 입찰가의 빈도를 확인합니다. 아래의 예에서는 'bidder_partner'라는 이름의 파트너에 대해 노출수 표에 표시된 가장 일반적인 입찰가 10개를 선택합니다(CustomTargeting에 '1.23'과 같은 입찰가로 설정된 키 'bidder_partner가 있는 노출수).

샘플 코드 및 결과

코드

SELECT
 BidPrice, SUM(BidCount) AS BidCount
FROM (
 SELECT
    SAFE_CAST(REGEXP_EXTRACT(CustomTargeting, 'bidder_partner=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
    COUNT(1) AS BidCount
 FROM
   NetworkImpressions
 WHERE
    CustomTargeting LIKE '%bidder_partner=%'
    AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY BidPrice
 UNION ALL
 SELECT
    SAFE_CAST(REGEXP_EXTRACT(CustomTargeting, 'bidder_partner=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
    COUNT(1) AS BidCount
 FROM
   NetworkBackfillImpressions
 WHERE
    CustomTargeting LIKE '%bidder_partner=%'
    AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY BidPrice
)
GROUP BY BidPrice
ORDER BY BidCount DESC
LIMIT 10

결과

BidPrice BidCount
1 0.01 600000
2 0.02 500000
3 0.05 400000
4 0.07 300000
5 0.09 200000
6 0.03 150000
7 0.08 100000
8 0.04 75000
9 0.10 50000
10 0.06 25000

입찰가 개수 및 평균 입찰가

모든 입찰 파트너의 노출수 표에서 총 입찰가 개수 및 평균 입찰가를 찾습니다. 아래 예시에서는 각 파트너의 이름이 'bidder_prefix_partnername'과 같이 'bidder_prefix_'로 시작할 것으로 예상하며, 해당 파트너에 대한 입찰가는 'bidder_prefix_partnername=1.23' 형식일 것으로 예상합니다.

샘플 코드 및 결과

코드

WITH Bid_Data AS (
 SELECT
   REGEXP_EXTRACT(Bid, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*') AS Bidder,
   SAFE_CAST(REGEXP_EXTRACT(Bid, 'bidder_prefix_[A-z]+=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
   COUNT(1) AS BidCount 
   FROM (
     SELECT Bid
     FROM NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'bidder_prefix_[A-z]+=[0-9]+\\.[0-9]*')) AS Bid
     WHERE
       CustomTargeting LIKE '%bidder_prefix_%'
       AND Time >= '2020-01-01' AND Time < '2020-01-02'
     UNION ALL
     SELECT Bid
     FROM NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'bidder_prefix_[A-z]+=[0-9]+\\.[0-9]*')) AS Bid
     WHERE
       CustomTargeting LIKE '%bidder_prefix_%'
       AND Time >= '2020-01-01' AND Time < '2020-01-02'
   )
   GROUP BY Bidder, BidPrice
), BidPrice_Totals AS (
 SELECT
   Bidder, SUM(BidValue) AS TotalBidValue
 FROM (
   SELECT Bidder, BidPrice * BidCount AS BidValue
   FROM Bid_Data
 )
 GROUP BY Bidder
), BidCount_Totals AS (
  SELECT
   Bidder, SUM(BidCount) AS TotalBidCount
  FROM
   Bid_Data
  GROUP BY Bidder
)
 
SELECT
 BidCount_Totals.Bidder,
 TotalBidCount,
 ROUND((TotalBidValue / TotalBidCount), 2) AS AverageBid
FROM
 BidCount_Totals
 INNER JOIN BidPrice_Totals ON BidCount_Totals.Bidder = BidPrice_Totals.Bidder
ORDER BY Bidder

결과

Bidder BidCount AverageBid
1 bidder_prefix_partner_1 15000000 0.21
2 bidder_prefix_partner_2 12000000 1.43
3 bidder_prefix_partner_3 9000000 2.67
4 bidder_prefix_partner_4 6000000 6.80
5 bidder_prefix_partner_5 3000000 0.92

DMP 세그먼트 개수

데이터 관리 플랫폼은 사용자가 속한 세그먼트를 키-값 쌍으로 전달하는 경우가 많습니다. 광고 요청에 이러한 세그먼트가 표시되는 빈도(각 세그먼트에 타겟팅될 수 있었던 노출수)를 확인합니다. CustomTargeting 세그먼트 ID를 추출합니다. 아래 예시에서는 키 이름이 'seg'이고 값은 문자와 숫자로 구성되어 있을 것으로 예상합니다.

샘플 코드 및 결과

코드

SELECT
 Segment, COUNT(1) AS Count
FROM (
 SELECT
   Segment
 FROM
   NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'seg=([A-z0-9]+)')) AS Segment
 WHERE
   CustomTargeting LIKE '%seg=%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 UNION ALL
 SELECT
   Segment
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'seg=([A-z0-9]+)')) AS Segment
 WHERE
   CustomTargeting LIKE '%seg=%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
)
GROUP BY Segment
ORDER BY Count DESC

결과

Segment Count
1 abcd1234 10000000
2 efgh5678 9000000
3 ijkl9012 8000000
4 mnop3456 7000000
5 qrst7890 6000000
6 uvwx1234 5000000
7 yzab5678 4000000
8 cdef9012 3000000
9 ghij3456 2000000
10 klmn7890 1000000

동영상

URL, 광고 단위 ID, 위치별 동영상 오류

심각한 오류가 있는 동영상 광고 항목의 문제를 해결하려면 페이지에서 오류가 가장 많이 발생한 페이지나 광고 슬롯을 찾아야 할 수 있습니다. NetworkVideoConversions를 사용하여 (ActionName에 'error'가 포함된) 광고 항목별 오류를 찾습니다. 한 페이지에 동영상 플레이어가 두 개 이상 있는 경우 플레이어는 동일한 광고 단위를 사용하며 'pos'와 같은 키를 사용하여 페이지의 광고 단위를 구분하고 CustomTargeting에서 pos 값을 추출합니다. 아래 예에서는 키 이름이 'pos'일 것으로 예상하고 하나의 동영상 광고 항목의 오류에 대한 책임이 있는 RefererURL, AdUnitIDPosition의 상위 5개 조합을 보여줍니다.

샘플 코드 및 결과

코드

SELECT
 RefererURL, AdUnitID, REGEXP_EXTRACT(CustomTargeting, 'pos=([^;]+)') AS Position, COUNT(1) AS ErrorCount
FROM
 NetworkVideoConversions
WHERE
 LineItemID = 123456789
 AND ActionName LIKE '%error%'
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY RefererURL, AdUnitID, Position
ORDER BY ErrorCount DESC
LIMIT 5

결과

RefererURL AdUnitID Position ErrorCount
1 https://example.com/ 11111111 상단 2000
2 https://example.com/url/a 22222222 상단 1500
3 https://example.com/url/b 22222222 상단 1400
4 https://example.com/url/c 11111111 상단 1000
5 https://example.com/url/c 11111111 하단 500

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?
검색
검색어 지우기
검색 닫기
기본 메뉴
14738134750135924684
true
도움말 센터 검색
true
true
true
true
true
148
false
false