# MeetROAS traffic source integrations

Every platform below is supported and ready to use. Choose Custom or Other tracker when no MeetROAS tile is listed. Send one test conversion after setup; the traffic-source dashboard is the final result.

- [Meta (Facebook CAPI)](https://developers.meetroas.com/en/sources/meta.md) — `fbclid`
- [TikTok Events API](https://developers.meetroas.com/en/sources/tiktok.md) — `ttclid`
- [TrafficStars](https://developers.meetroas.com/en/sources/trafficstars.md) — `{click_id}`
- [PropellerAds](https://developers.meetroas.com/en/sources/propellerads.md) — `${SUBID}`
- [RichAds](https://developers.meetroas.com/en/sources/richads.md) — `[CLICK_ID]`
- [ExoClick](https://developers.meetroas.com/en/sources/exoclick.md) — `{conversions_tracking}`
- [Adsterra](https://developers.meetroas.com/en/sources/adsterra.md) — `##SUB_ID_SHORT(action)##`
- [BidVertiser](https://developers.meetroas.com/en/sources/bidvertiser.md) — `{BV_CLICKID}`
- [HilltopAds](https://developers.meetroas.com/en/sources/hilltopads.md) — `{{ctoken}}`
- [EvaDav](https://developers.meetroas.com/en/sources/evadav.md) — `{CLICKID}`
- [AdMaven](https://developers.meetroas.com/en/sources/admaven.md) — `{:click_id}`
- [AdsGram](https://developers.meetroas.com/en/sources/adsgram.md) — `{record_data}`
- [Kadam](https://developers.meetroas.com/en/sources/kadam.md) — `{click_id}`
- [GeeMee](https://developers.meetroas.com/en/sources/geemee.md) — `{pixel_click_id}`
- [MGSkyAds](https://developers.meetroas.com/en/sources/mgsky.md) — `{pixel_click_id}`

## Destination money → upstream parameter reference

Direction: destination → MeetROAS Partner Event API → attributed source. value is revenue; price is acquisition cost; currency is declared by the destination. — means this MeetROAS connector does not project that field, not that the upstream lacks it. URL money columns show optional template placeholders: replace only when both template parameter and destination amount exist; omit when the amount is absent. No automatic parameter insertion, substitution between amounts, or FX conversion. Registration and login cannot carry money.

| Source | value → | price → | currency / missing-value rules |
| --- | --- | --- | --- |
| Meta (Facebook CAPI) | data[].custom_data.value | — | data[].custom_data.currency; Send money only when both value and currency exist; no FX conversion |
| TikTok Events API | data[].properties.value | — | data[].properties.currency; Send money only when both value and currency exist; no FX conversion |
| TrafficStars | value={value} | price={price} | No currency projection or FX conversion |
| PropellerAds | payout=${PAYOUT} | — | No currency projection or FX conversion |
| RichAds | — | — | No currency projection or FX conversion |
| ExoClick | value={value} | — | No currency projection or FX conversion |
| Adsterra | — | atpay={payout} | /name/.../at means USD; /code/CCC/.../at means CCC. No currency parameter; reject an explicit currency conflicting with the URL; no FX conversion |
| BidVertiser | revenue={REVENUE} | — | No currency projection or FX conversion |
| HilltopAds | — | price={{price}} | currency={{currency}} is passed through; template must also contain price. Missing price removes both; missing currency removes currency only; no FX conversion |
| EvaDav | payout={PAYOUT} | — | No currency projection or FX conversion |
| AdMaven | value={payout} | — | No currency projection or FX conversion |
| AdsGram | — | — | No currency projection or FX conversion |
| Kadam | — | — | No currency projection or FX conversion |
| GeeMee | data.value | — | data.currency; send both value and currency or data={}; no FX conversion |
| MGSkyAds | data.value | — | data.currency; first_deposit / deposit require both value and currency or are rejected; first_day_deposit allows the pair or data={}; other events accept only data={}; no FX conversion |

## Click, Goal and slot defaults

The upstream expands the campaign macro into a real click ID, which MeetROAS returns; it is not the destination's mrc_. These are defaults for new bindings; existing manual bindings are not overwritten. Obtain account identifiers and URLs from each provider; never infer events from slot numbers or tokens.

| Source | Campaign macro / parameter | Outgoing click field | Event / Goal mapping |
| --- | --- | --- | --- |
| Meta (Facebook CAPI) | fbclid | data[].user_data.fbc ← fb.1.&lt;clickObservedAtMs&gt;.&lt;fbclid&gt; | data[].event_name uses the defaults below |
| TikTok Events API | ttclid | data[].user.ttclid | data[].event uses the defaults below; custom events are not used for Campaign optimization |
| TrafficStars | {click_id} | clickid={click_id} | goalid: account Goal ID, manually bound per event; no one-click defaults. lead_code={lead_code} uses a stable opaque MeetROAS event identity |
| PropellerAds | ${SUBID} | visitor_id=${SUBID} | pwa_install → Main (no goal); account_registration → goal=2; first_deposit → goal=3. One binding per slot; only Main is used for CPA optimization |
| RichAds | [CLICK_ID] | key=[CLICK_ID] | pwa_install → action=conversion; first_deposit → action=conversion1 (Approved). One binding per slot |
| ExoClick | {conversions_tracking} | tag={conversions_tracking} | goal: account-generated 32-character token; no inferred business name or one-click defaults |
| Adsterra | ##SUB_ID_SHORT(action)## | subid_short={clickid} | Main conversion has no event; other slots use event=event1 / event2 / event3. Slots have no business meaning; no one-click defaults |
| BidVertiser | {BV_CLICKID} | CLICKID={BV_CLICKID} | pwa_install → Global (no Goal); one binding per Campaign; the upstream ignores repeated conversions for the same click |
| HilltopAds | {{ctoken}} | token={{ctoken}} | With no existing Main: pwa_install → Main (no goal), other public events → Micro (goal=&lt;event_key&gt;). With an existing Main, all new defaults use Micro |
| EvaDav | {CLICKID} | click_id={CLICKID} | No one-click defaults; bind each event to its account-generated URL |
| AdMaven | {:click_id} | unique_req={externalid} | Main conversion has no dimension; second conversion uses dimension=adp, never for the first conversion. info comes from the account URL; no one-click defaults |
| AdsGram | {record_data} | record={record_data} | account_registration → goaltype=1; first_deposit → goaltype=2; deposit → goaltype=3. The token comes from the AdsGram account; one binding per slot |
| Kadam | {click_id} | data={click_id} | pwa_install → Global; one binding per Campaign. The postback carries no status, cost, payout, or currency; the campaign URL may separately capture click cost with {cpc} |
| GeeMee | {pixel_click_id} | pixel_click_id | eid uses the defaults below; pixel_id comes from the account. Alternatives require manual selection |
| MGSkyAds | {pixel_click_id} | pixel_click_id | eid uses the defaults below; pixel_id comes from the account. Events without a mapping do not get a binding |

## Event API one-click defaults

The first six rows are MeetROAS browser / PWA events. The destination Partner Event API accepts only account_registration, first_deposit, first_day_deposit, deposit and login. — means no mapping and no automatic binding. Recommendations are optional: manual settings allow the provider catalog and supported custom names; alternatives shown here are examples, not the complete catalog. standard / custom indicates the upstream event type. pwa_open is a hidden runtime event, not a one-click default or public Goal choice; do not confuse it with pwa_first_open.

| MeetROAS event_key | Meta (Facebook CAPI) | TikTok Events API | GeeMee | MGSkyAds |
| --- | --- | --- | --- | --- |
| landing_view | ViewContent (standard) | ViewContent (standard) | EVENT_CONTENT_VIEW | — |
| install_click | InstallClick (custom) | InstallClick (custom) | — | EVENT_PWA_INSTALL |
| install_prompt_accepted | InstallPromptAccepted (custom) | InstallPromptAccepted (custom) | EVENT_PWA_INSTALL | — |
| pwa_install | PWAInstall (custom) | Download (standard) | — | — |
| pwa_open_attempt | — | — | — | EVENT_PWA_OPEN |
| pwa_first_open | PWAFirstOpen (custom) | PWAFirstOpen (custom) | EVENT_PWA_ACTIVATE | EVENT_PWA_ACTIVATE |
| account_registration | CompleteRegistration (standard) | CompleteRegistration (standard) | EVENT_COMPLETE_REGISTRATION | EVENT_COMPLETE_REGISTRATION |
| first_deposit | FirstDeposit (custom) | FirstDeposit (custom) | EVENT_FIRST_DEPOSIT (alternative: EVENT_FTD) | EVENT_FIRST_DEPOSIT |
| first_day_deposit | FirstDayDeposit (custom) | FirstDayDeposit (custom) | EVENT_FIRST_DAY_PURCHASE | — |
| deposit | Purchase (standard) | Purchase (standard) | EVENT_PURCHASE (alternative: EVENT_REPEAT_PURCHASE) | EVENT_PURCHASE |
| login | Login (custom) | Login (custom) | EVENT_LOGIN | — |

