Skip to content
ChangelogBook a demoSign up

Data extraction

Data extraction must be enabled by Hightouch. to turn it on.

Data extraction writes audience data from your ad platforms back to your warehouse, so you can query and report on it alongside the rest of your data.

AudienceData teams
PrerequisitesA Lightning sync engine source on Snowflake, BigQuery, Postgres, or Microsoft Fabric, plus a connected supported ad destination.

What data extraction does

Ad platforms hold audience metadata — such as the estimated size of each audience — that otherwise lives only in the platform's own UI. Data extraction pulls that metadata on a daily schedule and writes it to your warehouse. From there, you can join it to your other data, track it over time, and report on it.

Today it produces one report: the Audience size report, a daily snapshot of each audience's estimated size in the ad platform.

Data extraction outline

Enable data extraction

Data extraction is configured per destination.

  1. Go to the destination's page and open the Data extraction tab.
  2. Turn on Enable data extraction.
  3. Under Which data system should we send this data to?, select the source Hightouch writes the report to. Hightouch writes to the hightouch_audit schema in that source.

The Audience size report is selected automatically, since it's the only report available. After you enable extraction, the status shows Pending until the first run, and the report runs once a day.

The Data extraction tab configured for a Google Ads destination

The source you choose must be on the Lightning sync engine, which gives Hightouch write-back access to your warehouse, and must be Snowflake, BigQuery, Postgres, or Microsoft Fabric. Sources that don't meet both conditions don't appear in the list.

What lands in your warehouse

Hightouch writes to the hightouch_audit schema in the source you selected.

Per-destination tables

Each enabled destination gets its own table, named {destination_type}_{destination_id}_audiences. Dashes in the destination type become underscores, so a Google Ads destination writes to google_ads_{id}_audiences. Each table's columns mirror the ad platform's API response as closely as possible, so you can transform the data to fit your needs.

Combined view

Hightouch also builds a view, external_audiences_metadata_v1, that unions every destination table into one standardized schema:

ColumnDescription
ad_account_idThe ad account the audience belongs to.
audience_idThe audience's ID in the ad platform.
audience_nameThe audience's name in the ad platform.
audience_sizeThe estimated audience size at the time of the snapshot.
ht_fetched_atWhen Hightouch fetched the snapshot.
ht_destinationThe Hightouch destination type.
ht_destination_idThe Hightouch destination ID.
ht_sync_idThe Hightouch sync feeding the audience, or null when no sync feeds it.

The view is versioned. Schema changes ship as a new version, such as external_audiences_metadata_v2, and earlier versions keep working.

How the daily job behaves

  • Hightouch runs one job per enabled destination, once a day.
  • Each job pulls every audience from the ad accounts the connected user authorized — not only the audiences Hightouch syncs to.
  • Each run appends a new snapshot. Hightouch doesn't update or delete earlier snapshots, so the tables build a historical record over time.

Verify it worked

After the first daily run, query the combined view in the source you selected:

select * from hightouch_audit.external_audiences_metadata_v1
order by ht_fetched_at desc;

You should see one row per audience per snapshot, with a recent ht_fetched_at.

Supported destinations

Limitations

  • The only available report is the Audience size report.
  • Audience sizes are the ad platform's estimates, not exact counts.
  • The report runs once a day.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service