Connect DataAnalytics & Marketing
Meta Ads
Meta Ads is in Preview in the connection wizard: it is built on Meta Ads’s documented API and has not yet been proven against a live account, so check the imported tables before relying on them. Use a system user token from your Meta Business settings — it never expires and needs no app review for your own ad accounts. Facebook and Instagram ads are both included.
-
In DataSquares, open Data Sources and choose Connect Source. The Connect a data source page opens.
-
Pick Meta Ads on that page (search or browse by category).
-
Fill in the connection details below, then test the connection and save.
Connection details
Section titled “Connection details”| Field | What to enter |
|---|---|
| Ad account ID | The number in Ads Manager’s account menu, without act_. e.g. 123456789012345 |
| System user access token | Business settings → Users → System users: add one, assign it the ad account, then Generate new token with ads_read and read_insights. Stored encrypted and never shown again. |
Test Connection reads one page of records with these values; nothing is saved until you import.
Tables
Section titled “Tables”Pick the tables to import — each one becomes a table in the source:
| Table | What it holds |
|---|---|
campaigns |
Campaigns |
ad_sets |
Ad sets |
ads |
Ads |
campaign_insights_daily |
Campaign results by day (12 months) — re-read in full on every refresh |
ad_insights_daily |
Ad results by day (90 days) — re-read in full on every refresh (not selected by default) |
In the insights tables, each of Meta Ads’ action lists (actions, action values,
purchase ROAS) arrives as one column per action type: actions_link_click,
action_values_offsite_conversion_fb_pixel_purchase and so on.
Every table is read through all of its pages, nested fields become parent.child
columns, and the whole set is imported at once: the import’s row and size limits
count the picked tables together, and if they pass one, nothing is imported and
the message says which table and which limit. Refresh the source on a schedule,
or by hand, to re-read every table; a table that comes back empty is refused
rather than emptied unless you allow it. Nothing is ever written to Meta Ads.
The requests follow Meta Ads’s API reference.
Getting a token that does not expire
Section titled “Getting a token that does not expire”Meta Ads reads with a system user token from your Meta Business account — no personal sign-in, and it keeps working when people leave.
-
In Business settings → Accounts → Apps, add or create an app of type Business owned by the same business, with the Marketing API product.
-
In Business settings → Users → System users, add a system user (the Employee role is enough), then Assign assets: the ad account, with permission to view performance.
-
Choose Generate new token, pick the app, set the expiry to Never and tick ads_read and read_insights. Copy the token into System user access token.
-
Ad account ID is the number in Ads Manager’s account menu, without
act_.
The daily insights tables re-read their whole window on every refresh, so late-attributed conversions are picked up as Meta updates them.
Related
Section titled “Related”- Connector catalog — everything DataSquares connects to.
- Quickstart — from connection to shared dashboard.