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.
Solved! Go to Solution.
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).
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.
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.
@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... 🙂
Yep, that method could help you do it all in a series of Flow choices!