Advanced Links - Multi destination Overview


  2 months ago by Admin

Taveo now supports dynamic URL redirection. Using this feature you use one Link to send users to different destination URLs based on different criteria, such as Operating System, Language, etc.

To get started using this feature head over to the Links page and choose "Advanced" when creating a new link. As of today you can create links using the following rules:

  • Operating System (Windows,Android,iOS,linux,etc) - Redirect users based on their OS.
  • Random (Useful for A/B testing - Test different landing pages, etc.)
  • Geo Location (by specific country) - Based on IP geolocation
  • Language (languages the user speaks, english, spanish, russian, etc)
  • Expiring after a set time (Useful for time limited contests, giveaways, etc) - Link will stop functioning after a given time.
Try our live demo: Dynamically route to your Operating Systems Home page

Adding a Dynamic Link via the API

To add a Dynamic Link via the API, use the create method as described here. In addition to the standard parameters, add an additional parameter: multidest. This parameter should be a valid JSON string, with the following syntax:


{  
     "type": "<type>" ,
      "data" :  {
          "<key>" : "http://url1.com/path",
          "<key>" : "http://url2.com/path",
          "<key>" : "http://url3.com/path",
}

The possible values of <type> are described below. Please note that the value of <key> changes greatly based on what <type> you use. The key and type values below case sensitive!

Type Option Key Option Description
geo A 2 letter ISO country code, in UPPER CASE (ex: US, GB, RU) Use this type to route based on geo location. The users IP address will be mapped to a country and routed based on your options.
os One of the following: ["windows","android","ios","os x","linux"] (case sensitive!) Use this type to route based on the users operating system.
lang A valid browser language code (ex: en, en-us, en-ca, ru-ru) (case sensitive, use all lower case) Use this type to route based on the browsers language code ( read more about language codes).
random an integer, starting at 0 and counting up by 1. (ex: if you want 3 random choices, your keys are 0,1,2) This will randomly choose one of the urls supplied as a destination.
expires an integer, indicating the epoch time when the link will "expire" If the current time is before your supplied time, the user will be sent to your url. After this time, the user will be routed to the url contained within the destination parameter (read more about epoch time).

Examples


{
	"type": "expires" ,
	"data" : 
		{
			"4132274844" : "http://thisisa.localtest/not_expired"
		}
}

{
	"type": "expires" ,
	"data" : 
		{
			"1": "http://thisisa.localtest/already_expired"
		}
}

{
	"type": "os" ,
	"data" : 
		{
			 "windows" : "http://thisisa.localtest/os_windows",
			 "android" : "http://thisisa.localtest/os_android",
			 "ios" : "http://thisisa.localtest/os_ios",
			 "os x" : "http://thisisa.localtest/os_osx",
			 "linux" : "http://thisisa.localtest/os_linux"
		 }
}

{  
	"type": "geo" ,
	"data" : 
		{
			 "US" : "http://thisisa.localtest/geo_us",
			 "GB" : "http://thisisa.localtest/geo_gb",
			 "DE" : "http://thisisa.localtest/geo_de",
			 "RU" : "http://thisisa.localtest/geo_ru",
			 "CN" : "http://thisisa.localtest/geo_cn"
		}
}

{
	"type": "lang" ,
	"data" : 
		{
			 "en" : "http://thisisa.localtest/lang_en",
			 "en-us" : "http://thisisa.localtest/lang_enus",
			 "en-ca" : "http://thisisa.localtest/lang_enca",
			 "ru" : "http://thisisa.localtest/lang_ru",
			 "ru-ru" : "http://thisisa.localtest/lang_ru-ru"
		 }
}

{  
	"type": "random" ,
	"data" : 
		{
			 "0" : "http://thisisa.localtest/1",
			 "1" : "http://thisisa.localtest/2",
			 "2" : "http://thisisa.localtest/3"
		 }
 }









Can't find the answer to your question? Contact our support team