Factually "CanonicalName" that I got in runtime is equal to locationName while on web page it looks like this (for Paris):
Paris,Paris,Ile-de-France,France
Paris,Arkansas,United States
Paris,Idaho,United States
Paris,Illinois,United States
New Paris,Indiana,United States
Paris,Kentucky,United States
Paris,Maine,United States
South Paris,Maine,United State
<rval>
<location>
<id>1018992</id>
<Criterion.Type>Location</Criterion.Type>
<locationName>Paris</locationName>
<displayType>City</displayType>
<targetingStatus>ACTIVE</targetingStatus>
.....
</location>
<canonicalName>Paris</canonicalName>
<reach>13000</reach>
<locale>en</locale>
<searchTerm>Paris</searchTerm>
</rval>
What is wrong with LocationCriterionService? Why it returns incorrect values for canonicalName?