This document provides an overview of using Google Tag Manager (GTM) to track events on a website. It includes:
- An agenda that allocates 70 minutes to go over GTM theory, create a measurement plan, and do practical exercises.
- An explanation of the basic structure of GTM including containers, tags, and rules.
- Details on the different types of tags and macros available in GTM for tracking clicks, forms, links, timers and other events.
- Examples of how to use DOM properties, custom HTML, and JavaScript in GTM tags and macros.
Think Insurance with GoogleKirill BushevAcme Insurance appears to be communicating with a client about an issue that needs to be resolved. The message indicates that the situation will be fixed and everything will be sorted out soon. The name and logo "Acme Insurance" is included, suggesting this is part of an official correspondence from the insurance company to a customer regarding a problem or claim.
Курсы по веб-аналитике Академии Ашманова - пользовательские параметры и показ...Kirill BushevCustom dimensions and metrics
Dimension Widening
Measurement Protocol
Курсы по веб-аналитике Академии Ашманова - Debugging в GA, Worst practice, тестKirill BushevSampling, cardinality, confidence interval, google analytics debugging
American studentsFedor OvchinnikovDodo Pizza was founded in 2011 in Syktyvkar, Russia and has since expanded to 9 countries with over 101 locations. They have experienced rapid growth, starting with 1 store in 2011 and growing to 101 stores by May 2016. Dodo Pizza attributes their success to their IT system and transparency, with a web-based information system and use of technology like tablets and mobile devices to increase efficiency and transparency in their pizza delivery business.
Додо Пицца: презентация для владельцев помещенийFedor OvchinnikovСветлана Фарафонова, Презентация для арендодателей в помощь розничным сетям Додо Пицца
Вебинар «Анализируем рекламу и повышаем ее эффективность с помощью Google Ana...eLama.ruВы узнаете о возможностях Google Analytics, научитесь создавать отчеты, настраивать ремаркетинг и др. Запись можно посмотреть здесь: http://goo.gl/qONTCf
Анализ больших данных с помощью инструментов GoogleNetpeakПрезентация доклада на конференции «ФинМаркет», Киев, 06/10/2015.
Докладчик: Алексей Данилин – Senior SEO Specialist Netpeak.
29 Advanced Google Tag Manager Tips Every Marketer Should KnowMike ArnesenGoogle Tag Manager is an incredibly powerful tool and one you're likely not using to its full potential. In my talk from MozCon 2016, I delivered 29 rapid-fire tips intended to empower marketers to overcome the insurmountable odds and circumnavigate road blocks using this incredibly powerful marketing tool.
How to Defeat the BeastSylvia Navarro NicosiaThis document provides steps for safely migrating web analytics from Classic Google Analytics or Universal Analytics to Google Tag Manager. It recommends testing the migration by setting up a new Google Analytics property and configuring tags and variables in Google Tag Manager to send data to both properties. Key steps include reviewing events and goals to identify changes needed, comparing data between the original and new properties, and carefully planning and executing the switchover to avoid issues. Testing for at least two months before migrating ensures accurate comparison data.
American studentsFedor OvchinnikovDodo Pizza was founded in 2011 in Syktyvkar, Russia and has since expanded to 9 countries with over 101 locations. They have experienced rapid growth, starting with 1 store in 2011 and growing to 101 stores by May 2016. Dodo Pizza attributes their success to their IT system and transparency, with a web-based information system and use of technology like tablets and mobile devices to increase efficiency and transparency in their pizza delivery business.
Додо Пицца: презентация для владельцев помещенийFedor OvchinnikovСветлана Фарафонова, Презентация для арендодателей в помощь розничным сетям Додо Пицца
Вебинар «Анализируем рекламу и повышаем ее эффективность с помощью Google Ana...eLama.ruВы узнаете о возможностях Google Analytics, научитесь создавать отчеты, настраивать ремаркетинг и др. Запись можно посмотреть здесь: http://goo.gl/qONTCf
Анализ больших данных с помощью инструментов GoogleNetpeakПрезентация доклада на конференции «ФинМаркет», Киев, 06/10/2015.
Докладчик: Алексей Данилин – Senior SEO Specialist Netpeak.
29 Advanced Google Tag Manager Tips Every Marketer Should KnowMike ArnesenGoogle Tag Manager is an incredibly powerful tool and one you're likely not using to its full potential. In my talk from MozCon 2016, I delivered 29 rapid-fire tips intended to empower marketers to overcome the insurmountable odds and circumnavigate road blocks using this incredibly powerful marketing tool.
How to Defeat the BeastSylvia Navarro NicosiaThis document provides steps for safely migrating web analytics from Classic Google Analytics or Universal Analytics to Google Tag Manager. It recommends testing the migration by setting up a new Google Analytics property and configuring tags and variables in Google Tag Manager to send data to both properties. Key steps include reviewing events and goals to identify changes needed, comparing data between the original and new properties, and carefully planning and executing the switchover to avoid issues. Testing for at least two months before migrating ensures accurate comparison data.
Javascript 2pavishkumarsinghThis document discusses HTML collections and event handling in JavaScript. It provides examples of how to access elements in HTML collections using methods like getElementsByTagName. It also covers different types of events like click, mouseover, form submit and how to attach event handlers using inline, traditional and modern approaches. It discusses timing events like setTimeout and setInterval. Finally it covers event propagation models of bubbling and capturing.
All about google tag manager - Basics Rob LevishGoogle Tag Manager is a free tool that allows users to manage website tags through a single snippet of code and web interface, without needing to edit site code directly. It consolidates tags into a single container tag, and users can then add, update, and manage tags with just a few clicks as needed. While it is very useful for companies with complex tagging needs, simpler sites may not need its capabilities as tags can still be managed directly on the site code for those cases. The document goes on to provide more details on tags, macros, and how to set up Google Tag Manager.
Morphing GA into an Affiliate Analytics MonsterPhil PearceHow to hack GA's native campaign tracking, leverage 1st party cookie power and align GA's sessionisation logic more closely with 30 day affiliate systems.
Lab #2: Introduction to JavascriptWalid AshrafThis document provides an introduction to JavaScript and its uses for web programming. It explains that JavaScript is a client-side scripting language that allows web pages to become interactive. Some key points covered include:
- JavaScript can change HTML content, styles, validate data, and make calculations.
- Functions are blocks of code that perform tasks when invoked by events or called in code.
- Events like clicks or keyboard presses trigger JavaScript code.
- The DOM (Document Object Model) represents an HTML document that JavaScript can access and modify.
- Forms and user input can be accessed and processed using the DOM.
- Programming flow can be controlled with conditional and loop statements.
-
"Taster ݺߣs" for Most advanced GTM implementationPhil PearceThis document summarizes a presentation about implementing Google Tag Manager (GTM) on a very large website with over 1 billion monthly hits. The project involved migrating 600 Google Analytics events and pages from various platforms to GTM within 3 months. Key steps included using testing tools, separate development and live environments, auto-testing, and prioritizing tasks. Challenges included exceeding the monthly hit limit and dependencies on internal IT. Lessons learned focused on removing manual steps, enforcing audits and feedback, and moving to insights and optimization earlier.
Session4 J2ME Mobile Information Device Profile(MIDP) EventsmuthusvmThe document outlines a roadmap for a J2ME class covering topics like the J2ME architecture, setting up a development environment, MIDP introduction, event handling using command and item listeners, and examples of accessing commands and capturing events on items. The class will cover core J2ME concepts over 4 sessions from March 20 to April 1.
Most Advanced GTM Deployment. Ever!Phil PearcePhil recently completed a 400 man-hours GTM project & shares lessons learned. Migrating from GA Classic to Universal on 6 CMS platforms and 600 GA classic events is one thing, but facing a fine if the project is not complete within 3 months ads a touch of spice! Phil cleaned-up 2 years of in-house changes, including changes such as consolidated 74 pageview tags and centralizing 20 tags into easy to mange lookup table.
Phil provides Technical insights for Advanced Implementers, aswell as Tactical insights for project managers & business people on area such as QA automation, mistakes to avoid, process examples & knowledge sharing tips.
Take-aways:
- QA tool
- Planning tools
- Free GTM developer guide
Google Tag Manager (GTM)Dragos IonitaThis document provides an overview of Google Tag Manager (GTM):
- GTM is a tag management system that allows marketing teams to manage JavaScript tags that integrate third-party software onto websites. It replaces individual tags with a single container tag that arranges and fires tags based on business rules.
- The document demonstrates how to set up basic Google Analytics and Criteo tracking using GTM, including creating tags, variables, and triggers.
- It also discusses enhancing GTM implementation with a data layer, which is a JavaScript object that passes information to GTM tags, such as product labels and click events.
Rendering The FatBen Schmidtke IIIA look at how to create slim item renderers for large applications to keep performance up on DataGrid and AdvancedDataGrid in Flex 3.
Google Analytics Meetup: Auto Event TrackingISITE Design is now Connective DXThe Portland Google Analytics User Group meetup in January at ISITE Design discussed adding Auto Event tracking without code. This deck includes some scenarios that were explored in the interactive lab exercises.
Less03 2 e_testermodule_2Suresh MishraThis document provides an overview of key features and concepts for using the Visual Script tool in Oracle Application Testing Suite: e-Tester, including how to view and understand script components like pages, addresses, and actions that make up a recorded script. It also covers capturing additional events, adding advanced actions, and troubleshooting scripts.
Google Analytics for DevelopersRubén MartínezDescription of the Google Analytics platform, how the tracking code works, metrics and dimensions, event hits, tests A/B, clientID and user_id
Having fun with Google Tag Manager (implement cool things like weather tracki...Eventz.DigitalDigital Marketing Summit Southampton 2018, Hannah Deakin and Charlotte Upfold, Southampton, #Dmsso18, #DMSSO, #DigitalMarketing @polkadotdata
Using Google Analytics with PrimorshanrathThis document discusses using Google Analytics to track and analyze user interactions with Primo, the library discovery tool. It covers setting up event tracking in Google Analytics to monitor specific user behaviors like clicking links, selecting item tabs, applying filters, and search autocomplete. It also discusses using custom dimensions to segment data by page type and borrower group to gain additional insight from the analytics. The privacy implications of using Google Analytics are also briefly addressed.
Unit3.pptxAnamikaRai59This document provides an introduction to jQuery, including:
- What jQuery is and its main features like DOM manipulation, CSS manipulation, events, effects, animations, and AJAX.
- The benefits of jQuery like being browser independent and increasing coding speed.
- How to add jQuery to web pages by downloading the jQuery library, including the jQuery file, and writing jQuery code within script tags.
- jQuery selectors that allow selecting elements based on name, id, classes, attributes, and more. Common selectors include element, id, class, and universal selectors.
- jQuery events like click, change, submit, and how to attach event handler functions using methods like click(), change
Blind Spots in AI and Formulation Science Knowledge Pyramid (Updated Perspect...Ajaz HussainThis presentation delves into the systemic blind spots within pharmaceutical science and regulatory systems, emphasizing the significance of "inactive ingredients" and their influence on therapeutic equivalence. These blind spots, indicative of normalized systemic failures, go beyond mere chance occurrences and are ingrained deeply enough to compromise decision-making processes and erode trust.
Historical instances like the 1938 FD&C Act and the Generic Drug Scandals underscore how crisis-triggered reforms often fail to address the fundamental issues, perpetuating inefficiencies and hazards.
The narrative advocates a shift from reactive crisis management to proactive, adaptable systems prioritizing continuous enhancement. Key hurdles involve challenging outdated assumptions regarding bioavailability, inadequately funded research ventures, and the impact of vague language in regulatory frameworks.
The rise of large language models (LLMs) presents promising solutions, albeit with accompanying risks necessitating thorough validation and seamless integration.
Tackling these blind spots demands a holistic approach, embracing adaptive learning and a steadfast commitment to self-improvement. By nurturing curiosity, refining regulatory terminology, and judiciously harnessing new technologies, the pharmaceutical sector can progress towards better public health service delivery and ensure the safety, efficacy, and real-world impact of drug products.
Rass MELAI : an Internet MELA Quiz Prelims - El Dorado 2025Conquiztadors- the Quiz Society of Sri Venkateswara CollegePrelims of Rass MELAI : a Music, Entertainment, Literature, Arts and Internet Culture Quiz organized by Conquiztadors, the Quiz society of Sri Venkateswara College under their annual quizzing fest El Dorado 2025.
How to use Init Hooks in Odoo 18 - Odoo ݺߣsCeline GeorgeIn this slide, we’ll discuss on how to use Init Hooks in Odoo 18. In Odoo, Init Hooks are essential functions specified as strings in the __init__ file of a module.
Computer Application in Business (commerce)Sudar SudarThe main objectives
1. To introduce the concept of computer and its various parts. 2. To explain the concept of data base management system and Management information system.
3. To provide insight about networking and basics of internet
Recall various terms of computer and its part
Understand the meaning of software, operating system, programming language and its features
Comparing Data Vs Information and its management system Understanding about various concepts of management information system
Explain about networking and elements based on internet
1. Recall the various concepts relating to computer and its various parts
2 Understand the meaning of software’s, operating system etc
3 Understanding the meaning and utility of database management system
4 Evaluate the various aspects of management information system
5 Generating more ideas regarding the use of internet for business purpose
Database population in Odoo 18 - Odoo slidesCeline GeorgeIn this slide, we’ll discuss the database population in Odoo 18. In Odoo, performance analysis of the source code is more important. Database population is one of the methods used to analyze the performance of our code.
APM People Interest Network Conference - Oliver Randall & David Bovis - Own Y...Association for Project Management APM People Interest Network Conference 2025
- Autonomy, Teams and Tension
- Oliver Randall & David Bovis
- Own Your Autonomy
Oliver Randall
Consultant, Tribe365
Oliver is a career project professional since 2011 and started volunteering with APM in 2016 and has since chaired the People Interest Network and the North East Regional Network. Oliver has been consulting in culture, leadership and behaviours since 2019 and co-developed HPTM® an off the shelf high performance framework for teams and organisations and is currently working with SAS (Stellenbosch Academy for Sport) developing the culture, leadership and behaviours framework for future elite sportspeople whilst also holding down work as a project manager in the NHS at North Tees and Hartlepool Foundation Trust.
David Bovis
Consultant, Duxinaroe
A Leadership and Culture Change expert, David is the originator of BTFA™ and The Dux Model.
With a Masters in Applied Neuroscience from the Institute of Organisational Neuroscience, he is widely regarded as the ‘Go-To’ expert in the field, recognised as an inspiring keynote speaker and change strategist.
He has an industrial engineering background, majoring in TPS / Lean. David worked his way up from his apprenticeship to earn his seat at the C-suite table. His career spans several industries, including Automotive, Aerospace, Defence, Space, Heavy Industries and Elec-Mech / polymer contract manufacture.
Published in London’s Evening Standard quarterly business supplement, James Caan’s ‘Your business’ Magazine, ‘Quality World’, the Lean Management Journal and Cambridge Universities ‘PMA’, he works as comfortably with leaders from FTSE and Fortune 100 companies as he does owner-managers in SME’s. He is passionate about helping leaders understand the neurological root cause of a high-performance culture and sustainable change, in business.
Session | Own Your Autonomy – The Importance of Autonomy in Project Management
#OwnYourAutonomy is aiming to be a global APM initiative to position everyone to take a more conscious role in their decision making process leading to increased outcomes for everyone and contribute to “a world in which all projects succeed”.
We want everyone to join the journey.
#OwnYourAutonomy is the culmination of 3 years of collaborative exploration within the Leadership Focus Group which is part of the APM People Interest Network. The work has been pulled together using the 5 HPTM® Systems and the BTFA neuroscience leadership programme.
https://www.linkedin.com/showcase/apm-people-network/about/
Rass MELAI : an Internet MELA Quiz Finals - El Dorado 2025Conquiztadors- the Quiz Society of Sri Venkateswara CollegeFinals of Rass MELAI : a Music, Entertainment, Literature, Arts and Internet Culture Quiz organized by Conquiztadors, the Quiz society of Sri Venkateswara College under their annual quizzing fest El Dorado 2025.
How to Manage Putaway Rule in Odoo 17 InventoryCeline GeorgeInventory management is a critical aspect of any business involved in manufacturing or selling products.
Odoo 17 offers a robust inventory management system that can handle complex operations and optimize warehouse efficiency.
Kaun TALHA quiz Finals -- El Dorado 2025Conquiztadors- the Quiz Society of Sri Venkateswara CollegeFinals of Kaun TALHA : a Travel, Architecture, Lifestyle, Heritage and Activism quiz, organized by Conquiztadors, the Quiz society of Sri Venkateswara College under their annual quizzing fest El Dorado 2025.
The Battle of Belgrade Road: A WW1 Street Renaming Saga by Amir DotanHistory of Stoke NewingtonPresented at the 24th Stoke Newington History Talks event on 27th Feb 2025
https://stokenewingtonhistory.com/stoke-newington-history-talks/
A PPT Presentation on The Princess and the God: A tale of ancient India by A...Beena E SA PPT Presentation on The Princess and the God: A tale of ancient India by Aaron Shepard
4. Структура GTM
Контейнер – основной блок кода, хранящий все
теги (устанавливается на все страницы сайта)
Тег – фрагмент кода, который мы хотим
имплементировать на сайте
Правило – условие активации тега
Макрос – переменные уровня данных
6. Google Tag Manager позволяет отслеживать шесть типов
событий:
Типы событий
✓ Прослушивание кликов (gtm.click)
✓ Прослушивание отправок форм (gtm.formSubmit)
✓ Прослушивание кликов по ссылке (gtm.linkClick)
✓ Прослушивание таймера (gtm.timer)
✓ Обработчик ошибок JavaScript (gtm.pageError)
✓ Обработчик событий истории (gtm.historyChange)
+ вы можете писать собственные обработчики
событий
7. В кастомных макросах и тегах можно ссылаться на свойства объекта
DOM, или сам объект
8. gtm.element.nodeName
Example return value: IMG
gtm.element.value
Example return value: Simo Ahava
What it does: Returns the value of the element. This is useful if you’re tracking input elements on your forms (with e.g. blur,
focus, or change), and you want to send an event every time a form field has been filled.
Data Layer Variable Name: gtm.element.hash
Example return value: #chapter1
What it does: Returns the hash (if any) of the element href. So if the link was to /this-page/?internal=true#chapter1, gtm.
element.hash would return #chapter1
Data Layer Variable Name: gtm.element.pathname
Example return value: /this-page/
What it does: Returns the path in the element href. If the link was to /this-page/?internal=true#chapter1, gtm.element.pathname
would return /this-page/
Data Layer Variable Name: gtm.element.search
Example return value: ?internal=true
What it does: Returns the full query string of the element. If the link was to /this-page/?internal=true#chapter1, gtm.element.
search would return ?internal=true
Переменные типа dataLayer
9. Data Layer Variable Name: gtm.element.parentElement
Example return value: (object), extend further with some property of the parent element
What it does: Returns the direct parent of the element, and you should extend this macro further to access its properties
(e.g. gtm.element.parentElement.id returns the value stored in the ID attribute of the parent tag)
Data Layer Variable Name: gtm.element.firstChild
Example return value: (object), extend further with some property of the child element
What it does: Returns the first direct descendant of the element, and you should extend this macro further to access its properties (e.g. gtm.
element.firstChild.className returns value stored in the CLASS attribute of the child tag)
Data Layer Variable Name: gtm.element.nextSibling
Example return value: (object), extend further with some property of the sibling element
What it does: Returns the next element in the DOM tree which is on the same hierarchical level as the element, and
you should extend this macro further to access its properties (e.g. gtm.element.nextSibling.nodeName returns the tag
name of the sibling tag)
10. ● beforeunload – Fire a listener when the window, the document,
and all resources are about to be unloaded (e.g. when someone
is closing the browser window).
● blur – An element has lost focus (e.g. the user has left a form
field). Note, this doesn’t bubble by default, meaning a listener on
the document node won’t be able to catch it. To activate event
delegation, you’ll need to set the last parameter in thedocument.
addEventListener() call to true instead of false.
● change – The value of an element changes between receiving
and losing focus (e.g. the user enters a form field, types
something in, and leaves the field).
● click – A click is registered on an element (use GTM’s Click
Listener instead).
● contextmenu – The right mouse button is clicked.
● copy – Text is copied to the clipboard.
● cut – Text is cut to the clipboard.
● dblclick – A double-click is registered on an element.
● focus – An element has received focus (e.g. the user has left a
form field). Note, this doesn’t bubble by default, meaning a
listener on the document node won’t be able to catch it. To
activate event delegation, you’ll need to set the last parameter in
thedocument.addEventListener() call to true instead of false.
● keydown – A key is pressed down.
● keyup – A pressed down key is released.
● mousedown – The mouse button is pressed down.
● mouseenter – The mouse pointer is moved over the element
where the listener is attached. Won’t really work if the listener
is on the document node.
● mouseleave – The mouse pointer is moved off the element
where the listener is attached. Won’t really work if the listener
is on the document node.
● mouseout – The mouse pointer is moved off the element
where the listener is attached or one of its children.
● mouseover – The mouse pointer is moved over the element
where the listener is attached or one of its children.
● mouseup – The pressed down mouse button is released.
● orientationchange – The orientation (portrait / landscape) of
the screen changes.
● reset – A form is reset.
● scroll – A document view or element is scrolled.
● submit – A form submit is registered (use GTM’s Form
Submit Listener instead).
<script>
var eventType = "change"; // Modify this to reflect the event type you want to listen for
if (document.addEventListener) {
document.addEventListener(eventType, {{generic event handler}}, false);
} else if (document.attachEvent) {
document.attachEvent('on' + eventType, {{generic event handler}});
}
</script>
https://developer.mozilla.org/en-US/docs/Web/Events
11. CSS Selectors rules (GTM v2 only)
.thisclass Matches if element has class “thisclass”
.thisclass.thatclass Matches if element has class “thisclass” and class “thatclass”
#thisid Matches if element has ID “thisid”
#main .navlink Matches if element has class “navlink” and is a descendant of an element with the ID “main”
div#main > .navlink Matches if element has class “navlink” and is the direct child of a DIV element with the ID “main”
:checked Matches if element is checked (radio button or checkbox)
[data-title~=”chairman mao”] Matches if element has attribute “data-title” with the string “chairman mao” somewhere in its value
a[href$=”.pdf”] Matches if element is a link (A) with a href attribute that ends with “.pdf”
.contactmail:only-child Matches if element has class “contactmail” and is the only child of its parent
http://www.w3schools.com/cssref/css_selectors.asp
13. Так выглядят реальные контейнеры
И да, там ни строчки кода GA/dataLayer на
сайтах. Все отслеживается “снаружи”.
14. GTM трюкиCustom HTML tag fired on GTM load
<script>
var checkzoom = function(e) {
if( e.which === 187 && e.ctrlKey ) {
dataLayer.push({'event': 'zoom'});
}
};
document.addEventListener('keydown', checkzoom);
</script>
Начиная с какого разрешения
экрана пользователи разного
возраста пользуются CTRL+?
15. MAILTO + &cid on Google Apps Gmail
Revenue from the mailto: links
MP: http://www.google-analytics.com/collect?v=1&tid=UA-8202998-
27&t=event&cid=1732166662.1421823610&ec=client&ea=new&ev=3420000
16. ● top - Detail view
● 500px - Checkout
● end of the article - Transaction
jQuery custom listener + chain of events + custom html datalayer pushes +
enhanced ecommerce tags
Custom Scroll Listener
17. Вызов транзакции в GA и Метрике одновременно
По 1 правилу - два тега
1) сustom html tag
<script type="text/javascript">
yaCounter179064.reachGoal('Home', yaParams);
</script>
2) тег Google Analytics, тип transaction
GTM трюки
24. Если товаров много (например, в корзине)
var products = new Array();
for(var i=2; i<document.getElementsByClassName("sale_basket_basket zero")[0].getElementsByTagName("tr").length-1; i=i+3) {
var b=document.getElementsByClassName("sale_basket_basket zero")[0].children[0].children[i];
var name = b.children[0].getElementsByClassName("m5")[0].innerText;
var quantity = b.getElementsByClassName("quantity")[0].children[0].value;
var price = b.getElementsByClassName("price")[0].innerText
products.push({'name':name,'quantity':quantity,'price':price});
}
25. Отправляем Product Impression с указанием списка (также покупают, подойдут) по мере
попадания продукта в зону видимости
var productPosition=0;
$(window).bind("scroll", function() {
$(".name_carousel:in-viewport").not('.
impressionSent').each(function(){
$(this).addClass('impressionSent');
productPosition=productPosition+1;
dataLayer.push({
'event': 'impression',
'list' : $(this)[0].parentElement.parentElement.
parentElement.className
});
(function($) {
$.belowthefold = function(element, settings) {
var fold = $(window).height() + $(window).scrollTop();
return fold <= $(element).offset().top - settings.threshold;
};
$.abovethetop = function(element, settings) {
var top = $(window).scrollTop();
return top >= $(element).offset().top + $(element).height() - settings.threshold;
};
$.rightofscreen = function(element, settings) {
var fold = $(window).width() + $(window).scrollLeft();
return fold <= $(element).offset().left - settings.threshold;
};
$.leftofscreen = function(element, settings) {
var left = $(window).scrollLeft();
return left >= $(element).offset().left + $(element).width() - settings.threshold;
};
$.inviewport = function(element, settings) {
return !$.rightofscreen(element, settings) && !$.leftofscreen(element, settings) && !$.belowthefold(element, settings)
&& !$.abovethetop(element, settings);
};
$.extend($.expr[':'], {
"below-the-fold": function(a, i, m) {
return $.belowthefold(a, {threshold : 0});
},
"above-the-top": function(a, i, m) {
return $.abovethetop(a, {threshold : 0});
},
"left-of-screen": function(a, i, m) {
return $.leftofscreen(a, {threshold : 0});
},
"right-of-screen": function(a, i, m) {
return $.rightofscreen(a, {threshold : 0});
},
"in-viewport": function(a, i, m) {
return $.inviewport(a, {threshold : 0});
}
});
})(jQuery);
Visibility обработчик
etc...
26. Делаем из хлебных крошек Enhanced E-commerce Product Category
document.getElementsByClassName("breadcrumbs")[0].innerText
"Главная > Каталог > Шторы > В гостиную > Комплект штор для гостиной Antonio-S 123206770"
document.getElementsByClassName("breadcrumbs")[0].innerText.replace(/s>s/g ,'/').replace("Главная/Каталог/","");
"Шторы/В гостиную/Комплект штор для гостиной Antonio-S 123206770"
30. Tag Assistant by Google
● показывает какие теги присутствуют на страницах
и нет ли синтаксических ошибок
● для GTM контейнеров показывает какие теги
были запущены через него.
33. ● А создался ли сам объект ga?
● Выполняются ли функции?