PPC
1487750466

Динамический ремаркетинг в Google Рекламе без Google Merchant Center — скрипт для автоматического обновления фида

Хотите, чтобы динамический ремаркетинг работал эффективно? Ваши объявления должны содержать актуальную информацию о товарах. Если на сайте регулярно меняются цены или расширяется ассортимент, каждый раз нужно подгружать измененный каталог товаров в аккаунт Google. В этой статье я расскажу, как настроить автоматическое обновление фида с помощью таблиц Google.

При загрузке фида с помощью Google Merchant Center товарный фид обновляется автоматически, согласно установленному расписанию. К сожалению, в Украине, Беларуси и Казахстане пока недоступен Merchant Center, поэтому нужно постоянно следить за изменениями и загружать фид вручную.

Мой способ избавит вас от необходимости регулярно загружать фид в Google Рекламу. Вам понадобится:

  1. Подготовить фид в формате XML или YML.
  2. Создать таблицу Google и настроить скрипт, который будет загружать в нее данные из фида.
  3. Загрузить полученную таблицу в свой аккаунт Google Рекламы и настроить обновление.

Скрипт для парсинга данных в таблицу Google разработали Analytics Strategist Алексей Данилин и Software Engineer at Serpstat Антон Белоус.

1. Импортируйте данные из фида в таблицу Google

1.1. Создайте файл в таблицах Google.

1.2. Выберите в верхнем меню пункт «Инструменты» — «Редактор скриптов».

Импортируйте данные с фида в таблицу Google

В окне редактирования скриптов сразу откроется новый проект, в котором вы будете работать. Дайте понятное название вашему проекту, например такое, как прописали ранее для созданной таблицы Google.

Откроется новый проект

1.3. Далее перейдем непосредственно к работе со скриптом. Сначала полностью удалите имеющиеся на странице строки кода.

Удалите имеющиеся на странице строки кода

Затем скопируйте и вставьте в свой проект этот скрипт:

var doc = SpreadsheetApp.getActiveSpreadsheet();try 
{var s_settings = doc.getSheetByName("Settings");s_settings.clear();}catch(e) 
{var s_settings = doc.insertSheet();s_settings.setName("Settings");}function parseXml() 
{var url = 'https://адрес_нашего_xml_файла';var xml 
= UrlFetchApp.fetch(url).getContentText();var document 
= XmlService.parse(xml);var root = document.getRootElement();var 
ns = XmlService.getNamespace('https://www.w3.org/1999/xhtml');Logger.log(ns);var 
entries = document.getRootElement().getChildren();Logger.log(entries);var 
orders = entries[0].getChildren('offers')[0].getChildren('offer');Logger.log(orders);
var rows = [];rows.push(['ID','Final URL','Item category','Item title','Image URL','Price'])for 
(var i = 0; i < orders.length; i++) { var id = orders[i].getAttribute('id').
toString().split("'")[1]; var url = orders[i].getChildText('url').toString().
trim(); var cat = orders[i].getChildText('vendor'); var name = orders[i].getChildText('model'); 
var pic = orders[i].getChildText('picture').toString().trim(); var currencyId 
= orders[i].getChildText('currencyId').toString().trim(); var price 
= orders[i].getChildText('price').toString()+' '+currencyId; var newRow 
= [    id, url, cat, name, pic, price   ]; 
rows.push(newRow);}Logger.log(rows[rows.length-1]);
s_settings.getRange(1,1,rows.length, 6).setValues(rows);}

1.4. Чтобы скрипт корректно работал именно с вашим фидом, необходимо отредактировать несколько строк в коде.

В строке 12 вместо «https://адрес_нашего_xml_файла» укажите адрес вашего фида, из которого скрипт будет тянуть информацию о товарах.

Укажите адрес вашего xml или yml-файла

В некоторых случаях для работы скрипта достаточно вставить ссылку на ваш фид, но, возможно, придется скорректировать еще несколько пунктов.

1.5. Проанализируйте структуру вашего фида. Передаваемые параметры должны совпадать со значениями атрибутов, указанными в этом фрагменте скрипта:

