Documentation Index

Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt

Use this file to discover all available pages before exploring further.

Instagram Ads

Prev Next

Instagram Ads allow businesses to reach a larger audience and promote their products or services on Instagram. With Instagram Ads, businesses can target specific demographics, interests, and behaviors to create personalized campaigns that drive traffic, increase engagement, and generate sales.

If you have multiple Instagram Ads accounts and would like to extract the same data from all of them, it's possible through multi-account extraction. Contact our Solutions team to enable this feature.

Authentication Methods

Instagram Ads supports more than one way to connect. Pick one when you create the authorizer in Dataddo:

  • Instagram - sign in with Instagram Ads and approve access (recommended).
  • Instagram Custom - use your own app credentials (for advanced setups).
  • Facebook Page Access Token
  • Meta Admin Center

Authorize Connection to Instagram Ads

To authorize this service, use OAuth 2.0 to share specific data with Dataddo while keeping usernames, passwords, and other information private.

  1. On the Authorizers page, click on Authorize New Service and select your service.
  2. Follow the on-screen prompts to grant Dataddo the necessary permissions to access and retrieve your data.
  3. [Optional] Once your authorizer is created, click on it to change the label for easier identification.

Ensure that the account you're granting access to holds at least admin-level permissions. If necessary, assign a team member with the required permissions with the authorizer role to authenticate the service for you.

Instagram APIs allows data extraction only if your Instagram account is connected to a Facebook account. This will also make it easier for you to use all of the features available for businesses across the Facebook family of apps.

For more information, see our article on authorizers.

Data Coverage

Instagram Ads exposes the following datasets. Each dataset maps to a table you can extract. Example fields are a representative sample; each dataset returns more columns.

Dataset Description Example fields Date range
Ads Insights Read Instagram Ads. Id, Date Start, Date Stop, Number of impressions, Spent No
Instagram Ads Insights Access Instagram Ads Insights data Account currency, Account ID, Account name, Add payment info (value), Add to cart (value), Add to wishlist (value) (+558 more) Yes

How Data Extraction Works

What each extraction pulls depends only on whether a dataset supports a date range (see the Date range column above):

  • Date range supported (Yes): the source reads a relative window (for example "last 7 days"), and that window slides forward with the current date. Every run re-reads the window, so a range of "1 day ago" always pulls the previous day (D-1). Each run replaces the window's data rather than adding older history. To load records from before the window, run a full data re-sync with a wider range. See Data Backfilling.
  • No date range (No): every run pulls all currently available data.

Set the relative date range when you create the source.

Metadata Columns

When you create a source, you can add these Dataddo metadata columns to the extracted data:

  • dataddo_hash - a fingerprint built from each record's key fields. It works as a natural key, so it is ideal for upserts (updating existing rows in your destination instead of creating duplicates).
  • dataddo_extraction_timestamp - the date and time the row was extracted. Use it to track how records change over time, for example to build slowly changing dimensions.

How to Create an Instagram Ads Data Source

Creating a data source takes you through five steps, shown in the progress bar at the top of the wizard. Each step is explained below.

1. Pick the connector

On the Sources page, click Create Source, then select the connector from the catalog. Use the search bar or the category tabs if you do not see it right away. You can rename the source at any time using the pencil icon next to its name.

2. Choose the account

This step selects what Dataddo reads from.

  • Authorizer: Select an account you have already authorized from the drop-down. If you have none yet, choose Add new account and follow the prompts. If no authorizer is selected, Dataddo asks you to authorize before you continue.
  • What to extract from: Select the exact entity you want to pull data from. Depending on the service this may be labelled an account, property, profile, workspace, or similar, sometimes with a sub-level to choose as well.
  • Multiple accounts: To pull the same data from every entity you can access, turn on Automatically collect data from all .... This is multi-account extraction. Leave it off to choose them by hand.

3. Build the data model

Choose exactly what to extract. What you can pick depends on the connector, and the wizard may group the fields differently for each one.

  • Values: the measures you want, often called metrics, such as sessions, clicks, or revenue.
  • Breakdowns: the fields you group or split those values by, often called dimensions or attributes, such as date, country, or campaign.
  • Context metadata (when available): identifier fields that Dataddo derives from your selection, such as the account or property ID. They let you tell rows apart when you combine several sources.

Some connectors limit which fields can be queried together; the wizard flags this where it applies. Click Test on Sample Data at any point to preview the result before you continue.

4. Add metadata columns (optional)

Two optional columns help your destination handle the data.

  • Dataddo Hash (Include Row Hash): a fingerprint built from the columns you pick. It works as a natural key, so your destination can deduplicate rows and run upserts instead of creating duplicates. Turn it on, then select the columns that uniquely identify a row.
  • Dataddo Extraction Timestamp: the time each row was extracted. Use it to watermark the data, for example to build slowly changing dimensions or to track when a value last changed.

5. Set the schedule

Decide how often Dataddo runs the extraction.

  • Frequency: how often the pipeline runs, for example daily. Click Show advanced settings to also set the exact hour and minute (UTC).
  • Date range: the relative window each run extracts, for example "Yesterday". The window moves forward on every run.
  • Historical data: a new source starts from the current window. To load older data, run a full data re-sync after the source is created.
  • Allow Empty Data Extractions: when on, a run that returns no data records zero rows instead of failing. Turn it on if the source can legitimately have periods with no data.

Click Save. Your data source is ready.

Limitations

Facebook Account Required

In order to extract data from the Instagram API, it is required to have your Instagram account connected to a Facebook account. For more information, please visit the official Instagram API documentation.

Historical Data

The Instagram API allows the extraction of data up to 37 months back.

API Calls

All rate limits are available in Meta's official documentation.

No Personal Account Data

The Instagram API only allows data extraction from Business/Professional accounts. Unfortunately, it's not possible to get data from your personal accounts.

No Instagram Reels Data

The Instagram API doesn't support data extraction from Instagram reels.


Troubleshooting

Data Preview Unavailable

No data preview when you click on Test Data might be caused by an issue with your source configuration. The most common causes are:

  • Date range: Try a smaller date range. You can load the rest of your data afterward using manual data load.
  • Insufficient permissions: Please make sure your authorized account has at least admin-level permissions.
  • Invalid metrics, attributes, or breakdowns: You may not have any data for the selected metrics, attributes, or breakdowns.
  • Incompatible combination of metrics, attributes, or breakdowns: Your selected combination cannot be queried together. Please refer to the service's documentation to view a full list of metrics that can be included in the same data source.

Metric and Ad Recall Data Don't Match

The Reach and Recall metrics cannot be summed to get the totals for longer time periods. As these metrics measure the daily unique users who view your ad (= reach) or will remember the ad (=ad recall), it is not possible to get data for a specific time period and/or aggregate the data.

To avoid this, you can

  1. Get daily breakdowns: The daily values will match, but not when summed up over a longer time period.
  2. Extract data weekly or monthly: These weekly/monthly values will match.

Simply create a new source and a new flow with the particular breakdown (for example, a source and a flow with daily breakdowns/synchronizations).

Read more about the metrics, and why the data may not be matching here.

Related Articles

Now that you have successfully created a data source, see how you can connect your data to a dashboarding app or a data storage.

Sending Data to Dashboarding Apps

Sending Data to Data Storages

Other Resources