Skip to main content

Snowflake integration

Connect your Snowflake account to Vibe to send the audiences your data team builds in Snowflake straight to your streaming TV campaigns.

This integration lets you push an audience from a table in your Snowflake account into Vibe, where you can use it to target or suppress households in any campaign. No file exports or CSV uploads needed.

How it keeps your data team in control

  • Vibe never calls into your Snowflake account. Data moves only when someone on your team pushes it.

  • The app can read only the table your Snowflake admin grants it.

  • Email and phone columns are hashed. You mark each one as hashed or unhashed, and Vibe hashes any that aren't.

  • Every push goes through a review screen before anything is sent.

  • Vibe is SOC 2 Type 2 compliant. Your security team can review us in the Trust Center.

Before you start

You need two people, or one person with both kinds of access:

Who

Access needed

Why

Snowflake account admin

The ACCOUNTADMIN role in Snowflake

Installs the app, grants its permissions, and chooses the table it can read

Vibe user

Access to the Vibe advertiser you're pushing the audience to

Generates the client ID and secret in Vibe, and picks the advertiser

You also need a finished audience table in Snowflake with at least one identifier column: email, phone, external ID, IP address, or IFA (Identifier for Advertising). There's nothing to reshape for Vibe; the app reads the table as it is.

The app supports first-party audiences only.

Set up the integration

Setup takes five steps. Steps 1 and 2 happen once; after that, pushing an audience is steps 3 to 5, or just step 5 if you reuse a saved mapping.

  1. Install the app from Snowflake Marketplace. Search for Vibe in [Snowflake Marketplace] and install it. On first install, your Snowflake account admin grants the app its permissions and chooses the table it can use as an audience source.

  2. Connect your Vibe account. In Vibe, go to Settings > Integrations and add the Snowflake app. Choose which advertisers can use it. Vibe generates a client ID and secret. Copy both and enter them in the Snowflake app.

    • Keep the secret somewhere safe. Treat it like a password.

  3. Choose an advertiser. In the Snowflake app, pick the Vibe advertiser the audience belongs to.

  4. Map your columns. The app lists the columns in your table. Match each one to a Vibe field: email, phone, external ID, IP address, or IFA.

    • Map at least one identifier. Map every one you have; each extra identifier gives Vibe more to match on.

    • One column can feed more than one field.

    • For each email and phone column, mark whether it's already hashed. Vibe hashes any that aren't.

    • Preview exactly which columns will be sent, then save the mapping so you can reuse it next time.

  5. Push the audience. Create a new audience in Vibe or choose an existing one. Review the source table, the destination audience, and the approximate row count, then confirm.

The audience then appears in your Vibe account under Settings > Audiences, ready to use for targeting or suppression in any campaign, including campaigns you build through Vibe's MCP. Every push is logged in upload history, so the data team and the marketer can both see what was sent and when.

Keeping the audience fresh: when your Snowflake table updates, push again. Each push replaces the audience's contents, so your campaign targets whoever fits the segment right now.

What data is sent

Data flows one way: from your Snowflake table to a Vibe audience. Vibe sends nothing back to Snowflake.

Vibe field

How it's handled

Email

Hashed. Mark the column as hashed or unhashed; Vibe hashes unhashed values.

Phone

Hashed, same as email. 10-digit numbers without a country code default to US.

External ID

Sent as-is

IP address

Sent as-is

IFA (Identifier for Advertising)

Sent as-is

Only the columns you map are sent. Vibe matches the identifiers to households in its identity graph to build the audience.

How pushes work

  • Full replacement. Each push replaces the whole audience. It doesn't add to it.

  • Large tables. Audiences over 10,000 rows upload in batches automatically.

  • Errors. Temporary errors retry on their own. If a push hits an error that can't be retried, the whole push fails and your existing audience stays as it was. Vibe never applies a partial upload.

  • Refresh. Pushes are manual. Push again whenever your table changes.

Troubleshooting and FAQ

I get "Requested role 'ACCOUNTADMIN' is not assigned to the executing user." Your Snowflake user doesn't have ACCOUNTADMIN. Ask an existing account admin to grant it, or have them run the install.

The app is stuck on "Activating" after install. The app's permissions may not have been granted. Ask your account admin to check the app's grants in Snowflake, then reinstall from the Marketplace listing. If it's still stuck, contact your Vibe CSM.

My push failed. A failed push leaves your existing Vibe audience unchanged. Check that at least one identifier column is mapped, then push again. Upload history shows each attempt.

Does a push add new rows to my audience? No. Each push replaces the audience with the current contents of your table.

Can I send Vibe reporting data back to Snowflake? Not today. The app sends audiences from Snowflake to Vibe only.

Is this a clean room? No. The app sends the identifiers you map to Vibe for matching. Contact your Vibe CSM if you need a clean room setup.

Can I onboard third-party segments? No. The app supports first-party audiences only.

Can I use the audience for suppression? Yes. Once it's in Vibe, use it to target or exclude households in any campaign.

Did this answer your question?