Fill-only import. Tenjin fills empty fields and flags conflicts — it never overwrites a mapping you set by hand. Syncing changes back routes through approval for non-admin roles.
Event mappings
Connect one Google event + one Facebook event under a shared name. The measurement-partner column is imported from Tenjin and can be synced back.
Both platforms wired
Partial — fails on the missing side
Tenjin sync — synced / syncing / approval / failed (verified by read-after-write)
| Canonical name | Google conversion action | Facebook event | Measurement partner | Used by | |
|---|---|---|---|---|---|
|
|
— save first, then sync | — | |||
| $ Purchase | Gin_app_purchase | ffb_mobile_purchase |
Tpurchase
synced · verified 2h ago
|
2 campaigns | |
| ↓ Install | Gfirst_open | fNA |
Tinstall
syncing… writing + reading back
|
1 campaign | |
| ★ Level achieved | Glevel_up | fNeeds Facebook event |
Tlevel_complete
submitted for approval · #418
|
0 campaigns | |
| ✎ First Big Win custom | Gfirst_purchase_over_5usd | ffb_mobile_purchase |
Tnot in Tenjin yet
couldn't sync · retry
|
0 campaigns | |
| $ First Purchase conflict | Gfirst_purchase | ffb_mobile_purchase |
T≠ first_buy
conflict · review
|
0 campaigns |
5 saved · 1 partial · 4 imported from Tenjin · 1 conflict
Writes verified by read-after-write — a
200 alone is never "synced"