SOLVED

Re: Filling in country by ccTLD

Go to solution
joannealtes
Level 1

Filling in country by ccTLD

I am trying to build automation that will fill out country based on the ccTLD. For example if an email address comes in ending in ".ar" the country will be filled out as Argentina. I'm not seeing anything in Marketo currently that will allow me to sort email addresses by what they end in. 

1 ACCEPTED SOLUTION

Accepted Solutions
Darshil_Shah1
Level 10 - Community Advisor + Adobe Champion

Re: Filling in country by ccTLD

You can set this up using a webhook compatible service that can extract the ccTLD from the email and write the data to Country field back (Flowboost can do something like this effortlessly).

 

View solution in original post

5 REPLIES 5
Darshil_Shah1
Level 10 - Community Advisor + Adobe Champion

Re: Filling in country by ccTLD

You can set this up using a webhook compatible service that can extract the ccTLD from the email and write the data to Country field back (Flowboost can do something like this effortlessly).

 

SanfordWhiteman
Level 10 - Community Moderator

Re: Filling in country by ccTLD

Like Darshil says, you’d need the assistance of a webhook. In FlowBoost you could create a list of the (currently 308) ccTLDs and then map from ccTLD → full Country name.

 

But there’s a problem with that: if someone’s ccTLD is .ly, that definitely does not mean they’re in Libya. And so on.

 

SanfordWhiteman
Level 10 - Community Moderator

Re: Filling in country by ccTLD

FYI if you’re willing to deal with the anomalies like .to and .ly being used by apps across all countries, a sample FlowBoost ’hook would be:

