Sources de trafic
Trackily supporte 9 plateformes nativement (Kadam, PropellerAds, Meta, TikTok, Google, Taboola, MGID, ExoClick, RichAds) plus un type
Custom. Chaque source porte ses propres macros + endpoint API ; la config est centralisée danssource-templates.js.

Concept
Une traffic_source dans Trackily est un wrapper autour de :
- Un template plateforme (Kadam, Meta, etc.) qui définit la couleur, le logo, le format des macros (
{click_id}vs${SUBID}vs__CLICKID__), l'URL de base API, etc. - Tes identifiants (API token, ad account ID, pixel ID) pour cette plateforme.
- Un statut connection (
tested_ok/untested/failed).
Une campagne peut ensuite référencer cette source via campaigns.source_id. Trackily utilise alors :
- Les macros du template pour suggérer la
campaign_url_hint(ex Kadam :?click_id={click_id}&cost={cost}&sub2={campaign_id}). - L'API pour les tools
list_source_campaigns,sync_offer_network_stats,update_source_campaign_bid, etc.
Plateformes supportées
| Slug | Plateforme | Couleur | Type principal | A des macros connues | A une API ? |
|---|---|---|---|---|---|
kadam |
Kadam | #4CAF50 |
Push, native, pop, display | {click_id} |
Oui |
propellerads |
PropellerAds | #FF6B00 |
Push, pop, interstitial | ${SUBID} |
Oui |
meta |
Meta Ads (Facebook) | #1877F2 |
FB/IG/Messenger | {{campaign.id}} |
Oui (Graph) |
tiktok |
TikTok Ads | #000000 |
In-feed, top-view, spark | __CLICKID__ |
Oui |
google |
Google Ads | #4285F4 |
Search, display, YT, shop | {gclid} |
Oui (OAuth) |
taboola |
Taboola | #0052CC |
Native premium | {click_id} |
Oui |
mgid |
MGID | #00C853 |
Native | {click_id} |
Oui |
exoclick |
ExoClick | #E91E63 |
Pop, push, native, video | {conversions_tracking} |
Oui |
richads |
RichAds | #7C4DFF |
Push, pop, direct | ${CLICK_ID} |
Oui |
custom |
Custom Source | #607D8B |
Tout le reste | À toi de fournir | Non |
Voir le fichier de configs : source-templates.js.
Champs requis par plateforme
Chaque template expose les fields que tu dois remplir dans l'UI à la création d'une source. Exemple Kadam (source-templates.js:9-37) :
{
"fields": [
{
"key": "api_token",
"label": "API Token",
"type": "password",
"required": true,
"placeholder": "Your Kadam Bearer token",
"help": "Found in your Kadam dashboard → Profile/Settings → API Token"
}
]
}
Pour Meta, tu as 3 champs (access_token, ad_account_id, pixel_id), pour Google 5 (developer_token, customer_id, oauth_client_id, oauth_client_secret, refresh_token).
Comment faire — via l'UI
- Sources → Add Source.
- Sélectionne la plateforme dans la grille (le card est coloré au branding plateforme).
- Remplis les champs (le help text de chaque field te dit où trouver les valeurs dans le dashboard de la plateforme).
- Save.
- Clic sur Test connection sur la nouvelle source — Trackily appelle l'API plateforme avec tes credentials et confirme.
- Si OK, la source est utilisable dans le dropdown Source de toutes tes campagnes.
Comment faire — via MCP
test_source_connection
{
"name": "test_source_connection",
"arguments": { "source_id": 3 }
}
Réponse en cas de succès :
{
"status": "ok",
"source_id": 3,
"platform": "kadam",
"tested_at": "2026-05-18T20:35:12.000Z",
"details": { "account_balance": "$1240.55", "active_campaigns": 12 }
}
En cas d'échec, Trackily retourne le code HTTP retour de l'API plateforme + le body d'erreur (tronqué à 300 chars).
list_source_campaigns
Liste les campagnes existantes COTE plateforme (pas Trackily). Utile pour brancher en bulk les campagnes ad network sur des entrées Trackily.
{
"name": "list_source_campaigns",
"arguments": { "source_id": 3, "status": "active" }
}
update_source_campaign_bid / update_source_campaign_budget
Pour les plateformes qui exposent l'API budget/bid (Meta, TikTok, Google, Kadam). Utilisé en backend par Automizer quand tu déclenches une action change_budget.
pause_source_campaign / resume_source_campaign
Idem — pause une campagne SOUS-JACENTE chez la plateforme (pas la campagne Trackily). Utile quand tu veux pause l'origine du trafic.
Macros à connaître par plateforme
Quand tu mets ta campaign_url_hint dans le dashboard plateforme, tu utilises les macros NATIVES de la plateforme — Trackily ne les invente pas, il les passe telles quelles.
Kadam
/c/YOUR-SLUG?click_id={click_id}&cost={cost}&sub2={campaign_id}&sub3={creative_id}&sub4={source_id}
PropellerAds
/c/YOUR-SLUG?click_id=${SUBID}&cost=${BID}&sub2=${CAMPAIGN_ID}&sub3=${CREATIVE_ID}&sub4=${ZONEID}&country=${COUNTRY}
Meta
/c/YOUR-SLUG?sub1={{campaign.id}}&sub2={{adset.id}}&sub3={{ad.id}}&sub4={{placement}}
À noter pour Meta : le fbclid est posé automatiquement par Facebook, pas besoin de le mettre dans l'URL — Trackily le capture côté /r/<slug> (redirect tracker) ou via le pixel.
TikTok
/c/YOUR-SLUG?click_id=__CLICKID__&sub1=__CID__&sub2=__AID__&sub3=__ADID__
Google Ads
/c/YOUR-SLUG?gclid={gclid}&sub1={campaignid}&sub2={adgroupid}&sub3={creative}&sub4={keyword}
Taboola
/c/YOUR-SLUG?click_id={click_id}&sub1={campaign_id}&sub2={site}&sub3={platform}&country={country}
MGID
/c/YOUR-SLUG?click_id={click_id}&cost={cpc}&sub1={campaign_id}&sub2={widget_id}
ExoClick
/c/YOUR-SLUG?click_id={conversions_tracking}&cost={price}&sub1={campaign_id}&sub2={zone_id}&country={country_code}
RichAds
/c/YOUR-SLUG?click_id=${CLICK_ID}&cost=${COST}&sub1=${CAMPAIGN_ID}&sub2=${CREATIVE_ID}&country=${COUNTRY}
Custom
Tu fournis toi-même click_id_macro + cost_macro à la création de la source. Si tu ne sais pas, demande à la doc de ton ad network.
Postback (conversion tracking)
Chaque template expose aussi un postback_template qui dit où renvoyer la conversion VERS la plateforme (server-to-server). Exemple Kadam : https://kdtrk.net/ru/postback/?data={sub2}.
Tu configures ce postback côté plateforme (Kadam Dashboard → Campagne → Postback URL) — Trackily ne fire PAS le postback vers la plateforme automatiquement (sauf pour Meta CAPI / TikTok Events API si tu as activé l'intégration server-side).
À l'inverse, le postback vers Trackily (offer affiliate → Trackily) se configure dans l'offre, pas dans la source.
Notes spécifiques par plateforme
Meta (FB / IG)
Le pixel client-side n'est plus fiable depuis iOS 14.5+. Utilise CAPI (Conversions API) côté server pour le tracking conversion — Trackily peut le faire automatiquement si pixel_id + access_token sont valides et tu uses la source comme handler dans tes offres.
TikTok
Idem : Events API server-side recommandé. TikTok pénalise sévèrement les comptes avec mauvaise qualité de signal.
Google Ads
Authentification OAuth 2.0 obligatoire (pas juste un API key). Tu dois passer par Google Cloud Console → Credentials pour obtenir client_id + client_secret, puis générer un refresh_token via OAuth flow. Doc : https://developers.google.com/google-ads/api/docs/oauth/cloud-project.
Kadam, PropellerAds, MGID, RichAds, ExoClick
API token simple, pas d'OAuth. Le plus rapide à brancher (2 minutes).
Exemples
Créer une source Kadam via l'UI (le plus courant)
- Récupère ton API token : Kadam dashboard → Profile → API Token.
- Trackily → Sources → Add Source → Kadam.
- Colle le token, Save.
- Test connection → tu vois le solde de ton compte = OK.
- Crée une campagne Trackily avec
source_idpointant cette nouvelle source.
Source Custom pour un ad network exotique
Si tu travailles avec un ad network non listé (NewBitAds, Adnium, …) :
- Sources → Add Source → Custom.
- Donne un nom (
name_custom: "Adnium"). - (Optionnel)
api_url,api_key,postback_url. - Macros : remplis
click_id_macro(ex{clickid}) etcost_macro(ex{cost}) selon ce que l'ad network supporte. - Save. La source apparaît dans le dropdown campagnes — pas de sync API, mais le tracking marche.
Erreurs courantes
- Token expiré : les Bearer tokens Kadam/PropellerAds n'expirent pas, mais Meta/Google OAuth oui (Meta = 60 jours pour les tokens longue durée). Refresh régulièrement.
- Wrong ad account ID : Meta =
act_123456789avec le préfixeact_, pas juste les chiffres. - Macro mal recopiée : Kadam
{click_id}avec un underscore, PropellerAds${SUBID}en MAJUSCULES avec dollar-accolade. Copie-colle depuis sources.md plutôt que retaper. - Test connection skip : tu peux créer une campagne avec une source non testée — elle marche pour le tracking simple mais aucune API call (sync, list, pause) ne fonctionnera. Test toujours juste après la création.
- Source Custom sans macros : la campagne route le trafic mais tu perds tous les sub-IDs dans le reporting. Toujours définir AU MINIMUM
click_id_macro.
Voir aussi
- Créer une campagne — référencer la source via
source_id - Sources — code source —
source-templates.js - MCP — tools reference —
test_source_connection,list_source_campaigns,update_source_campaign_* - API — webhooks — comment configurer le postback dans l'autre sens (offer affiliate → Trackily)