rows.push(['ID','Final URL','Item category','Item title',
'Image URL','Price'])for (var i = 0; i < orders.length; i++) 
{ var id = orders[i].getAttribute('id').toString().split("'")[1]; 
var url = orders[i].getChildText('url').toString().trim(); 
var cat = orders[i].getChildText('vendor'); 
var name = orders[i].getChildText('model'); 
var pic = orders[i].getChildText('picture').toString().trim(); 
var currencyId = orders[i].getChildText('currencyId').toString().trim(); 
var price = orders[i].getChildText('price').toString()+' '+currencyId;

Рассмотрим подробнее, какие значения должны передаваться:

  • из атрибута getAttribute('id') в столбец ID импортируется информация об идентификационном номере товара;
  • из getChildText('url') в столбец Final URL передается значение ссылки на карточку товара;
  • из getChildText('vendor') в Item category подтягивается информация о названии категории;
  • из getChildText('model') в Item title передается название товара.
  • из getChildText('picture') в Image URL — ссылка на изображение продукта;
  • из атрибута getChildText('price') в столбец Price — цена товара.

Если в вашем фиде названия параметров отличаются от указанных выше значений атрибутов, необходимо отредактировать код скрипта. Допустим, информация о товаре в продуктовом каталоге выглядит так:  

<offer id="№ ID товара" type="vendor.model" 
available="true"><url>https://ссылка на страницу товара</url>
<price>100</price><currencyId>UAH</currencyId><categoryId>1
</categoryId><picture>https://ссылка на рисунок товара.jpg
</picture><typePrefix>Смартфон</typePrefix><categoryname>Samsung</categoryname>
<name>Galaxy S4</name><param>White</param></offer>

Как видите, название и категория товара передаются с помощью параметров «name» и «categoryname», а не «vendor» и «model». Замените в коде значения атрибутов.

Название и категория товара передается с помощью параметров

1.6. После редактирования скрипта нажмите на кнопку «Сохранить», а затем — «Выполнить»

Сохраните скрипт

В правом верхнем углу появиться сообщение, что скрипт начал выполняться.

скрипт начал выполняться

Редактор скриптов запросит авторизацию — нажмите «Предоставить разрешение».

предоставить разрешение на выполнение скрипта

1.7. Чтобы убедится, что данные из фида извлекаются правильно, перейдите непосредственно к таблице. Должны появится столбцы, как на скриншоте.

Данные из фида извлекаются правильно

2. Настройте правила обновления данных

Чтобы информация в таблице регулярно обновлялась, необходимо в редакторе скриптов создать соответствующий триггер.

2.1. В верхнем меню выберите пункт «Ресурсы» — «Триггеры текущего проекта».

Настройте правила обновления данных

Чтобы перейти к настройке вашего первого триггера, в открывшемся окне нажмите на строку с синим текстом.

Триггеры текущего проекта

2.2. Сначала выберите, как часто должен обновляться фид.

 как часто должен обновляться фид

2.3. Рекомендую настроить оповещения, которые будут сообщать вам об ошибках обновления файла. Для этого нажмите на ссылку «Уведомления».

Нажмите на ссылку «Уведомления»

По умолчанию в настройках будет указана ваша почта и ежедневные оповещения. Выберите удобное время, а при необходимости измените или добавьте еще одного получателя. Нажмите кнопку «ОК» и сохраните изменения.

в настройках будет указана ваша почта и ежедневные оповещения

3. Добавьте фид в Google Рекламу

3.1. Скачайте сгенерированную таблицу в формате CSV. Для этого нажмите в верхнем меню на «Файл» и в выпадающем списке выберите «Скачать как» — «CSV-файл (текущий лист)».

Скачайте сгенерированную таблицу

3.2. Приступим непосредственно к загрузке каталога товаров в Google Рекламу. Перейдите в «Общую библиотеку» и кликните на подпункт «Коммерческие данные».

Перейдите в «Общую библиотеку»

3.3. Нажмите на кнопку «+Данные» и выберите «Фид динамических медийных объявлений» — «Выбранный пользователем».

Фид динамических медийных объявлений

3.4. Нажмите кнопку «Выбрать файл», выберите CSV-файл с фидом и загрузите его в аккаунт.

Выберите CSV-файл

После предварительной обработки файла нажмите «Применить изменения».

нажмите кнопку «Применить изменения»

3.5. Чтобы установить частоту обновления данных, в списке «Коммерческие данные» перейдите к добавленному фиду. На вкладке «Запланированные загрузки» нажмите на кнопку «+Расписание».

Запланировать загрузку

3.6. Установите периодичность обновления. В качестве источника укажите таблицу Google, для которой ранее настроили скрипт.

выбрать период обновления фида

Обратите внимание на примечание с информацией, на какой адрес необходимо открыть доступ к таблице Google для вашего аккаунта в  Google Рекламе. 

Доступ к аккаунту

3.7. Проверьте, работает ли обновление файла. Для этого нажмите кнопку «Обновить» во вкладке «Запланированные загрузки».

«Обновить» во вкладке «Запланированные загрузки»

Выводы

Чтобы автоматизировать обновления фида в аккаунте Google Рекламы, нужно следовать простому алгоритму:

  1. Создайте таблицу Google в редакторе скриптов и добавьте наш код.
  2. В скрипт добавьте ссылку на ваш фид и при необходимости замените значения атрибутов.
  3. Настройте триггеры, с помощью которых информация в таблице будет автоматически обновляться.
  4. Сохраните информацию в формате в CSV и загрузите в Google Рекламу.
  5. Настройте период загрузки данных и проверьте, обновляется ли информация.

Показывайте вашим пользователям актуальную информацию о товарах.

Узнайте больше
116
112
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.