let ccTLDToCountry = {"ad":"Andorra","ae":"United Arab Emirates","af":"Afghanistan","ag":"Antigua and Barbuda","ai":"Anguilla","al":"Albania","am":"Armenia","ao":"Angola","aq":"Antarctica","ar":"Argentina","as":"American Samoa","at":"Austria","au":"Australia","aw":"Aruba","ax":"Aland Islands","az":"Azerbaijan","ba":"Bosnia and Herzegovina","bb":"Barbados","bd":"Bangladesh","be":"Belgium","bf":"Burkina Faso","bg":"Bulgaria","bh":"Bahrain","bi":"Burundi","bj":"Benin","gp":"Saint Martin (French Part)","bm":"Bermuda","bn":"Brunei Darussalam","bo":"Bolivia (Plurinational State of)","bq":"Bonaire, Sint Eustatius and Saba","br":"Brazil","bs":"Bahamas","bt":"Bhutan","bv":"Bouvet Island","bw":"Botswana","by":"Belarus","bz":"Belize","ca":"Canada","cc":"Cocos (Keeling) Islands","cd":"Congo (Democratic Republic of the)","cf":"Central African Republic","cg":"Congo","ch":"Switzerland","ci":"Cote d'Ivoire","ck":"Cook Islands","cl":"Chile","cm":"Cameroon","cn":"China","co":"Colombia","cr":"Costa Rica","cu":"Cuba","cv":"Cabo Verde","cw":"Curaçao","cx":"Christmas Island","cy":"Cyprus","cz":"Czechia","de":"Germany","dj":"Djibouti","dk":"Denmark","dm":"Dominica","do":"Dominican Republic","dz":"Algeria","ec":"Ecuador","ee":"Estonia","eg":"Egypt","eh":"Western Sahara","er":"Eritrea","es":"Spain","et":"Ethiopia","fi":"Finland","fj":"Fiji","fk":"Falkland Islands (Malvinas)","fm":"Micronesia (Federated States of)","fo":"Faroe Islands","fr":"France","ga":"Gabon","gb":"United Kingdom of Great Britain and Northern Ireland","gd":"Grenada","ge":"Georgia","gf":"French Guiana","gg":"Guernsey","gh":"Ghana","gi":"Gibraltar","gl":"Greenland","gm":"Gambia","gn":"Guinea","gq":"Equatorial Guinea","gr":"Greece","gs":"South Georgia and the South Sandwich Islands","gt":"Guatemala","gu":"Guam","gw":"Guinea-Bissau","gy":"Guyana","hk":"Hong Kong","hm":"Heard Island and McDonald Islands","hn":"Honduras","hr":"Croatia","ht":"Haiti","hu":"Hungary","id":"Indonesia","ie":"Ireland","il":"Israel","im":"Isle of Man","in":"India","io":"British Indian Ocean Territory","iq":"Iraq","ir":"Iran (Islamic Republic of)","is":"Iceland","it":"Italy","je":"Jersey","jm":"Jamaica","jo":"Jordan","jp":"Japan","ke":"Kenya","kg":"Kyrgyzstan","kh":"Cambodia","ki":"Kiribati","km":"Comoros","kn":"Saint Kitts and Nevis","kp":"Korea (Democratic People's Republic of)","kr":"Korea (Republic of)","kw":"Kuwait","ky":"Cayman Islands","kz":"Kazakhstan","la":"Lao People's Democratic Republic","lb":"Lebanon","lc":"Saint Lucia","li":"Liechtenstein","lk":"Sri Lanka","lr":"Liberia","ls":"Lesotho","lt":"Lithuania","lu":"Luxembourg","lv":"Latvia","ly":"Libya","ma":"Morocco","mc":"Monaco","md":"Moldova (Republic of)","me":"Montenegro","mg":"Madagascar","mh":"Marshall Islands","mk":"North Macedonia","ml":"Mali","mm":"Myanmar","mn":"Mongolia","mo":"Macao","mp":"Northern Mariana Islands","mq":"Martinique","mr":"Mauritania","ms":"Montserrat","mt":"Malta","mu":"Mauritius","mv":"Maldives","mw":"Malawi","mx":"Mexico","my":"Malaysia","mz":"Mozambique","na":"Namibia","nc":"New Caledonia","ne":"Niger","nf":"Norfolk Island","ng":"Nigeria","ni":"Nicaragua","nl":"Netherlands","no":"Norway","np":"Nepal","nr":"Nauru","nu":"Niue","nz":"New Zealand","om":"Oman","pa":"Panama","pe":"Peru","pf":"French Polynesia","pg":"Papua New Guinea","ph":"Philippines","pk":"Pakistan","pl":"Poland","pm":"Saint Pierre and Miquelon","pn":"Pitcairn","pr":"Puerto Rico","ps":"Palestine, State of","pt":"Portugal","pw":"Palau","py":"Paraguay","qa":"Qatar","re":"Reunion","ro":"Romania","rs":"Serbia","ru":"Russian Federation","rw":"Rwanda","sa":"Saudi Arabia","sb":"Solomon Islands","sc":"Seychelles","sd":"Sudan","se":"Sweden","sg":"Singapore","sh":"Saint Helena, Ascension and Tristan da Cunha","si":"Slovenia","sj":"Svalbard and Jan Mayen","sk":"Slovakia","sl":"Sierra Leone","sm":"San Marino","sn":"Senegal","so":"Somalia","sr":"Suriname","ss":"South Sudan","st":"Sao Tome and Principe","sv":"El Salvador","sx":"Sint Maarten (Dutch Part)","sy":"Syrian Arab Republic","sz":"Eswatini","tc":"Turks and Caicos Islands","td":"Chad","tf":"French Southern Territories","tg":"Togo","th":"Thailand","tj":"Tajikistan","tk":"Tokelau","tl":"Timor-Leste","tm":"Turkmenistan","tn":"Tunisia","to":"Tonga","tr":"Turkey","tt":"Trinidad and Tobago","tv":"Tuvalu","tw":"Taiwan (Province of China)","tz":"Tanzania, United Republic of","ua":"Ukraine","ug":"Uganda","um":"United States Minor Outlying Islands","us":"United States of America","uy":"Uruguay","uz":"Uzbekistan","va":"Holy See","vc":"Saint Vincent and the Grenadines","ve":"Venezuela (Bolivarian Republic of)","vg":"Virgin Islands (British)","vi":"Virgin Islands (U.S.)","vn":"Viet Nam","vu":"Vanuatu","wf":"Wallis and Futuna","ws":"Samoa","ye":"Yemen","yt":"Mayotte","za":"South Africa","zm":"Zambia","zw":"Zimbabwe"};

let emailParts = FBUtil.string.partsFromEmail({{Lead.Email Address}});
let emailDomain = emailParts.domain;
let emailTLD = emailDomain.split(".").pop();

countryFromCCTLD = ccTLDToCountry[emailTLD];

 

That has the 249 non-IDN ccTLDs at the top (I didn’t format them to save space!).

 

It’ll either return a response like

{
    "countryFromCCTLD": "Martinique"
}

 or an empty response if there’s no match. Then you can use Response Mappings to write back to Country.

Joke_Van_Essche
Level 3

Re: Filling in country by ccTLD


@joannealtes wrote:

I'm not seeing anything in Marketo currently that will allow me to sort email addresses by what they end in. 


This might be useful to you: https://nation.marketo.com/t5/product-blogs/a-hackity-hack-for-ends-with-and-email-domains/ba-p/2426... 🙂

SanfordWhiteman
Level 10 - Community Moderator

Re: Filling in country by ccTLD

Yep, that method could help you do it all in a series of Flow choices!