
Pinterest's built-in reporting shows you impressions, clicks, and spend inside the Ads Manager. What it does not do is let you join that data against revenue from your ecommerce platform, compare performance across ad channels in a single query, or build reports that persist beyond what Pinterest's dashboard retains. For that, you need Pinterest Ads data in BigQuery.
This guide covers two ways to get there:
- CSV export: Manual, free, no setup required. Works well for one-off reports or occasional analysis, but does not scale for ongoing reporting because every refresh requires a manual export and re-upload.
- Automated pipeline with Estuary: Keeps your BigQuery tables updated automatically as new campaign data comes in. Requires a one-time setup of around 15 minutes but no ongoing manual effort after that.
Both methods are covered in full below, including the exact steps and where each approach breaks down, so you can choose the right one for your reporting needs.
This guide is most useful for marketing analysts, performance marketers, and data engineers who need Pinterest Ads data in BigQuery on a reliable, ongoing basis rather than for a one-time export.
How to Load Data From Pinterest Ads to BigQuery
Here are the different methods you can use to move data from Pinterest Ads to BigQuery:
- Method #1: Using CSV files export/import features
- Method #2: Using fully managed SaaS tools like Estuary
Pinterest Ads to BigQuery Methods Compared:
| Method | Best for | Freshness | Main limitation |
|---|---|---|---|
| CSV export/import | One-time reports, small ad hoc analysis, or manual backfills | Manual; only as fresh as the latest export | Requires repeated exports and uploads for every refresh |
| Estuary | Ongoing Pinterest Ads reporting in BigQuery without custom code | Automated sync based on connector configuration | Requires setting up Pinterest authentication and BigQuery materialization |
Method #1: Using CSV Files Export/Import to Move Data from Pinterest Ads to BigQuery
You can export your Pinterest Ads data as CSV files and then load these files to BigQuery. Here are the steps to export and load your Pinterest Ads data into BigQuery:
Step 1: Exporting Data from Pinterest Ads as CSV Files
- Log in to your Pinterest business account.
- Select Analytics > Overview or Audience Insights and choose the data you want to export.
- Click on Export or Export CSV. This will download the selected data as a CSV file to your local machine.
Step 2: Importing the Data into BigQuery
- Log in to your Google Cloud account and navigate to the BigQuery console.
- In the Explorer pane, select the project, followed by the dataset where you want to load your Pinterest Ads data.
- Click on the three vertical dots (View actions) of the selected dataset and select Create table.
- In the Source section of the Create table window, provide the required information. For Create table from, select Upload. And for File format, select CSV. Now, browse and select the file to upload.
- Specify the remaining details in the Destination, Schema, Partition and cluster settings, and Advanced options (optional).
- Click on CREATE TABLE. This will successfully load your Pinterest Ads data to BigQuery tables.
Limitations of the CSV Export Method
Before choosing this approach for regular reporting, it is worth understanding where it breaks down:
- Manual by design. There is no way to automate CSV exports from Pinterest Ads. Every time you need fresh data in BigQuery, someone has to log in, select the date range, export the file, and upload it manually. For weekly or monthly reporting this is manageable. For anything more frequent it becomes a bottleneck.
- No incremental updates. Each upload is a full replacement or append. You need to manage deduplication yourself if you upload the same date range twice, or carefully track which dates have already been loaded.
- Limited data coverage. The Pinterest Ads dashboard CSV export covers campaign, ad group, and ad performance metrics. It does not export every data type available through the API, such as audience segments or detailed targeting analytics.
- No history on demand. You can only export what Pinterest's dashboard shows you. If you need to backfill a full year of data into BigQuery, you will need to do multiple exports across different date ranges and combine them manually.
If your team needs Pinterest Ads data in BigQuery updated more than once a week, or needs data types beyond basic campaign metrics, the automated pipeline approach below is more practical.
Method #2: Automated Pinterest Ads to BigQuery Pipeline with Estuary
Estuary is a data pipeline platform that syncs Pinterest Ads data into BigQuery automatically, without custom code or manual exports. Once the pipeline is set up, it runs continuously and keeps your BigQuery tables updated as new campaign data comes in.
To get started, create a free Estuary account or sign in if you already have one.
Step 1: Configure Pinterest Ads as the Data Source
Prerequisites:
- A Pinterest app ID and secret key
- Refresh token
On the Estuary dashboard, select Sources and then click on + NEW CAPTURE. Use the Search connectors box to look for Pinterest. When you see the Pinterest connector in the search results, click on its Capture button.
On the Pinterest connector page, specify the required details, such as a Name for the capture and Start Date. To authenticate your Pinterest account, you can either use OAuth2.0 or an access token. Then, click on NEXT, followed by the SAVE AND PUBLISH button.
This connector will capture data from Pinterest into Estuary collections. The full list of streams supported by the Pinterest connector is:
Ads streams:
- Ad accounts (Full table)
- Ad account analytics (Incremental)
- Campaigns (Incremental)
- Campaign analytics (Incremental)
- Ad groups (Incremental)
- Ad group analytics (Incremental)
- Ads (Incremental)
- Ad analytics (Incremental)
Organic streams:
- Account analytics (Incremental)
- Boards (Full table)
- Board sections (Full table)
- Pins on board (Full table)
- Pins on board section (Full table)
This guide focuses on the ads streams. If you do not need organic Pinterest data in BigQuery, deselect the organic streams during setup to keep your collections lean.
BigQuery Prerequisites
Before configuring BigQuery as the destination, make sure you have:
- A Google Cloud Storage bucket in the same region as your BigQuery dataset
- A Google Cloud service account JSON key with the following roles:
roles/bigquery.dataEditoron the destination datasetroles/bigquery.jobUseron the projectroles/bigquery.readSessionUseron the projectroles/storage.objectAdminon the GCS bucket
Full setup steps are available in the BigQuery connector prerequisites.
Step 2: Configure BigQuery as the Data Destination
Following a successful capture, you will see a pop-up window with the details of the capture. Click on MATERIALIZE COLLECTIONS to proceed with the setup of the destination end of the pipeline. An alternative is to navigate back to the Estuary dashboard and click on Destinations, followed by + NEW MATERIALIZATION.
In the Search connectors box, look for BigQuery. The search results will include the Google BigQuery connector. Click on the Materialization button of the connector to navigate to the BigQuery materialization configuration page.
Fill in the required details, including a Name for the materialization, Project ID, Service Account JSON, Dataset, and Bucket. Then, click on NEXT. While the Estuary collections will be automatically selected for you, consider using the Source Collections section to manually add data collections. Then, click on SAVE AND PUBLISH.
Note on sync frequency: Estuary's BigQuery connector defaults to a 30-minute sync interval. You can reduce this in the materialization settings, but the BigQuery docs recommend a minimum of 5 minutes to stay within BigQuery's load job quota limits. For a Pinterest Ads pipeline, the default 30-minute interval is sufficient for most reporting use cases.
The BigQuery connector will load your Pinterest Ads data from Estuary collections into tables within your BigQuery dataset. Estuary uses a Google Cloud Storage bucket as a staging area before writing to BigQuery, which is why both a GCS bucket and a BigQuery dataset are required in the prerequisites. Your Pinterest Ads data will appear in BigQuery as separate tables per stream, for example one table for campaigns, one for ads, one for ad analytics, and so on.
For more information on moving data from Pinterest Ads to BigQuery, check out the Estuary documentation:
Which Pinterest Ads to BigQuery Method Should You Choose?
Use CSV export/import if:
- You only need a one-time report.
- You refresh Pinterest Ads data weekly or monthly.
- You do not need automated reporting.
- You are comfortable manually handling deduplication and date ranges.
Use Estuary if:
- You need Pinterest Ads data in BigQuery on an ongoing basis.
- You want campaign, ad group, ad, and analytics tables updated automatically.
- You need to join Pinterest Ads data with Shopify, Google Ads, Facebook Ads, or other marketing data.
- You want to avoid maintaining custom Pinterest API scripts.
- You need both ads performance and organic Pinterest data in one pipeline.
Benefits of Moving Data From Pinterest Ads to BigQuery
Moving Pinterest Ads data into BigQuery gives marketing and analytics teams more flexibility than Pinterest Ads Manager alone.
- Join ad spend with revenue: Compare Pinterest campaign spend, clicks, and conversions against Shopify orders, subscription revenue, or product margins.
- Build cross-channel reporting: Analyze Pinterest Ads alongside Google Ads, Facebook Ads, TikTok Ads, email, and ecommerce data in one warehouse.
- Preserve reporting history: Keep a queryable record of campaign and ad performance even when dashboard views or export windows change.
- Create custom attribution models: Build reporting logic that matches your business instead of relying only on platform-level attribution.
- Automate dashboards: Feed Looker Studio, Tableau, Mode, or internal dashboards from BigQuery instead of manually updating spreadsheets.
For teams building a broader marketing data stack, see our guide to marketing data integration.
Final Thoughts
Both methods covered in this guide get Pinterest Ads data into BigQuery, but they serve different needs.
CSV export works when you need data occasionally and can tolerate a manual process. It requires no setup and no ongoing cost, but every refresh means logging into Pinterest, selecting a date range, exporting a file, and uploading it to BigQuery again. For teams that need Pinterest Ads data in BigQuery more than once a week, or that need it alongside data from other sources, that process becomes a bottleneck quickly.
The automated pipeline approach with Estuary removes that bottleneck. Once the pipeline is configured, it syncs Pinterest Ads data into BigQuery automatically without manual exports or custom scripts. The setup takes around 15 minutes and requires no code. Estuary's Pinterest connector supports 13 streams covering both ads performance data and organic Pinterest data, and the same pipeline can be extended to other sources such as Shopify, Google Ads, or Facebook Ads without rebuilding anything.
Estuary's free tier covers up to 10 GB of data per month with no time limit, which is enough to run a real Pinterest Ads pipeline and evaluate whether automated syncing fits your reporting workflow. Create a free account to get started.

About the author
Jeffrey is a data engineering professional with over 15 years of experience, helping early-stage data companies scale by combining technical expertise with growth-focused strategies. His writing shares practical insights on data systems and efficient scaling.










