
Microsoft Advertising, still commonly called Bing Ads, contains valuable campaign, keyword, ad group, budget, and performance data. But analyzing that data inside the Microsoft Ads interface alone can be limiting when you want to compare it with Google Ads, CRM, product, revenue, or website analytics data.
Loading Microsoft Ads data into BigQuery gives marketing and analytics teams a central place to build cross-channel dashboards, monitor spend, compare campaign performance, and join ad data with downstream business outcomes.
This guide shows two ways to move Bing Ads data into BigQuery: an automated Estuary pipeline and a manual CSV export/import workflow. We’ll cover the setup requirements, connector configuration, manual limitations, and the types of analysis you can run once the data lands in BigQuery.
Quick answer: The easiest way to load Bing Ads data into BigQuery is to use Estuary’s Bing Ads source connector and Google BigQuery materialization. Estuary uses OAuth2 to authenticate with Microsoft Advertising, captures supported Bing Ads resources such as campaigns, budget summaries, campaign performance reports, and keyword performance reports, then materializes them into BigQuery tables. For one-off analysis, you can also export CSV files from Microsoft Ads and import them into BigQuery manually.
Why Load Bing Ads Data Into BigQuery?
Microsoft Advertising gives marketers campaign and performance data, but BigQuery makes that data easier to combine with other business systems.
Loading Bing Ads data into BigQuery helps teams:
- compare Microsoft Ads performance with Google Ads, paid social, and organic search
- join ad spend with CRM, revenue, product, or conversion data
- build cross-channel marketing dashboards
- monitor campaign, keyword, ad group, and budget performance over time
- preserve historical reporting in a warehouse
- automate reporting instead of repeatedly exporting CSV files
- analyze performance by campaign, keyword, date, budget, and other dimensions
Method 1: Connecting Bing Ads to BigQuery Using Estuary
Estuary provides a managed way to move Microsoft Advertising data into BigQuery without manually exporting CSV files or maintaining custom API scripts.
At a high level, the workflow is:
- Create a Bing Ads capture in Estuary.
- Authenticate with your Microsoft Advertising account.
- Select the Bing Ads resources you want to capture.
- Publish the capture into Estuary collections.
- Create a Google BigQuery materialization.
- Materialize the captured Bing Ads collections into BigQuery tables.
Before you start
For the Bing Ads source, you need:
- a Microsoft Advertising account with access to the campaigns you want to capture
- a developer token associated with your user account. Get this from the Microsoft Advertising Developer Portal under the Account tab by signing in with super admin credentials and clicking Request Token
- OAuth2 authentication in the Estuary web app (handled during connector setup)
Note for CLI users: if you are configuring the connector via the flowctl CLI rather than the web app, you will also need to register an application in the Azure Portal to obtain a client ID, client secret, and refresh token. See the Bing Ads connector docs for the full manual authentication setup.
For BigQuery, you need:
- a Google Cloud project
- a BigQuery dataset
- a Google Cloud Storage bucket
- a service account JSON key
- permissions to write to the dataset and staging bucket
Learn more about both connectors:
Step 1: Configure Microsoft Ads as the Source
- Sign in to your Estuary account. If you don’t have one, you can register for a new account with your Google, GitHub, or Azure credentials. It’ll only take two minutes of your time to get this done.
- After signing in, you will be redirected to the dashboard, where you can click on the Sources option on the left-side pane.
- Then, click the + NEW CAPTURE button.
- On the Create Capture page, use the Search connectors box to find the Bing Ads connector.
- Click its Capture button.
- Fill in the connector configuration fields:
- Name: a unique name for your capture
- Tenant ID: your Microsoft developer application's Tenant ID. Unless you need a different value, set this to
common - Developer Token: the developer token from the Microsoft Advertising Developer Portal
- Reports replication start date: the earliest date for report data replication
- Lookback window: defaults to 0 days. Microsoft Ads can update conversion data retroactively, so if you notice past metrics changing after sync, increase this value to match your attribution window (e.g., 7 or 30 days)
- Click AUTHENTICATE YOUR MICROSOFT ACCOUNT and complete the OAuth2 flow in the pop-up.
- Click NEXT > SAVE AND PUBLISH.
The connector can capture several Microsoft Advertising resources, including:
| Bing Ads resource | What it helps analyze |
|---|---|
| Budget summary report | Budget pacing and spend monitoring |
| Campaigns | Campaign metadata and configuration |
| Campaign performance reports | Campaign performance by hourly, daily, weekly, or monthly grain |
| Keyword performance reports | Keyword-level performance by hourly, daily, weekly, or monthly grain |
By default, each supported resource is mapped to a separate Estuary collection through a separate binding.
Step 2: Configure BigQuery as the Destination
- Click the MATERIALIZE COLLECTIONS button on the pop-up that follows a successful capture.
Alternatively, navigate to Destinations in the left-side pane and click + NEW MATERIALIZATION.
- Search for BigQuery in the Search connectors box.
- Click the Materialization button of the Google Bigquery connector.
- Fill in the configuration fields:
- Name: a unique name for your materialization
- Project ID: the Google Cloud Project ID that owns the BigQuery dataset
- Service Account JSON: the service account JSON credentials
- Region: the location of the BigQuery dataset and bucket; both must be in the same region
- Dataset: a BigQuery dataset for bound collection tables
- Bucket: the GCS bucket for staging data before loading into BigQuery
- In the Source Collections section, confirm your Bing Ads capture is linked. If not, click SOURCE FROM CAPTURE to add it.
- Click NEXT > SAVE AND PUBLISH.
What Lands in BigQuery?
After the pipeline is published, each selected Bing Ads resource becomes a collection that can be materialized into a BigQuery table.
For example, you may end up with tables for:
- campaign metadata
- budget summary reports
- hourly campaign performance
- daily campaign performance
- weekly campaign performance
- monthly campaign performance
- hourly keyword performance
- daily keyword performance
- weekly keyword performance
- monthly keyword performance
Method 2: Connecting Bing Ads to BigQuery Using CSV Export/Import
This manual method involves exporting Microsoft Ads data in CSV format and uploading it into BigQuery. It works well for one-off analysis but requires manual repetition for ongoing reporting.
Step 1: Export Microsoft Ads Data in CSV Format
There are two ways to export Bing Ads data as CSV.
Using Bing Ads Editor:
- In the Bing Ads Editor Browser pane, right-click the ad group or campaign you want to export and click Export
- In the Export dialog box, click Export again
- In the Save As dialog, select a folder, name the file, and click Save
Using the Bing Ads Bulk API:
Call the DownloadCampaignsByAccountIds operation for all campaign data, or DownloadCampaignsByCampaignIds for specific campaigns. Key request parameters:
- DataScope: include quality score data or bid suggestions along with entity data
- DownloadFileType: set to
Csv - Entities: include campaign, ad group, ad, and keyword entities
- LastSyncTimeInUTC: set to the timestamp of the previous download for incremental updates, or
NULLfor a full download
The GetBulkDownloadStatus operation returns a URL for the download file. Files are compressed in zip format.
Step 2: Import Bing Ads CSV Files into BigQuery
You can load your Bing Ads CSV data from a local file into a new BigQuery table or append to or overwrite an existing table. However, ensure you have a BigQuery dataset to store your data before starting the process.
- Sign in to Google Cloud and open the BigQuery web UI
- In the Explorer pane, expand your project and select the target dataset
- Click CREATE TABLE in the Data set info section
- In the Create table panel:
- Create table from: choose Upload
- Select file: browse to your CSV file
- File format: CSV
- Table: enter a table name
- Schema: enable Auto-detect or define manually
- Click CREATE TABLE
Limitations of the manual method
- Manual repetition: every refresh requires another export and import
- Schema risk: CSV fields and BigQuery table definitions can drift over time
- No automatic reporting history: teams must manage date ranges and duplicate loads themselves
- Higher maintenance: recurring dashboards require scripts, schedules, and monitoring
- Delayed reporting: manual workflows are harder to keep fresh across campaigns and accounts
Estuary vs Manual CSV Method
| Area | Estuary | Manual CSV import |
|---|---|---|
| Best for | Repeatable Bing Ads reporting in BigQuery | One-off exports or small tests |
| Setup effort | Configure source and destination once | Export, upload, map schema, and create table manually |
| Automation | Yes | No, unless custom scripts are built |
| Supported reporting resources | Connector-managed resources such as campaigns, budget summary, and performance reports | Whatever is included in the exported CSV |
| Maintenance | Connector-based | Manual or custom-scripted |
| Error risk | Lower once configured | Higher due to CSV, schema, and upload mistakes |
| Dashboard readiness | Better for recurring dashboards | Works only if refreshed consistently |
What You Can Analyze After Bing Ads Data Lands in BigQuery
Once Microsoft Ads data is in BigQuery, marketing and analytics teams can answer questions that are difficult to answer inside the ad platform alone.
Examples:
- Which campaigns are spending more but converting less?
- Which keywords have high impressions but low CTR?
- Which campaigns perform better on Microsoft Ads vs Google Ads?
- Which keywords or campaigns drive the most qualified leads?
- Which ad groups are wasting budget across low-converting segments?
- How does Bing Ads performance compare by day, week, or month?
- Which campaigns create pipeline or revenue after joining with CRM data?
- Which landing pages should be updated based on ad performance and conversion behavior?
For example, you can join Bing Ads campaign performance with CRM opportunity data to see which campaigns generate pipeline, not just clicks or conversions.
Common Issues When Loading Bing Ads Data Into BigQuery
1. Microsoft authentication fails
Confirm that the Microsoft account has access to the Bing Ads account and that the required developer token is associated with the user.
2. The wrong reporting date range is loaded
Check the report replication start date. If you need historical reporting, choose the earliest date you want to sync before publishing the capture.
3. BigQuery tables are not created
Check that the service account has permission to write to the target BigQuery dataset and access the staging bucket.
4. The BigQuery dataset and bucket are in incompatible regions
Make sure the BigQuery dataset and Google Cloud Storage bucket are configured in compatible locations. Region mismatches can cause load or staging issues.
5. CSV imports produce incorrect column types
If you use the manual method, BigQuery schema autodetect can infer incorrect types. For production reporting, define the schema manually or validate the imported table before building dashboards.
6. Past metrics change after each sync
The lookback_window field controls how many days back the connector re-fetches data to capture retroactive conversion updates from Microsoft Ads. If past metrics are changing unexpectedly, increase this value to match your conversion attribution window.
Conclusion
For marketing and analytics teams that need Bing Ads data in BigQuery on an ongoing basis, Estuary automates the pipeline with minimal setup. The main configuration details to get right are the developer token, the reports replication start date, and the lookback window if your campaigns use delayed conversion attribution.
For one-off analysis, the manual CSV export method works well and requires no ongoing management.

About the author
Dani is a data professional with a rich background in data engineering and real-time data platforms. At Estuary, Daniel focuses on promoting cutting-edge streaming solutions, helping to bridge the gap between technical innovation and developer adoption. With deep expertise in cloud-native and streaming technologies, Dani has successfully supported startups and enterprises in building robust data solutions.









