Documentation menu

Microsoft Ads#

Connect Microsoft Ads with OAuth, your app credentials, a developer token, and an account id. The source writes 6 fixed tables under titan.microsoft_ads.

sql
select
  id,
  account_id,
  name
from titan.microsoft_ads.campaigns
limit 10

Connect Microsoft Ads#

  1. Open Apps, choose Connect app, and select Microsoft Ads.

  2. Enter OAuth, your app credentials, a developer token, and an account id.

  3. Review the tables, then save the source.

  4. Watch Sync history until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

Sync behavior#

Entity tables and performance reports use the account chosen during setup.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the system columns _synced_at and _deleted; the column reference below lists source columns only.

Table reference#

campaigns#

titan.microsoft_ads.campaigns has 8 source columns.

microsoft_ads.campaigns8 columns
idstringpk

Source field id.

account_idstring

Source field accountId.

namestring

Source field name.

statusstring

Source field status.

budget_typestring

Source field budgetType.

daily_budgetfloat

Source field dailyBudget.

start_datestring

Source field startDate.

end_datestring

Source field endDate.

ad_groups#

titan.microsoft_ads.ad_groups has 7 source columns.

microsoft_ads.ad_groups7 columns
idstringpk

Source field id.

campaign_idstring

Source field campaignId.

namestring

Source field name.

statusstring

Source field status.

cpc_bidfloat

Source field cpcBid.

start_datestring

Source field startDate.

end_datestring

Source field endDate.

ads#

titan.microsoft_ads.ads has 7 source columns.

microsoft_ads.ads7 columns
idstringpk

Source field id.

ad_group_idstring

Source field adGroupId.

typestring

Source field type.

titlestring

Source field title.

descriptionstring

Source field description.

statusstring

Source field status.

final_urlsjson

Source field finalUrls.

campaign_performance#

titan.microsoft_ads.campaign_performance has 8 source columns.

microsoft_ads.campaign_performance8 columns
campaign_idstringpk

Source field campaignId.

time_perioddatepk

Source field timePeriod.

impressionsinteger

Source field impressions.

clicksinteger

Source field clicks.

spendfloat

Source field spend.

average_cpcfloat

Source field averageCpc.

ctrfloat

Source field ctr.

conversionsinteger

Source field conversions.

ad_group_performance#

titan.microsoft_ads.ad_group_performance has 8 source columns.

microsoft_ads.ad_group_performance8 columns
ad_group_idstringpk

Source field adGroupId.

time_perioddatepk

Source field timePeriod.

impressionsinteger

Source field impressions.

clicksinteger

Source field clicks.

spendfloat

Source field spend.

average_cpcfloat

Source field averageCpc.

ctrfloat

Source field ctr.

conversionsinteger

Source field conversions.

keyword_performance#

titan.microsoft_ads.keyword_performance has 9 source columns.

microsoft_ads.keyword_performance9 columns
keyword_idstringpk

Source field keywordId.

time_perioddatepk

Source field timePeriod.

keyword_textstring

Source field keywordText.

ad_group_idstring

Source field adGroupId.

impressionsinteger

Source field impressions.

clicksinteger

Source field clicks.

spendfloat

Source field spend.

average_cpcfloat

Source field averageCpc.

quality_scoreinteger

Source field qualityScore.

Deletes and history#

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets _deleted so queries can choose whether to include history. Filter current-state queries with where not _deleted.