0
Answered

Гео-таргетинг по Яндексу и подсказки

9500115577 3 years ago • updated by Анастасия 3 years ago 4

Добрый день. Хочу реализовать гео-таргетинг на сайте по такой схеме:

При первом заходе на сайт определяется регион посетителя (посетитель его может принудительно сменить при ошибке)
После определения ГЕО в "шапке" сайта показывается нужный телефон, в карточке товара - точные данные по доставке, в корзине - сразу подставляются данные по стране, региону, городу.

Плюс в корзине хотелось бы помочь клиенту заполнить ФИО, телефон, e-mail, адрес, индекс.

Можно ли все это реализовать с помощью dadata?


Возникает такой вопрос - в моей базе данных уже заведены регионы, к ним "привязаны" тарифы доставки (к регионам, а не к городам). Как в этом случае сопоставить две базы? Что делать с другими странами? Сейчас у меня геотаргетинг яндекса.

Answer

Answer
Under review

Александр, добрый день! Если у вас уже работает геолокация по Яндексу, зачем её менять? Просто подключите подсказки по ФИО, адресу, и email в корзине (посмотрите примеры подключения). Сопоставлять вроде бы ничего не требуется.

Answer
Under review

Александр, добрый день! Если у вас уже работает геолокация по Яндексу, зачем её менять? Просто подключите подсказки по ФИО, адресу, и email в корзине (посмотрите примеры подключения). Сопоставлять вроде бы ничего не требуется.

Спасибо за ссылку.
Сейчас по ГЕО Яндекса определяется локация и более ничего не сделано.

Я доверяю Яндексу, как крупной компании (плюс есть гео в других странах), но хочется получить весь сервис в одном месте - и подсказки, и прочее. Также не очень понимаю - как определенный регион или город "связать" с моей БД. У меня городов в БД вообще нет, но есть регионы (области, края, и т.п.) Город в базе не указан, он вписывается посетителем в момент заказа вручную. А тарифы доставки "привязаны" к регионам в моей базе.


Но ведь список регионов у нас разный, даже написание теоретически может отличаться (у Вас "Респ Крым", а у меня "Республика Крым", например). По какому признаку я могу поставить в корзине заполненные значения региона? У меня выпадающий список регионов, туда нельзя ввести что-то отличное от вариантов в моей базе, иначе не посчитаются тарифы доставки.


Как в этом случае быть? Не понимаю - что писать программисту в задании.

Кстати, у вас нет платных услуг по внедрению Вашего сервиса?

Можно сделать так: сопоставить каждому региону в вашем списке его КЛАДР-код (коды есть в таблице регионов, столбец CODE). А дальше в корзине на поле адреса с подсказками накладываете ограничение по этому коду.


Например, у Крыма код 9100000000000, значит подсказки по адресу будут инициализированы так:

$("#address").suggestions({
  serviceUrl: "https://suggestions.dadata.ru/suggestions/api/4_1/rs",
  token: "ВАШ_API_КЛЮЧ",
  type: "ADDRESS",
  constraints: {
    label: "Республика Крым",
    // ограничиваем поиск по коду КЛАДР
    locations: { kladr_id: "9100000000000" },
  },
  // в списке подсказок не показываем область
  restrict_value: true
});

Соответственно, вашему программисту надо прописать коды для каждого региона и подставлять их в подсказки в корзине, в параметре constraints (как в примере выше).


Платных услуг по внедрению нет, но если у вашего программиста возникнут вопросы — пусть пишет сюда, ответим ツ