Как разместить определенный сторонний тег на веб-странице с помощью DTM (в определенном месте)?

Я пытался поместить один фрагмент стороннего кода на веб-страницу с помощью диспетчера динамических тегов (из Site Catalyst). Но проблема, с которой я сталкиваюсь при этом, заключается в том, что я хочу разместить этот фрагмент непосредственно перед закрытием тега Body на странице.

Я пробовал большую часть комбинации в правиле загрузки страницы. Правило активации в Top of Page , Bottom of Page, загрузка фрагмента с использованием Non-Sequential HTML, затем Sequential HTML. Но ничего не получилось.

Может кто-нибудь, пожалуйста, помогите мне узнать, как это сделать. И как мне проверить это на веб-странице, где именно загружается фрагмент.

Спасибо, Адвайт


person Adwait    schedule 02.03.2015    source источник
comment
Вы размещаете контент? Маркетинговый пиксель? Это должно быть видно? Зачем вам это перед закрывающим тегом body?   -  person BrettAHale    schedule 03.03.2015
comment
Да, верно, Бретт, это маркетинговый пиксель, и этот пиксель был предоставлен нам одним из наших партнерских агентств с указанием, что его нужно разместить непосредственно перед закрытием тега body. Отсюда и требование. Кстати, можно ли увидеть пиксель на странице? Насколько я понимаю, DTM помещает все теги в свой контейнер, а затем отображает его на странице в соответствии с правилом порядка загрузки. Пожалуйста, поправьте меня, если я ошибаюсь, я всегда хотел это понять.   -  person Adwait    schedule 04.03.2015


Ответы (2)


Невозможно заставить DTM физически поместить фрагмент кода непосредственно перед закрывающим тегом </body> (хотя вы можете написать свой собственный код в контейнере пользовательского кода DTM, который добавляется как последний дочерний элемент к body, но на самом деле это не одно и то же).

В общем, когда поставщик просит разместить его тег непосредственно перед закрывающим тегом body, это делается для того, чтобы убедиться, что все остальное на странице загружено (чтобы ваш пользовательский опыт не пострадал, если его код работает медленно или дает сбой). для загрузки) и/или также для обеспечения того, чтобы другие элементы на странице были доступны (например, если сценарий зависит от захвата значений из других элементов на странице).

Если вы правильно реализовали сам тег DTM, Код нижнего колонтитула уже должен быть непосредственно перед закрывающим тегом </body>. Затем, когда вы создаете Правило загрузки страницы и указываете, что оно должно срабатывать в нижней части страницы, правило будет срабатывать при выполнении Кода нижнего колонтитула, что фактически помещает там, внизу, в закрывающемся теге </body>.

Если ваш контейнер Type имеет значение «Непоследовательный HTML», DTM выводит код в виде iframe, что редко бывает полезно. Тип «Последовательный HTML» будет использовать document.write() для синхронного вывода содержимого. Это должно было подойти для ваших нужд, хотя, в зависимости от вашего стороннего сценария, вероятно, было бы лучше использовать последовательные js или, возможно, даже непоследовательные js, потому что большинство сторонних тегов просто просят вас разместить внизу страницы, чтобы сделать убедитесь, что они не мешают другим материалам вашего сайта, и большинство сторонних скриптов сами загружаются асинхронно.

Итак, если под «не работает» вы просто имеете в виду, что вы не видите, что он отображается точно перед закрытием тега </body>, я думаю, вы, вероятно, в порядке, просто выводите внизу страницы, хотя я не могу на 100% проверить это, не зная больше подробности о том, что именно вы хотите вывести.

Кроме того, если «не работает» означает, что сам скрипт не работает (например, загружается или работает как положено), вам придется предоставить дополнительную информацию, например. какой скрипт вы используете, что он должен делать и т. д.

person Crayon Violent    schedule 04.03.2015

Вы можете использовать правило загрузки страницы, которое срабатывает внизу страницы. Добавьте сторонний скрипт с типом Sequential JavaScript. Это будет использовать document.write для включения вашего кода в функцию _satellite.pageBottom(), которая должна быть размещена непосредственно перед закрывающим тегом body. Это должно дать вам то, что вам нужно.

person Adam Haining    schedule 17.03.2015