How to create a custom conversion source

AnyTrack already supports a large variety of integrations

AnyTrack already supports a large variety of integrations that you can find in the Integration Catalog. And while we try to integrate new apps on a regular basis, you might need to create a custom integration. For that purpose, we enable you to create a custom integration from the catalog.

Prerequisites
  1. Your platform should be able to fire a webhook (GET or POST)
  2. You must pass the AnyTrack clickId to your cart, product link, or form (for CRMs)
  3. You should use the standard tracking parameters provided by AnyTrack
Create a Custom Integration
  1. Navigate to the integration catalog and search for the Custom Integration
  2. Set the name of your shop or app.
  3. Set the integration's login page (optional)
  4. Click on create.

mceclip0.png

Generate your Webhook template

The next step allows to define of the webhook template (also called the Postback URL), which will carry standard parameters and placeholders.

This step will ask you for the placeholders of your postback URL, for example {sub1} for the click_id. 

Only The click_ id and the conversion value placeholders are required.

👉 If you don’t know the right values for your integration, you can ask your affiliate manager or put some default values in the meantime. You will be able to replace them manually after generating the postback URL.

In the example 👇 you can see how we are adding the placeholders form the Hasoffers platform.

Conversion Funnel Logic

Because not all integrations send a conversion type parameter in the Postback, we apply a conversion logic based on the values sent in the conversion.

  1. A conversion recorded with 0 commission value will trigger a Lead.
  2. Conversions recorded with a commission > 0 will trigger a Purchase conversion.

You can always use the event_name parameter and provide the exact event name you want to use instead. For more details, see the list of supported parameters below. 

Supported Parameters

In addition to the placeholders requested in the second step, the Postback URL supports additional parameters. Here is a list of all the supported parameters:

Parameter Name Type Example Requirements
click_id string MAbadl0fpiROtrJ5N2GeEnE Required
commission number 4.99  
currency string EUR 3 letters currency code. Default to the property currency.
transaction_id string 10492A A unique transaction id for deduplication
brand_name string Apple Inc.
The offer name or product name.
event_name string CompleteRegistration
The event name to use

* All parameters can be sent via GET or POST requests and can be placed either on the URL or on the request body.

Matching Parameters

The following parameters are also supported for better matching and attribution. Those values will be sent to Facebook and other pixels in the required format and encryption.

Parameter name Type Example Notes
email string jsmith@example.com  
first_name string John  
last_name string Smith  
name string John Smith Using this field will automatically fill first and last name fields
phone string +1 (650) 555 4444 Including country code and area code
birthdate string May 26, 1991 or 1991-05-26  
city string Menlo Park  
state string CA Two-letter state or province code
zipcode number 94025 Zip or Postal Code
country string US or United States  

* There is NO need to hash the data as  AnyTrack does it automatically before sending to your ad platforms.

Postback URL Example

Here is a complete example of a postback URL template we prepared using some of the parameters above:

https://t1.anytrack.io/GqxV3nTo/collect/custom-newtest?click_id={click_id}&commission={commission}¤cy={currency}&transaction_id={transaction_id}&brand_name={brand_name}&event_name=CompleteRegistration&email={email}&name={name}

Here is an example of the template URL will all the parameters values:

https://t1.anytrack.io/GqxV3nTo/collect/custom-newtest?click_id=CAxaduSFl0fpiROSdRkptrJ5REfN2GeEnE&commission=4.99¤cy=USD&transaction_id=10492A&brand_name=Apple%20Inc&event_name=CompleteRegistration&email=jsmith%40example.com&name=John%20Smith

Don't be afraid to enrich your Postback URL

In the tracking world, data is power 💪

Feel free to enrich your postback URL with additional parameters that can be found in our standard parameters and matching parameters.

You can insert additional information like value, currency, ad 

https://t1.anytrack.io/useridxxx/collect/impact?click_id={click_id}&commission={commission}&currency={currency}

Remember: commission={commission}

This part stays as the name of the parameter. ( AnyTrack supplies this parameter)

This part will be substituted with the real value. ( You have to ask it from the platform that you want to integrate)

They are even Postback URLs like this one, which can give us the whole picture of the event:

https://t1.anytrack.io/useridxxx/collect/impact?ActionTrackerName={ActionTrackerName}&CampaignId={CampaignId}&CampaignName={CampaignName}&MediaPartnerId={MediaPartnerId}&MediaPartnerName={MediaPartnerName}&SubId1={SubId1}&SubId2={SubId2}&SubId3={SubId3}&AdId={AdId}&ActionTrackerId={ActionTrackerId}&ActionId={ActionId}&commission={commission}¤cy={currency}&Payout={Payout}&EventDate={EventDate}&Status={Status}&StatusDetail={StatusDetail}&LandingPageUrl={LandingPageUrl}&SharedId={SharedId}&PromoCode={PromoCode}&RefCustomerCountry={RefCustomerCountry}

Checking parameters on the event log

Inside the integration, you will find the event log section:

Clicking on it will let you check your event payloads and review all the parameters :

"query": {
"affiliate_id": "4479"
"payout": "4.48500"
"commission": 500,
"aff_click_id": "ej2kaIZSEV1rhNu8ohhqtt",
"advertiser_id": "2",
"offerurl_id": "51",
"goal_id": "5",
"date_time": "2020-05-19 12:46:16",
"offerfile_id": "0",
"currency": "USD",
"offer_ref": "PRO",
"aff_sub5": "ej2kaIZSEV1rhNu8ohhqtt",
"advertiser_ref": null,
"transaction_id": "10219dbfbe3c8802f63db008acd29c",
"deviceid": "{deviceid}",
"ip": "35.161.196.166",
"offer_id": "2",
"hasoffers": "tradingview",
"session_ip": "92.170.247.132",
"sale_amount": null
}