Руководство по созданию Criteo dataLayer для GTM

Обзор

Criteo dataLayer это JS переменная, которую нужно наполнить необходимой для работы тэгов информацией о товаре или пользователе. Она должна быть объявлена на каждой странице исходного кода вашего сайта. Переменная dataLayer должна быть реализована для следующих 5 типов страниц на вашем сайте:

  1. Домашняя страница

  2. Каталог / Листинг

  3. Карточка товара

  4. Корзина

  5. Продажа

[[disclaimer-developer]]

Установка dataLayer

Домашняя страница

Установите dataLayer на домашную страницу. Пример URL домашней страницы: {{homepageurl}}

Поле Описание Пример Синтаксис
event Тип страницы crto_homepage Строковое значение
crto.email Открытый текст или MD5 хэш 79054025255fb1a26e4bc422aef54eb4 Строка в нижнем регистре. Длина - 32 символа, без обрамляющих пробелов. Кодировка - UTF-8.

Структура

Поля, окруженные двумя знаками хэша (##) должны быть заменены динамическими значениями, соответствующими пользователю или продукту.

<!-- Criteo Homepage dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({  
            'event': 'crto_homepage',
            crto: {             
                'email': '##Электронный адрес пользователя##' // может быть пустой строкой
            }
        });
</script>
<!-- END Criteo Homepage dataLayer -->

Пример

<!-- Criteo Homepage dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({  
            'event': 'crto_homepage',
            crto: {             
                'email': 'crtotest@test.com'
            }
        });
</script>
<!-- END Criteo Homepage dataLayer -->

Каталог / Листинг

Установите dataLayer на странице категории и странице результатов поиска. URL такой страницы может выглядеть следующим образом: {{homepageurl}}/category?id=categoryid1

Поле Описание Пример Синтаксис
event Тип страницы crto_listingpage Строковое значение
crto.email Открытый текст или MD5 хэш 79054025255fb1a26e4bc422aef54eb4 Строка в нижнем регистре. Длина - 32 символа, без обрамляющих пробелов. Кодировка - UTF-8.
crto.products Массив уникальных идентификаторов продуктов ['ProductID_1','ProductID_2','ProductID_3'''] Массив строковых значений.

Структура

Поля, окруженные двумя знаками хэша (##) должны быть заменены динамическими значениями, соответствующими пользователю или продукту.

<!-- Criteo Category / Listing dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({            
            'event': 'crto_listingpage',
            crto: {             
                'email': '##Электронный адрес пользователя##', //может быть пустой строкой
                'products': ['##Идентификатор продукта №1##', '##Идентификатор продукта №2##', '##Идентификатор продукта №3##']
            }
        });
</script>
<!-- END Criteo Category / Listing dataLayer -->

Пример

<!-- Criteo Category / Listing dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({                      
            'event': 'crto_listingpage',
            crto: {             
                'email': 'crtotest@test.com',
                'products': ['ProductID_1', 'ProductID_2', 'ProductID_3']
            }
        });
</script>
<!-- END Criteo Category / Listing dataLayer -->

Карточка товара

Установите dataLayer на страницу карточки товара вашего сайта. Пример URL: {{homepageurl}}/product?id=productid_1

Поле Описание Пример Синтаксис
event Тип страницы crto_productpage Строковое значение
crto.email Открытая строка или MD5-хэш 79054025255fb1a26e4bc422aef54eb4 Строковое значение в нижнем регистре в кодировке UTF-8. Длина - 32 символа.
crto.products Уникальный идентификатор продукта ProductID_1 Строка

Структура

Поля, окруженные двумя знаками хэша (##) должны быть заменены динамическими значениями, соответствующими пользователю или продукту.

<!-- Criteo Product dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({                        
            'event': 'crto_productpage',
            crto: {             
                'email': '##Электронный адрес пользователя##', //может быть пустой строкой
                'products': ['##Идентификатор продукта##']
            }
        });
</script>
<!-- END Criteo Product dataLayer -->

Example

<!-- Criteo Product dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({            
            'event': 'crto_productpage',
            crto: {             
                'email': 'crtotest@test.com',
                'products': ['ProductID_1']
            }
        });
</script>
<!-- END Criteo Product dataLayer -->

Корзина

Установите dataLayer на шаг корзины вашего сайта. URL может выглядеть следующим образом: {{homepageurl}}/cart

Поле Описание Пример Синтаксис
event Тип страницы crto_basketpage Строковое значение
crto.email Открытая строка или MD5-хэш 79054025255fb1a26e4bc422aef54eb4 Строковое значение в нижнем регистре в кодировке UTF-8. Длина - 32 символа.
crto.products.id Уникальный идентификатор продукта ProductID_1 Строковое значение
crto.products.price Цена за единицу товара 200.99 Строковое или целочисленное значение, без символа валюты
crto.products.quantity Количество единиц товара 2 Целочисленное значение

Структура

Поля, окруженные двумя знаками хэша (##) должны быть заменены динамическими значениями, соответствующими пользователю или продукту.

<!-- Criteo Basket/Cart dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({
            'event': 'crto_basketpage',
            crto: {             
                'email': '##Электронный адрес пользователя##',  // может быть пустой строкой                 
                'products': [{
                    id: '##Идентификатор продукта №1##',
                    price: '##Цена за единицу товара##',              
                    quantity: '##Количество единиц товара##'
                }] //добавьте новую запись для каждого продукта в корзине
            }
        });
</script>
<!-- END Criteo Basket/Cart dataLayer -->

Пример

<!-- Criteo Basket/Cart dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({
            'event': 'crto_basketpage',            
            crto: {             
                'email': 'crtotest@test.com',                           
                'products': [{
                    id: 'ProductID_1',
                    price: '200.99',              
                    quantity: '2'
                },
                {
                    id:'ProductID_2',
                    price: '50.00',                                       
                    quantity: '1'
                }]
            }
        });
</script>
<!-- END Criteo Basket/Cart dataLayer -->

Продажа

Установите dataLayer на странице подтверждения заказа. URL такой страницы может выглядеть следующим образом: {{homepageurl}}/thankyou

Поле Описание Пример Синтаксис
event Тип страницы crto_transactionpage Строковое значение
crto.email Открытая строка или MD5-хэш 79054025255fb1a26e4bc422aef54eb4 Строковое значение в нижнем регистре в кодировке UTF-8. Длина - 32 символа.
crto.products.id Уникальный идентификатор продукта ProductID_1 Идентификатор может содержать как цифры, так и символы алфавита
crto.products.price Цена за единицу продукта 200.99 Строка или число, без символа валюты
crto.products.quantity Количество единиц продукта 2 Целочисленное значение
crto.transactionid Номер заказа или подтверждения 7654322 Строка или целое число

Структура

Поля, окруженные двумя знаками хэша (##) должны быть заменены динамическими значениями, соответствующими пользователю или продукту.

<!-- Criteo Sales dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({
            'event': 'crto_transactionpage',
            crto: {             
                'email': '##Электронный адрес пользователя##',  //может быть пустой строкой  
                'transactionid':'##Номер заказа##',                                       
                'products': [{
                    id: '##Идентификатор продукта 1##',
                    price: '##Цена за единицу товара##',              
                    quantity: '##Количество единиц товара##'
                }] //добавьте новую запись для каждого продукта в корзине
            }
        });
</script>
<!-- END Criteo Sales dataLayer -->

Пример

<!-- Criteo Sales dataLayer -->
<script type='text/javascript'>
        var dataLayer = dataLayer || [];
        dataLayer.push({
            'event': 'crto_transactionpage',            
            crto: {             
                'email': 'crtotest@test.com',   
                'transactionid':'ORD00001',                                        
                'products': [{
                    id: 'ProductID_1',
                    price: '200.99',              
                    quantity: '2'
                },
                {
                    id:'ProductID_2',
                    price: '50.00',                                       
                    quantity: '1'
                }]
            }
        });
</script>
<!-- END Criteo Sales dataLayer -->

Контейнер для импорта

Cкачать

Импортируйте контейнер

[[import-gtm-container_ru]]

Проверка установки

[[accurate_ru]]