광고주 예시

1. 비딩가 업데이트

Query
Result
mutation {
  updateAdSet(input: {
    id: "00000000-0000-0000-0000-000000000000",
    bidding: {amount: 1000000}
  }) {
    adSet {
      id
    }
  }
}

비딩가는 마이크로 단위로 표시됩니다. 추가적인 정보는 Money 항목을 참고해 주시길 바랍니다.

2. AdSet 확인

No filtering

Query
Result
query {
  advertiser {
    adSets(first: 50) {
      edges {
        node {
          id
          bidding {
            amount
          }
          campaign {
            objective
          }
        }
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}

참고로 endCursor 를 이용하여 결과를 페이징 형태로 나누어서 받으실 수 있습니다.

Query
Result
query {
  advertiser {
    adSets(first: 50, after: "Mg==") {
      edges {
        node {
          id
          bidding {
            amount
          }
          campaign {
            objective
          }
        }
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}

With filtering

Query
Result
query {
  advertiser {
    adSets(first: 50, configuredStatus: ACTIVE) {
      edges {
        node {
          id
        }
      }
    }
  }
}

3. 인사이트 확인

No breakdown

Query
Result
query {
  adSet(id: "00000000-0000-0000-0000-000000000000") {
    insights(timeRange: {from: "2018-03-06T00:00:00Z", until: "2018-03-07T00:00:00Z"}) {
      timestamps
      reports {
        impressions
        conversions
        spend
      }
    }
  }
}

Breakdown by country

Query
Result
query {
  adSet(id: "00000000-0000-0000-0000-000000000000") {
    insights(timePreset: TODAY) {
      reports {
        country
        impressions
        conversions
        spend
      }
    }
  }
}

광고별 퍼플리셔 앱 별 분할 분석

참고: 2018년 10월 15일 이전의 데이터의 경우 연결된 앱이 없습니다. 이 경우 "app" 은 "null" 로 처리됩니다.

참고: bundleId 와 storeId 는 Tapjoy 와 연결된 이후에만 사용 가능합니다. hashedId 는 앱별 암호회된 식별자입니다.

Query
Result
query {
  adSet(id: "00000000-0000-0000-0000-000000000000") {
    ads {
      id
      insights(timePreset: TODAY) {
        reports {
          app {
            bundleId
            hashedId
          }
          impressions
          conversions
          spend
        }
      }
    }
  }
}

전체 Ad Sets

Query
Result
query {
  advertiser {
    adSets(first: 50, configuredStatus: ACTIVE) {
      edges {
        node {
          id

          insights(timeRange: {from: "2018-03-06T00:00:00Z", until: "2018-03-07T00:00:00Z"}) {
            timestamps
            reports {
              conversions
              spend
            }
          }
        }
      }
    }
  }
}

4. 사용자 타임존 확인

utcOffset 은 +/- 숫자로 표현된 UTC 기준의 시간입니다. 만약 현재의 타임존 UTC 라면 +00:00 으로 표시됩니다.

추가로 현재의 타임존이 일광 절약 시간제(섬머타임)을 적용할 경우 결과가 바뀔 수 있습니다.

Query
Result
query {
  user {
    firstName
    lastName

    timeZone {
      utcOffset
      name
      abbreviation
    }
  }
}

5. 현재 설정된 이벤트 확인

비딩가, 상태 컨버전 수치 여부와 관계없이 AdSet 내 모든 multiRewardEngagementEvents 를 표시합니다.

Query
Result
{
  adSet(id: "ace4b134-c5ab-4e97-bc81-95406682682c") {
    multiRewardEngagementSettings {
      events {
        eventName
        eventValue
        amount
      }
    }
  }
}

6. 이벤트 생성 및 삭제

MultiRewardEngagementEvents 의 생성과 삭제는 한번의 API 콜로 설정 가능합니다. 설정시 AdSet 아이디와 최소 2개의 MultiRewardEngagementEvents 설정이 필요합니다..

이벤트를 비활성화 할 경우 disable: true 를 설정합니다. 잘못된 이벤트 삭제를 방지하기 위해 eventNameeventValue 를 설정해야 합니다.

아래 예시에서는, AdSet 내 두 이벤트 TUTORIAL_COMPLETELEVEL_ONE 설정, 그리고 LEVEL_TWO 이벤트를 비활성화 합니다.

Query
Result
mutation {
  updateAdSetBidding(
    input:{
      id: "<your adset id>"
      bidding: {
        multiRewardEngagementEvents: [
          {
            eventName:"TUTORIAL_COMPLETE",
            eventValue: "",
            amount: 2200000
          },
          {
            eventName:"LEVEL_ONE",
            eventValue: "",
            amount: 12200000
          },
          {
            eventName:"LEVEL_TWO",
            eventValue: "",
            disable: true
          }
        ]
      }
    }
  ) {
    bidding {
      multiRewardEngagementEvents {
        eventName
        eventValue
        amount
      }
    }
  }
}

7. 앱 별 이벤트 설정 확인

아래 API 를 통해 퍼블리셔 앱별 비딩 설정을 포함하여 adSet 내 모든 multiRewardEngagementEvents 데이터가 표시됩니다. 퍼블리셔 앱이 특정되지 않은 이벤트는 null 앱으로 표시됩니다.

Query
Result
{
  adSet(id: "ace4b134-c5ab-4e97-bc81-95406682682c") {
    multiRewardEngagementSettings {
      app {
        bundleId
      }
      events {
        eventName
        eventValue
        amount
      }
    }
  }
}

8. 앱 별 이벤트 설정 생성 및 삭제

MultiRewardEngagementEvents와 같이 AppBiddingGroups 생성 및 삭제 역시 하나의 API 로 설정이 가능합니다. 이를 위해 최소 하나의 퍼블리셔 AppReference 아이디와 최소 2개 이상의 MultiRewardEngagementEvents 설정되어야 합니다. 이들 이벤트 금액은 퍼블리셔 AppReference에서 컨버전이 발생했을 때 최상위 설정 값 대신 사용됩니다.

이벤트 비활성화 혹은 앱 별 비딩 그룹을 비활성화 할 경우 disable: true 를 추가합니다. 앱 별 비딩 그룹을 비활성화 할경우 하위 이벤트 역시 자동으로 비활성화 됩니다. 잘못된 이벤트 삭제를 방지하기 위해 eventNameeventValue 를 설정해야 합니다.

아래의 예시에서는 AdSet 내 두개의 이벤트 TUTORIAL_COMPLETELEVEL_ONE 를 설정합니다. 각각의 이벤트에 대하여 비딩가는 $2.2 와 $12.2 설정합니다. 이 설정은 모든 앱에 기본으로 설정될 것입니다. 또한 LEVEL_TWO 눈 비활성화 합니다.

다음 퍼블리셔 앱 1의 경우 첫번째 이벤트의 비딩가를 $5.5를 사용하고 두번째 이벤트의 비딩가는 비활성화 하였습니다.

마지막으로 퍼블리셔 앱 2의 경우 그룹 내 모든 이벤트를 비활성화 하였습니다.

Query
Result
mutation {
  updateAdSetBidding(
    input:{
      id: "<your adset id>"
      bidding: {
        perAppBidGroups: [{
          pubAppId:"<example_publisher_app_id>"
          multiRewardEngagementEvents: [
            {
              eventName:"TUTORIAL_COMPLETE",
              eventValue: "",
              amount: 5500000
            },
            {
              eventName:"LEVEL_ONE",
              eventValue: "",
              disable: true,
            }  
          ]
        },
        {
          pubAppId:"<example_publisher_app_id_2>",
          disable: true
        }],
        multiRewardEngagementEvents: [
          {
            eventName:"TUTORIAL_COMPLETE",
            eventValue: "",
            amount: 2200000
          },
          {
            eventName:"LEVEL_ONE",
            eventValue: "",
            amount: 12200000
          },
          {
            eventName:"LEVEL_TWO",
            eventValue: "",
            disable: true
          }
        ]
      }
    }
  ) {
    bidding {
      multiRewardEngagementEvents {
        eventName
        eventValue
        amount
      }
      perAppBidGroups {
          pubApp {
            id
            name
          }
        }
        multiRewardEngagementEvents {
          eventName
          eventValue
          amount
      }
    }
  }
}