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.- 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.The response returns a list of ad set nodes with pagination info indicating whether more results are available.query { advertiser { adSets(first: 50) { edges { node { id bidding { amount } campaign { objective } } } pageInfo { endCursor hasNextPage } } }}
{ "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.
The response confirms the updated bid amount in micros.mutation { updateAdSetBidding(input: { id: "00000000-0000-0000-0000-000000000000", bidding: {amount: 1000000} }) { bidding { amount } }}
{ "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.
The response returns a list of engagement event configurations grouped by ad set.{ adSet(id: "00000000-0000-0000-0000-000000000000") { multiRewardEngagementSettings { events { eventName eventValue amount } } }}
{ "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.
The response returns the active events remaining after the mutation, excluding any disabled events.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 } } }}
{ "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.
The response returns event configurations for each publisher app, as well as any non-app-specific configurations listed under a null app.{ adSet(id: "00000000-0000-0000-0000-000000000000") { multiRewardEngagementSettings { app { bundleId } events { eventName eventValue amount } } }}
{ "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.
The response returns the active top-level events and per-app bid groups remaining after the mutation.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 } } }}
{ "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 } ] } ] } } }}