Linking Yotpo as a source

Alpha release

This source is currently in alpha. The interface and available tables may change.

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Alpha: This source is in alpha. If you run into issues, reach out to our support team.

The Yotpo connector syncs your review and email marketing data – product reviews, email analytics, raw email delivery records, and unsubscribers – into PostHog, so you can analyze customer feedback and email engagement alongside your product data.

Prerequisites

You need a Yotpo account with API access. You'll need your app key (also called the store ID) and an API secret. Both are available in your Yotpo account settings.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Yotpo, you'll need:

  • App key (store ID) – your Yotpo app key, found in your Yotpo account settings under General Settings.
  • API secret – your Yotpo API secret, found in the same settings page.
  • Start date for email data – a date in YYYY-MM-DD format. Email tables (email_analytics and raw_data) sync data from this date onward. Reviews and unsubscribers sync all available records regardless of this setting.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

All Yotpo tables use full refresh syncing. Incremental and append-only syncing are not supported because the Yotpo API does not provide reliable timestamp filters or unique keys across all endpoints.

This means every sync re-downloads all data for each table. For the email_analytics and raw_data tables, the configured start date limits how far back data is fetched.

Configuration

OptionDescription
App key (store ID)
Type: text
Required: True
API secret
Type: password
Required: True
Start date for email data
Type: text
Required: True

Email tables include data from this date. Reviews and unsubscribers include all available records.

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
reviews

Product and site reviews, including unpublished reviews.

Full refresh—id
email_analytics

Daily counts of review request emails sent, grouped by email type, from the configured start date.

Full refresh—since, until
raw_data

Email delivery and engagement records from the configured start date.

Full refresh——
unsubscribers

Email addresses excluded from Yotpo review request emails.

Full refresh—user_email, email_type_id

Troubleshooting

"Yotpo rejected the app key or API secret"

Your credentials are incorrect. Double-check your app key and API secret in your Yotpo account settings, then reconnect.

"Yotpo did not return an access token"

The API accepted your credentials but didn't return a token. Verify your API credentials are correct and your Yotpo account has API access enabled, then reconnect.

401 or "access token is invalid or expired"

Your access token has expired or been revoked. Check your credentials and reconnect.

403 or "denied access to this table"

Your Yotpo account doesn't have permission to access this endpoint. Check your account's API access level.

Invalid start date

The start date must be in YYYY-MM-DD format and cannot be in the future.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Still have questions?

Was this page useful?