Documentation

Campaign management

Manage your ad campaigns using Tapjoy's Reporting API to review and update ad set configurations, bid amounts, event settings, and app‑specific settings so you can optimize campaign performance.
Read time 4 minutesLast updated 20 hours ago

The Reporting API can be used to manage your campaigns and review the configuration details of your events and ad sets.

Prerequisites

You must authenticate with the API, following the steps here.

Manage your ad sets

Review the details of your ad set configuration, such as bid amounts, targeting data, and campaign status. References: Advertiser#adSets field, AdSet type The following query returns up to 50 ad sets with their IDs, bid amounts, and campaign objectives.
query { advertiser { adSets(first: 50) { edges { node { id bidding { amount } campaign { objective } } } pageInfo { endCursor hasNextPage } } }}
The response returns a list of ad set nodes with pagination info indicating whether more results are available.
{ "data": { "advertiser": { "adSets": { "edges": [ { "node": { "id": "00000000-0000-0000-0000-000000000000", "bidding": { "amount": 0.02 }, "campaign": { "objective": "VIEWS" } } }, { "node": { "id": "00000000-0000-0000-0000-000000000001", "bidding": { "amount": 0.04 }, "campaign": { "objective": "VIEWS" } } } ], "pageInfo": { "endCursor": "Mg==", "hasNextPage": false } } } }}

Change the bid of an ad set

Note
The bid amount returned is represented in micros (1/1,000,000th of a US dollar). For more information, refer to the Money scalar type documentation.
References: AdSetBiddingUpdateInput type The following mutation updates the bid amount for a specific ad set. Specify the ad set ID and the new bid amount in micros.
mutation { updateAdSetBidding(input: { id: "00000000-0000-0000-0000-000000000000", bidding: {amount: 1000000} }) { bidding { amount } }}
The response confirms the updated bid amount in micros.
{ "data": { "bidding": { "amount": 1000000 } }}

Manage your multi-reward events

See event level information for your Multi-Reward offers, including bid amounts, event names, and event linearity.
Note
All events on an ad set will be returned, regardless of bid amount, status, or number of conversions.
References: MultiRewardEngagementEvent type The following query returns all events configured for a specific ad set, including event names, values, and bid amounts.
{ adSet(id: "00000000-0000-0000-0000-000000000000") { multiRewardEngagementSettings { events { eventName eventValue amount } } }}
The response returns a list of engagement event configurations grouped by ad set.
{ "data": { "adSet": { "multiRewardEngagementSettings": [ { "events": [ { "eventName": "level_#", "eventValue": "5", "amount": 0 }, { "eventName": "level_#", "eventValue": "10", "amount": 480000 }, } ] } ] } }}

Create and delete multi-reward events

Note
Creating and deleting MultiRewardEngagementEvents is done in a single mutation. You must provide an AdSet ID as well as a list of at least two MultiRewardEngagementEvents. To disable an event, add the disable: true attribute. eventName and eventValue are still required when disabling events to prevent accidental deletions.
References: AdSetBiddingUpdateInput type, MultiRewardEngagementEventInput type The following mutation creates, updates, or disables multi-reward engagement events for a specific ad set in a single operation.
mutation { updateAdSetBidding( input:{ id: "00000000-0000-0000-0000-000000000000" 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 } } }}
The response returns the active events remaining after the mutation, excluding any disabled events.
{ "data": { "updateAdSetBidding": { "bidding": { "multiRewardEngagementEvents": [ { "eventName": "TUTORIAL_COMPLETE", "eventValue": "", "amount": 2200000 }, { "eventName": "LEVEL_ONE", "eventValue": "", "amount": 12200000 } ] } } }}

Manage your app specific configuration

See event level information for Multi-Reward offers with publisher app specific bidding enabled. This will return event information such as bid amounts, event names, and event linearity, separated out by publisher app.
Note
Any non-publisher-app-specific event configurations will be listed under the null app.
References: MultiRewardEngagementEvent type, AppReference type The following query returns multi-reward event configurations for a specific ad set, grouped by publisher app. Events not tied to a specific app are listed under a null app entry.
{ adSet(id: "00000000-0000-0000-0000-000000000000") { multiRewardEngagementSettings { app { bundleId } events { eventName eventValue amount } } }}
The response returns event configurations for each publisher app, as well as any non-app-specific configurations listed under a null app.
{ "data": { "adSet": { "multiRewardEngagementSettings": [ { "app": null, "events": [ { "eventName": "level_#", "eventValue": "5", "amount": 0 }, { "eventName": "level_#", "eventValue": "10", "amount": 480000 }, ] }, { "app": { "bundleId": "com.app.example" }, "events": [ { "eventName": "level_#", "eventValue": "10", "amount": 520000 }, { "eventName": "level_#", "eventValue": "30", "amount": 1680000 }, ] } ] } }}

Create and delete per-app event configurations

Note
Similar to MultiRewardEngagementEvents, creating and deleting AppBiddingGroups is done in a single mutation. You must provide at least one publisher AppReference ID as well as a list of at least two MultiRewardEngagementEvents. The amount for these events will be used in place of the top-level configured values when a conversion happens inside the given publisher AppReference.
To disable an event or per-app-bid group, add disable: true to the object. Disabling a per-app-bid group automatically disables its' children events. eventName and eventValue are required when disabling events to prevent accidental deletions. References: AdSetBiddingUpdateInput type, AppBiddingGroupInput type, MultiRewardEngagementEventInput type, AppReference type The following mutation creates, updates, or disables per-app bid groups and their associated multi-reward events for a specific ad set in a single operation.
mutation { updateAdSetBidding( input:{ id: "00000000-0000-0000-0000-000000000000" 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 } } }}
The response returns the active top-level events and per-app bid groups remaining after the mutation.
{ "data": { "updateAdSetBidding": { "bidding": { "multiRewardEngagementEvents": [ { "eventName": "TUTORIAL_COMPLETE", "eventValue": "", "amount": 2200000 }, { "eventName":"LEVEL_ONE", "eventValue": "", "amount": 12200000 } ], "perAppBidGroups": [ { "pubApp": { "id": "example_publisher_app_id", "name": "Example Publisher App" }, "multiRewardEngagementEvents": [ { "eventName": "TUTORIAL_COMPLETE", "eventValue": "", "amount": 5500000 }, { "eventName": "LEVEL_ONE", "eventValue": "", "amount": 15500000 } ] } ] } } }}