Skip to content

JITSU-243: Add Meta Reverse ETL target pickers and setup checks - #1559

Merged
absorbb merged 2 commits into
newjitsufrom
feat/jitsu-243-meta-targets
Oct 8, 2026
Merged

absorbb merged 2 commits into
newjitsufrom
feat/jitsu-243-meta-targets

Conversation

@absorbb

@absorbb absorbb commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

JITSU-243

Meta Reverse ETL currently accepts manually entered target IDs until a run discovers a wrong object or missing access. Add ad-account and compatible customer-list audience pickers, a read-only connection check, and automatic target preflight before saving new, retargeted, or re-enabled unlocked Meta sync settings. Pixel-specific checks catch App ID versus Pixel/Dataset ID mistakes; errors explain token expiry, asset access, incompatible audience type, account and value-based settings.

Manual IDs remain available if discovery fails or reaches its page limit. Checks use the workspace's stored token, make only GET requests, and return sanitized diagnostics. Success explicitly distinguishes verified type/read access from upload permission, terms and delivery acceptance. Pauses and schedule/mapping-only edits stay available without contacting Meta, including before a sync has runtime state; no audience creation, state reset, or recovery behavior changes.

This is the first priority item in JITSU-243. Destination metrics, audience identifier arrays, existing-audience mirroring, and lower-priority operations remain follow-ups.

Validation: destination-function tests; 312 console unit tests plus 3 pause/schedule/re-enable regressions; real Postgres/ClickHouse integration tests for workspace scoping, credential redaction, Meta checks and existing sync behavior; destination/console TypeScript checks; changed-console ESLint and formatting. Live Meta acceptance remains to be verified with a dedicated target.

Deployment: console only, manual unless explicitly requested otherwise. No schema migration or syncctl/runner deployment required for these setup controls.

jitsu-code-review[bot]
jitsu-code-review Bot previously approved these changes Oct 8, 2026

@jitsu-code-review jitsu-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the Meta target discovery, validation API, and sync-save paths.

Findings:

  • Pausing an active Meta sync is blocked when the read-only Meta preflight fails, which can prevent stopping exports during a provider outage.

Comment thread webapps/console/components/ReverseETL/SyncEditor.tsx Outdated

@jitsu-code-review jitsu-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the Meta Reverse ETL target-picker, read-only setup-check, API authorization, and save-flow changes.

No actionable findings. The previously resolved pause/preflight thread was not re-raised.

@absorbb
absorbb merged commit 6a3fe5c into newjitsu Oct 8, 2026
12 checks passed
@absorbb
absorbb deleted the feat/jitsu-243-meta-targets branch October 8, 2026 14:56
absorbb added a commit that referenced this pull request Oct 8, 2026
JITSU-243

Meta Reverse ETL currently shows API acceptance counts without showing
what Meta reports about the target. Add a separate current-results panel
to run logs, with a read-only manual refresh: approximate audience size
and processing/ad eligibility, an eligible estimated match range, and
per-web-event Event Match Quality and Additional Conversions Reported
from the Dataset Quality API.

Results describe the whole audience/dataset, including other senders;
they are not matching or attribution results of the selected historical
run. Missing, delayed, privacy-limited and invalid metrics stay distinct
from zero. Reporting failures explain token/dataset permissions or
Events Manager opt-in and cannot change delivery or saved state.

A match estimate requires the latest successful completed exclusive
managed-mirror snapshot and an unambiguous source-row denominator. The
runner adds optional sealed snapshot counts to aggregate task
statistics. Existing audiences, failed/pending runs, older runs without
counts, empty/excluded/duplicate/fan-out snapshots and unreliable size
estimates receive an explicit unavailable reason. No snapshot payloads
are downloaded, and these aggregates do not affect delivery/recovery
authorization.

Independent of #1559. No automatic replay, audience provisioning, state
resets or schema changes.

Validation: 21 provider reporting tests, 309 console unit tests plus the
retargeting-cache regression, 15 real Postgres/ClickHouse reporting
integration tests, 486 runner tests (1 skipped), all three package
typechecks, runner build, changed-console lint and formatting. Live Meta
result availability still depends on reporting permissions, data
processing and privacy thresholds.

Deploy updated retl-runner first, then console. Subsequent runner
executions supply snapshot counts; older attempts remain readable
without a match estimate. Console deployment remains manual unless
explicitly requested otherwise.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant