Apple Search Ads
Guide to integrate your Apple Search Ads with Sprinkle
Pipeline Concepts
Before setting up the pipeline, learn about pipeline concepts here
Step by Step Guide
STEP-1: Configure Connection
To learn about Connection, refer here
Log into Sprinkle application
Navigate to Ingest -> Connections Tab -> New Connection ->
Select Apple Search Ads
Test Connection
Create
STEP-2: Configure Pipeline
To learn about Pipeline, refer here
Navigate to Import -> Pipeline -> Add ->
Select Apple Search Ads
Provide the name -> Create
Connection Tab:
From the drop-down, select the name of connection created in STEP-2
Update
STEP-3: Create Dataset
Datasets Tab: To learn about Dataset, refer here. Add Dataset for each report/dataset that you want to integrate, providing following details
Org (Required) : Select the Org Id from the drop-down
Report Type (Required) : Select the API through which you want the result. Read more from apple search ads api docs. Select report type from any one of the following:
User_ACL
Campaigns
Budget_Orders
Ad_Groups
Campaigns: Select from the drop-down
Campaign_Negative_Keywords
Campaigns: Select from the drop-down
Geolocation
Device_Sizes
Campaign_Level_Report
Start Date: Start Date from which you want to fetch data. Give Start Date in Format yyyy-mm-dd
Window for Backfill: Mention window for backfill, for backfilling metrics in every run to include updates from attribution window. Can take values 1, 7 and 28.
Ad_Group_Level_Report
Campaigns: Select from the drop-down
Start Date: Start Date from which you want to fetch data. Give Start Date in Format yyyy-mm-dd
Window for Backfill: Mention window for backfill, for backfilling metrics in every run to include updates from attribution window. Can take values 1, 7 and 28.
Keyword_Level_Report
Campaigns: Select from the drop-down
Start Date: Start Date from which you want to fetch data. Give Start Date in Format yyyy-mm-dd
Window for Backfill: Mention window for backfill, for backfilling metrics in every run to include updates from attribution window. Can take values 1, 7 and 28.
Search_Term_Level_Report
Campaigns: Select from the drop-down
Start Date: Start Date from which you want to fetch data. Give Start Date in Format yyyy-mm-dd
Window for Backfill: Mention window for backfill, for backfilling metrics in every run to include updates from attribution window. Can take values 1, 7 and 28.
Creative_Set_Level_Report
Campaigns: Select from the drop-down
Start Date: Start Date from which you want to fetch data. Give Start Date in Format yyyy-mm-dd
Window for Backfill: Mention window for backfill, for backfilling metrics in every run to include updates from attribution window. Can take values 1, 7 and 28.
Flatten Level(Required) : Select One Level or Multi Level. In one level, flattening will not be applied on complex type. They will be stored as string. In multi level, flattening will be applied in complex level till they become simple type.
Destination Schema (Required) : Data warehouse schema where the table will be ingested into
Destination Table name (Required) : It is the table name to be created on the warehouse. If not given, sprinkle will create like ds_<pipelinename>_<tablename>
Destination Create Table Clause: Provide additional clauses to warehouse-create table queries such as clustering, partitioning, and more, useful for optimizing DML statements. Learn more on how to use this field.
Create
STEP-4: Run and schedule Ingestion
In the Ingestion Jobs tab:
Trigger the Job, using Run button
To schedule, enable Auto-Run. Change the frequency if required
Advanced Connection Settings
API Read Timeout (In seconds) : Maximum time of inactivity between two data packets when waiting for the server's response. The default value is 30 seconds.
API Connection Timeout (In seconds) : Time period within which a connection between a client and a server must be established.
Retry Limit : Number of retries allowed when an API call fails. For example if an API call fails and retry limit is 5 then it will check 5 times for that API call and if it succeeded then it will stop checking.
Retry Sleep Time (In milliseconds) : Given time, after which retry should happen in case an API call fails.
Incremental Batch Size (In days) : No. of days in one batch for which data is being downloaded during incremental ingestion.
Version : It gives information about the version of Apple Search Ads API being used.
Timezone : Enter the applicable timezone from the dropdown.
Dataset Fields
Campaigns
adamId
adChannelType
billingEvent
budgetAmount
budgetOrders
countriesOrRegions
countryOrRegionServingStateReasons
dailyBudgetAmount
deleted
displayStatus
endTime
id
locInvoiceDetails
modificationTime
name
orgId
paymentModel
paymentModel
servingStatus
startTime
status
supplySources
Budget_Orders
id
name
startDate
endDate
budget_amount
budget_currency
orderNumber
clientName
primaryBuyerEmail
billingEmail
status
parentOrgId
supplySources
Ad_Groups
automatedKeywordsOptIn
campaignId
cpaGoal
defaultBidAmount
deleted
displayStatus
endTime
id
modificationTime
name
orgId
paymentModel
pricingModel
servingStateReasons
servingStatus
startTime
status
targetingDimensions
Campaign_Level_Report
other
granularity_impressions
granularity_taps
installs
granularity_newDownloads
granularity_redownloads
granularity_latOnInstalls
granularity_latOffInstalls
granularity_ttr
granularity_avgCPA _amount
granularity_avg_CPA_currency
granularity_avgCPT amount
granularity avgCPT_ currency
granularity_ avgCPM amount
granularity_avgCPM_currency
granularity localSpend _amount
granularity_localcurrency
granularity_conversionRate
granularity_date
metadata_ adChannelType
metadata_billingEvent
metadata_ supplySources
metadata_campaignId
metadata_campaignName
metadata_deleted
metadata_campaignStatus
metadata_app_appName
metadata_app_ adamId
metadata_servingStatus
metadata_ servingStateReasons
metadata_countriesOrRegions
metadata_modificationTime
metadata_totalBudget_amount
metadata_totalBudget_currency
metadata_dailyBudget_amount
metadata_dailyBudget_currency
metadata_displayStatus
metadata_orgId
metadata_countryOrRegionServingStateReasons
metadata_countryOrRegion
metadata_deviceClass
Ad_Group_Level_Report
other
granularity_impressions
granularity_taps
granularity_installs
granularity_newDownloads
granularity_redownloads
granularity_latOnInstalls
granularity_latOffInstalls
granularity_ttr
granularity_avgCPA_amount
granularity_avgCPA_currency
granularity_avgCPT_amount
granularity_avgCPT_currency
granularity_avgCPM_amount
granularity_avgCPM_currency
granularity_localSpend_amount
granularity_localSpend_currency
granularity_conversionRate
granularity_date
metadata_adGroupId
metadata_adGroupName
metadata_startTime
metadata_endTime
metadata_cpaGoal
metadata_pricingModel
metadata_defaultBidAmount_amount
metadata_defaultBidAmount_currency
deleted
adGroupStatus
adGroupServingStatus
adGroupServingStateReasons
modificationTime
automatedKeywordsOptIn
adGroupDisplayStatus
campaignId
orgId
countryOrRegion
deviceClass
Keyword_Level_Report
other
total_impressions
total_taps
total_installs
total_newDownloads
total_redownloads
total_latOnInstalls
total_latOffInstalls
total_ttr
total_avgCPA_amount
total_avgCPA_currency
total_avgCPT_amount
total_avgCPT_currency
total_avgCPM_amount
total_avgCPM_currency
total_localSpend_amount
total_localSpend_currency
total_conversionRate
metadata_keywordId
metadata_keyword
metadata_keywordStatus
metadata_matchType
metadata_bidAmount_amount
metadata_bidAmount_currency
deleted
keywordDisplayStatus
adGroupId
adGroupName
adGroupDeleted
modificationTime
insights_bidRecommendation_bidMin_amount
insights_bidRecommendation_bidMin_currency
insights_bidRecommendation_bidMax_amount
insights_bidRecommendation_bidMax_currency
grandTotals_other
grandTotals_total_impressions
grandTotals_total_taps
grandTotals_total_installs
grandTotals_total_newDownloads
grandTotals_total_redownloads
grandTotals_total_latOnInstalls
grandTotals_total_latOffInstalls
grandTotals_total_ttr
grandTotals_total_avgCPA_amount
grandTotals_total_avgCPA_currency
grandTotals_total_avgCPT_amount
grandTotals_total_avgCPT_currency
grandTotals_total_avgCPM_amount
grandTotals_total_avgCPM_currency
grandTotals_total_localSpend_amount
grandTotals_total_localSpend_currency
grandTotals_total_conversionRate
Search_Term_Level_Report
other
total_impressions
total_taps
total_installs
total_newDownloads
total_redownloads
total_latOnInstalls
total_latOffInstalls
total_ttr
total_avgCPA_amount
total_avgCPA_currency
total_avgCPT_amount
total_avgCPT_currency
total_avgCPM_amount
total_avgCPM_currency
total_localSpend_amount
total_localSpend_currency
total_conversionRate
metadata_keywordId
metadata_keyword
metadata_keywordStatus
metadata_matchType
metadata_bidAmount_amount
metadata_bidAmount_currency
deleted
keywordDisplayStatus
adGroupId
adGroupName
adGroupDeleted
searchTermText
countryOrRegion
searchTermSource
grandTotals_other
grandTotals_total_impressions
grandTotals_total_taps
grandTotals_total_installs
grandTotals_total_newDownloads
grandTotals_total_redownloads
grandTotals_total_latOnInstalls
grandTotals_total_latOffInstalls
grandTotals_total_ttr
grandTotals_total_avgCPA_amount
grandTotals_total_avgCPA_currency
grandTotals_total_avgCPT_amount
grandTotals_total_avgCPT_currency
grandTotals_total_avgCPM_amount
grandTotals_total_avgCPM_currency
grandTotals_total_localSpend_amount
grandTotals_total_localSpend_currency
grandTotals_total_conversionRate
Creative_Set_Level_Report
other
total_impressions
total_taps
total_installs
total_newDownloads
total_redownloads
total_latOnInstalls
total_latOffInstalls
total_ttr
total_avgCPA_amount
total_avgCPA_currency
total_avgCPT_amount
total_avgCPT_currency
total_avgCPM_amount
total_avgCPM_currency
total_localSpend_amount
total_localSpend_currency
total_conversionRate
metadata_creativeSetId
metadata_creativeSetName
metadata_displayStatus
metadata_creativeSetLanguageDisplayName
metadata_deleted
metadata_status
metadata_orgId
metadata_campaignId
metadata_adGroupId
metadata_adGroupCreativeSetId
metadata_creationTime
metadata_modificationTime
metadata_adFormat
Last updated