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 2 months 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.
- For information on retrieving reporting data through the Reporting API, refer to Reporting API - Advertiser.
- For information on error handling and limitations with the Reporting API, refer to Reporting API Best Practices.
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
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.
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
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.
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
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 } ] } ] } } }}