Apple Search Ads
The Switchboard Apple Search Ads Connector provides access to automated campaign, ad group cost, and conversion metrics.
Prerequisites
To configure access to the Switchboard Apple Search Ads Connector, you need:
- Private Key
- Client Certificate Pem file
To obtain these credentials, contact the administrator of your Apple Search Ads Account.
Scheduling
Apple Search Ads Connector can be scheduled to ingest data once per day at a user-defined hour and timezone. By default, the connector will run once at 6am PT. See Daily Scheduling for more information.
Report Types
The following report types are available:
- Ad Group Level Reports. For more information, see Get Ad Group Level Reports Documentation.
- Campaign Level Reports. For more information, see Get Campaign Level Reports Documentation.
- Campaigns Reports. For more information, see Get all Campaigns Documentation.
Sample Switchboard Script
The Apple Search Ads connector is a bundle connector - each import contains multiple tables.
Each Apple Search Ads import statement must include a table definition for:
- ad_group_reports
- campaign_reports
- campaigns
import bundle apple_search_ads_bundle {
type: "apple_search_ads:campaign_bundle";
key: "apple_search_ads_key";
api_version: "v3";
table ad_group_reports using {
"date": date;
"granularity": json;
"metadata": {
"adGroupId": integer;
"adGroupName": string;
"startTime": datetime;
"endTime": datetime;
"cpaGoal": string;
"defaultCpcBid": {
"amount": float;
"currency": string;
};
"deleted": string;
"adGroupStatus": string;
"adGroupServingStatus": string;
"adGroupServingStateReasons": json;
"modificationTime": datetime;
"automatedKeywordsOptIn": boolean;
"adGroupDisplayStatus": string;
"campaignId": integer;
"orgId": integer;
};
};
table campaigns using {
"id": integer;
"orgId": integer;
"name": string;
"budgetAmount": {
"amount": integer;
"currency": string;
};
"dailyBudgetAmount": {
"amount": integer;
"currency": string;
};
"adamId": integer;
"paymentModel": string;
"locInvoiceDetails": {
"clientName": string;
"orderNumber": string;
"buyerName": string;
"buyerEmail": string;
"billingContactEmail": string;
};
"budgetOrders": json;
"displayStatus": string;
"startTime": datetime;
"endTime": datetime;
"status": string;
"servingStatus": string;
"servingStateReasons": json;
"modificationTime": datetime;
"deleted": boolean;
"sapinLawResponse": string;
"countriesOrRegions": json;
"countryOrRegionServingStateReasons": json;
};
table campaign_reports using {
"granularity": json;
"metadata": {
"campaignId": integer;
"campaignName": string;
"deleted": boolean;
"campaignStatus": string;
"app": {
"appName": string;
"adamId": integer;
};
"servingStatus": string;
"servingStateReasons": json;
"countriesOrRegions": json;
"modificationTime": datetime;
"totalBudget": {
"amount": integer;
"currency": string;
};
"dailyBudget": {
"amount": integer;
"currency": string;
};
"displayStatus": string;
"supplySources": string;
"adChannelType": string;
"orgId": integer;
"countryOrRegionServingStateReasons": json;
};
"date": date;
};
};
Parameters
Parameter |
Description |
Required/Optional? |
api_version |
The version of the API used. By default, API version 3 is used. For Example: api_version: "v3";. |
Required |