Successfully reported this slideshow.
Your SlideShare is downloading. ×

SEO dataLayer 2: Entity Wars

Ad

Slides: bit.ly/datalayer2
SEO dataLayer2:
Entity Wars

Ad

Welcome Back
Phil Pearce
Analytics Freedom Fighter
www.linkedin.com/in/philpearce
Web Analytics
Exchange
mentor
750 GA
que...

Ad

Agenda
1. A possible Dark Future
2. Battlefield report: Before vs After
3. Arming-up
1. Enabling markup (Cheat sheets & te...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

YouTube videos are no longer supported on SlideShare

View original on YouTube

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 83 Ad
1 of 83 Ad

SEO dataLayer 2: Entity Wars

Explaining the Rise of JSON-LD (machine readable JS data). Why its important and how to make sure your website has enabled…
future action buttons.
* Recent changes & examples in the wild
* Live demo of Googles mark-up validator
* GTM config files to take away & enable.

Explaining the Rise of JSON-LD (machine readable JS data). Why its important and how to make sure your website has enabled…
future action buttons.
* Recent changes & examples in the wild
* Live demo of Googles mark-up validator
* GTM config files to take away & enable.

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

Advertisement
Advertisement

SEO dataLayer 2: Entity Wars

  1. 1. Slides: bit.ly/datalayer2 SEO dataLayer2: Entity Wars
  2. 2. Welcome Back Phil Pearce Analytics Freedom Fighter www.linkedin.com/in/philpearce Web Analytics Exchange mentor 750 GA questions answered Tracking protection group
  3. 3. Agenda 1. A possible Dark Future 2. Battlefield report: Before vs After 3. Arming-up 1. Enabling markup (Cheat sheets & templates) 2. Shooting range (UI for enabling) 3. Testing it worked 4. JSONLD Listeners 5. A new future
  4. 4. Everyone thought Google was the Bad guy…
  5. 5. …they were wrong!
  6. 6. 2020: Facebook Network introduce a new search engine called Mercury, it used Machine Learning & Facebook`s database to return the perfect answer to any question.
  7. 7. Google became an obsolete business model It did`nt have access to the rich structured user & content data stored in Facebooks proprietary database. Google was missing a semantic understanding layer.
  8. 8. Realising its mistake, Google sent a machine readable data alternative back in time
  9. 9. Thus began the entity wars…
  10. 10. I`m here to Arm you with the tools you will need to enable machine readable dataLayer The name of this mark-up is called…
  11. 11. JSON-LD Corners
  12. 12. What is JSON-LD video https://www.youtube.com/watch?v=vioCbTo3C-4 And https://www.youtube.com/watch?v=XXw8g-FbemI#t=251
  13. 13. Does Anyone know what the LD stands for in JSON-LD? Audience Question….
  14. 14. LD = Likes Die!
  15. 15. Benefits of JSON-LD 1. Increases organic CTR (Google & Bing) 2. Allows for Action buttons when signed-in 3. Allows you to leverage offsite markup (via LD) 4. Extra organic impressions in card carousal 5. Requirement for AMP pages (e.g News markup) 6. Allows for contentGroups & remarketing 7. Also works in webmail aswell
  16. 16. JSON-LD adoption rate - increasing http://trends.builtwith.com/docinfo/JSON-LD
  17. 17. Facebook like button adoption - flat growth
  18. 18. bit.ly/entity-day Timeline to Entity Day… Ramping up!
  19. 19. Arming your SEO team…
  20. 20. “Schema Markup Generator” Future Action: Use playground technicalseo.com/seo-tools/schema-markup-generator/
  21. 21. “JSON-LD playground” Future Action: Use playground json-ld.org/playground/
  22. 22. http://peadig.com/wordpress-plugins/structured-social-profiles/ https://wordpress.org/plugins/structured-social-profiles/ Wordpress plugin for JSON-LD
  23. 23. 1. Inline MicroData converted to JSONLD for Courses bit.ly/rdfa-to-jsonld 2. JS variables converted to JSONLD for Restaurants bit.ly/js-to-jsonld Heavy lifting in JS using GTM…
  24. 24. GTM JSON-LD example source code… JSON script are downloadable from here: login:coolgtmstuff @gmail.com pw:philrulesgtm8 Auto config import file: bit.ly/winningthewar6
  25. 25. Winning the war examples… bit.ly/winningthewar35
  26. 26. 2. Microdata >> JSON-LD convertor bit.ly/winningthewar5
  27. 27. https://www.schemaapp.com/schema-markup-automation/ https://www.schemaapp.com/?wvideo=jz49i69b7p Of if you are really F**king lazy & don’t want to do any work… (automatic method)
  28. 28. Pro Tip… there is a bug in GTM on when using special characters Don’t use… Use this instead…
  29. 29. Pro Tip… there is a bug in GTM on when using special characters Use this instead…
  30. 30. Testing JSON mark-up worked
  31. 31. Structure Data Validator (Whole site in GWT)
  32. 32. Structure Data Validator (one page at a time) https://search.google.com/structured-data/testing-tool
  33. 33. Monitoring changes in Google SERPs…
  34. 34. You can already calculate existing Organic CTR using GA sessions / GWT impressions
  35. 35. Rich Cards monitoring
  36. 36. SEOmoz now report on this for your site vs competitors
  37. 37. Incoming transmission
  38. 38. Facebook like buttons auto-enabled listening for JSON-LD!!
  39. 39. How to disable Facebook autoConfig listner… fbq("set", "autoConfig", false, "99999999999" );
  40. 40. Whitelist of Entities Types
  41. 41. Organization – Logo, Social and Telephone number <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "url": "http://yourdomain.com/", "logo": "http://yourdomain.com/images/logo.png", "sameAs": [ "http://www.facebook.com/yourProfile", "http://www.twitter.com/yourProfile", "http://plus.google.com/yourProfile", "http://www.linkedin.com/in/yourProfile", "http://instagram.com/yourProfile" ], "contactPoint": [{ "@type": "ContactPoint", "telephone": "+1-401-555-1212", "contactType": "customer service", "contactOption": "TollFree", "areaServed": [ "US", "CA" ], "availableLanguage": [ "English", "French" ] }] } </script> Future Action: Click Homepage only
  42. 42. Person <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Person", "name": "Barack Obama", "jobTitle": "President", "affiliation": "Democratic Party", "additionalName": "Barack", "url": "http://www.barackobama.com/", "sameAs": [ "http://www.facebook.com/yourProfile", "http://www.twitter.com/yourProfile", "http://plus.google.com/yourProfile", "http://www.linkedin.com/in/yourProfile", "http://instagram.com/yourProfile" ], "address": { "@type": "PostalAddress", "streetAddress": "White house, 1600 Pennsylvania Ave", "addressLocality": "Northwest", "addressRegion": "Washington" } } </script> Future Action: Follow updates Homepage only
  43. 43. WebSite – Search box <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "http://yourdomain.com/", "potentialAction": { "@type": "SearchAction", "target": "http://yourdomain.com/?s={search_term_string}", "query-input": "required name=search_term_string" } } </script> Future Action: Search Global
  44. 44. Breadcrumbs <!-- developers.google.com/structured-data/breadcrumbs --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@id": "http://{{Page Hostname}}/{{jsmacro_pathnameLevel1 - no prepending slash}}", "name": "{{jsmacro_pathnameLevel1 - no prepending slash}}" } },{ "@type": "ListItem", "position": 2, "item": { "@id": "http://{{Page Hostname}}{{Page Path}}", "name": "{{js_document.title}}" } }] } </script> Page specific
  45. 45. NewsArticle <!--http://developers.google.com/search/docs/data-types/articles --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "http://{{Page Hostname}}/article1" }, "headline": "Article headline", "description": "A most wonderful article", "image": { "@type": "ImageObject", "url": "http://{{Page Hostname}}/thumbnail_1.jpg", "height": 800, "width": 800 }, "datePublished": "2016-01-01T00:00:00+08:00", "dateModified": "2016-01-01T13:00:00+08:00", "author": { "@type": "Person", "name": "John Doe", "sameAs": "https://plus.google.com/106113236172152128711" }, "publisher": { "@type": "Organization", "name": "Google", "logo": { "@type": "ImageObject", "url": "https://www.newscorp.com/logo.jpg", "width": 600, Page specific
  46. 46. Products <!-- https://developers.google.com/search/docs/data-types/products --> <script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Product", "name": "Executive Anvil", "image": "http://www.example.com/anvil_executive.jpg", "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.", "mpn": "925872", "brand": { "@type": "Thing", "name": "ACME" }, "offers": { "@type": "Offer", "priceCurrency": "USD", "price": "119.99", "priceValidUntil": "2099-01-01", "itemCondition": "UsedCondition", // schema.org/UsedCondition "availability": "InStock", // schema.org/InStock "seller": { "@type": "Organization", "name": "Executive Objects" } } } </script> Page specific
  47. 47. Products Reviews <!-- https://developers.google.com/search/docs/data-types/reviews --> <script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Product", "name": "Executive Anvil", //...// "aggregateRating": { "@type": "AggregateRating", "worstRating": 1, "bestRating": 5, "ratingValue": 4.4, "reviewCount": 1 }, "review": { "@type": "Review", "reviewRating": { "@type": "Rating", "worstRating": 1, "bestRating": 5, "ratingValue": 4.4 }, "name": "A masterpiece of an Executive Anvil", "datePublished": "2016-01-01", "reviewBody": "I really like this product. It captures the essential challenge business traveler looking for something to drop from a height`s", "author": { "@type": "Person", "name": "John Doe", "sameAs": "https://plus.google.com/106113236172152128711" Page specific
  48. 48. Review by Expert Author (GoogleNet whitelist) <!-- https://developers.google.com/structured-data/critic-reviews --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Review", "author": { "@type": "Person", "name": "Lisa Kennedy", "sameAs": "https://plus.google.com/114108465800532712602" }, "datePublished": "2014-03-13T20:00", "description": "Nerve-racking, sentimental and thrilling.", "itemReviewed": { "@type": "Movie", "name": "Gravity", "sameAs": "http://www.imdb.com/title/tt1454468/", "datePublished": "2013-10-04T00:00", "director": { "@type": "Person", "name": "Alfonso Cuarón", "sameAs": "http://en.wikipedia.org/wiki/Alfonso_Cuar%C3%B3n" }, "actor": [{ "@type": "Person", "name": "Sandra Bullock", "sameAs": "http://en.wikipedia.org/wiki/Sandra_Bullock" },{ "@type": "Person", "name": "George Clooney", "sameAs": "http://en.wikipedia.org/wiki/George_Clooney" } Page specific
  49. 49. LocalBusiness - Restaurant <!-- https://developers.google.com/search/docs/data-types/local-businesses --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Restaurant", "name": "Dave's Steak House", "image": "http://www.example.com/image.jpg", "url": "http://www.example.com/restaurant-locations/manhattan", "menu": "http://www.example.com/menu", "acceptsReservations": "True", "telephone": "+12122459600", "address": { "@type": "PostalAddress", "streetAddress": "148 W 51st St", "addressLocality": "New York", "addressRegion": "NY", "postalCode": "10019", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": "40.761293", "longitude": "-73.982294" }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday" ], Page specific
  50. 50. LocalBusiness - HealthClub - ReserveAction <!-- https://developers.google.com/search/docs/data-types/local-businesses --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "HealthClub", "name": "Dave's House of Yoga", "image": "http://daveshouseofyoga.example.com/yoga.jpg", "url": "http://daveshouseofyoga.example.com/", "telephone": "+14085551135", "potentialAction": { "@type": "ReserveAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://www.example.com/reserve?merchantId=20373", "inLanguage": "en-US", "actionPlatform": [ "http://schema.org/DesktopWebPlatform" //, "http://schema.org/IOSPlatform" //, "http://schema.org/AndroidPlatform" ] }, "result": { "@type": "Reservation", "name": "Book a class" } }, "address": { "@type": "PostalAddress", "streetAddress": "3986 Rivermark Pkwy", Page specific
  51. 51. MusicEvent - location <!– https://developers.google.com/search/docs/guides/mark-up-listings#mark_up_event_listings --> <script type="application/ld+json">{ "@context": "http://schema.org", "@type": "MusicEvent", "name": "The Wurzels", "image": "https://cdn2.gigantic.com/static/images/campaign/240x240/the-wurzels5545.jpg", "url": "https://www.gigantic.com/the-wurzels-electric-palace-2016-09-17-19-30", "startDate": "2016-09-17T19:30:00+01:00", "doorTime": "19:30", "typicalAgeRange": "Under 14's must be accompanied by an adult.", "location": { "@type": "Place", "name": "Electric Palace", "address": { "@type": "PostalAddress", "streetAddress": "35 South Street", "addressLocality": "Bridport", "postalCode": "DT63NY", "addressCountry": "GB" } }, "offers": [{ "@type": "Offer", "name": "Standing", "category": "primary", "price": "15.95", "priceCurrency": "GBP", "url": "https://www.gigantic.com/the-wurzels-electric-palace-2016-09-17-19-30", "availability": "InStock" }], "performer": [{ Future Action: Buy The Wurzels Sat, 17th Sept gigantic.com thewurzels.com Electric Palace 35 South Street, Bridport, DT63NY Other supported event types include… 1. MusicEvent 2. TheaterEvent 3. SportsEvent 4. ComedyEvent 5. Festival 6. FoodEvent Page specific
  52. 52. TheaterEvent - location <!-- https://developers.google.com/search/docs/data-types/events#venue-markup --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "TheaterEvent", "name": "Julius Caesar at Shakespeare's Globe", "location": { "@type": "PerformingArtsTheater", "name": "Shakespeare's Globe", "sameAs": "http://www.shakespearesglobe.com/", "address": "London, UK" }, "offers": [{ "@type": "Offer", "name": "Standing (Yard)", "url": "https://tickets.shakespearesglobe.com/performances.asp?PerIndex=287339", "category": "primary", "priceCurrency": "GBP", "price": "7.50", "availability": "http://schema.org/InStock" },{ "@type": "AggregateOffer", "name": "Lower Gallery", "url": "https://tickets.shakespearesglobe.com/performances.asp?PerIndex=287339", "category": "primary", "priceCurrency": "GBP", "lowPrice": "17.50", "highPrice": "44.50", "availability": "http://schema.org/LimitedAvailability" } ], Future Action: Buy Page specific
  53. 53. MusicGroup - ListenAction <!-- https://developers.google.com/structured-data/actions/play-music --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "MusicGroup", "url": [ "http://www.iheart.com/artist/Katy-Perry-35141/" // Google validator does not like android-app URL - even though its in their example! //, "android-app://com.clearchannel.iheartradio.controller/ihr/listen/custom_radio/artist/35141" ], "name": "Katy Perry", "sameAs": "http://www.katyperry.com", "logo": "http://{{Page Hostname}}/images/logo.png", // PP missing in Google help pages "description": "Katy Perry is a pop music artist.", "potentialAction": { "@type": "ListenAction", "target": [ "http://www.iheart.com/artist/Katy-Perry-35141/?autoplay=true&ext=1&playedFrom=197" // Google validator does not like android-app URL - even though its in their example! //, "android- app://com.clearchannel.iheartradio.controller/ihr/listen/custom_radio/artist/35141?ext=1&played_from=197" ], // Offer added as validator said this was a recommended field "expectsAcceptanceOf": { "@type": "Offer", "eligibleRegion": { "@type": "Country", "name": "US" } } } Page specific
  54. 54. TVEpisode - Play/WatchAction <!-- https://developers.google.com/structured-data/actions/watch-movies --> <script type="application/ld+json"> { "@context": "http://schema.org", "@id": "2356865", "@type": "TVEpisode", "name": "The Occupation Recalibration", "episodeNumber": 13, "partOfSeason": { "@type": "TVSeason", "seasonNumber": 7 }, "partOfSeries": { "@type": "TVSeries", "name": "The Big Bang Theory", "sameAs": "http://www.imdb.com/title/tt0898266/", "url": "http://www.cbs.com/shows/big_bang_theory/", "description": "The Big Bang Theory is an American sitcom." }, "releasedEvent": { "@type": "PublicationEvent", "startDate": "2015-01-09", "location": { "@type": "Country", "name": "US" } }, "potentialAction": [{ "@type": "WatchAction", "target": { Page specific
  55. 55. NewsArticle (AMP requirement) <script type="application/ld+json"> /* http://developers.google.com/search/docs/data-types/articles */ { "@context": "http://schema.org", "@type": "BlogPosting", "mainEntityOfPage": "https://www.bookinglive.com/blog/online-booking-systems-for-the-public-sector/", "publisher": { "@type": "Organization", "name": "BookingLive Blog", "logo": { "@type": "ImageObject", "url": "https://www.bookinglive.com/blog/wp- content/themes/bookingliveblog/themes/bookinglive/images/logo.png", "height": 60, "width": 600 } }, "headline": "Online Booking Systems For The Public Sector", "datePublished": "2016-08-08T14:59:58+00:00", "dateModified": "", "author": { "@type": "Person", "name": "Booking Live" }, "description": "", "image": { "@type": "ImageObject", "url": "https://www.bookinglive.com/blog/wp-content/themes/bookingliveblog/themes/bookinglive/images/logo.png", "height": 800, "width": 800 } } </script> Page specific
  56. 56. “Kill” action <script type="application/ld+json"> { "@context": "http://schema.org", "potentialAction": [{ "@type": "MuteAction", "target": "https://en.wikipedia.org/wiki/Jar_Jar_Binks", "method": "Slap in face" },{ "@type": "KillAction", "target ": "https://en.wikipedia.org/wiki/Jar_Jar_Binks", "method": "Terminate" }] } </script> Future Action: Kill Future Action: Slap in face Page specific
  57. 57. JSON ld cheatsheet bit.ly/winningthewar4
  58. 58. Its not just about Websites…
  59. 59. Action buttons also supported in Emails <script type="application/ld+json"> /* One Click Action: Confirm Action https://developers.google.com/gmail/markup/reference/one-click-action#confirm_action */ { "@context": "http://schema.org", "@type": "EmailMessage", "description": "Approval request for John's $10.13 expense for office supplies", "potentialAction": { "@type": "ConfirmAction", "name": "Approve Expense", "handler": { "@type": "HttpActionHandler", "url": "https://myexpenses.com/approve?expenseId=abc123" } } } </script>
  60. 60. Here is a live example from GitHub emails... http://semanticweb.com/github-adds-schema-org-actions-email-notifications-via-json-ld_b44450 You have mail Future Action: Pull Request
  61. 61. Summary
  62. 62. Enable JSON-LD via GTM or CMS plugins Good for... Global JSON-LD 1. Brand Logo 2. Phone Number 3. Social Profiles 4. Site Search 5. OpeningHours 6. Address Good for... Page Specific JSON-LD 1. News data 2. Product data 3. Review data 4. Breadcrumbs 5. Music & TV Product data 6. Local restaurants
  63. 63. Ping GoogleBot after making changes 1. Ensure pages validate: 2. Ping GoogleBot to re-crawl by visiting this URL: Or use “Fetch, render and index” on homepage & individual pages in GWT. 3. Or Click submit sitemap.xml in GWT
  64. 64. Waiting for GoogleBot to index (or check in SEOmoz)
  65. 65. Future actions… 1. Google JSON-LD Validator- try 2. GTM auto config for JSONLD or WP CMS plugins - install 3. Ping GoogleBot via sitemap.xml - submit
  66. 66. Don’t let… Facebook win in 2020
  67. 67. Support Google`s JSON-LD… now!
  68. 68. Join the Resistance on GooglePlus bit.ly/join-the-resistance
  69. 69. Appendix
  70. 70. Free “USB stick" for Best Question! Questions…. bit.ly/wawquestions
  71. 71. FREE seo audit template bit.ly/techseoaudit
  72. 72. Free resource... For everyone else... bit.ly/gtmdevguide2 € FREE www.amazon.de/Google-Tag-Manager-Developer-Guide-ebook/dp/B00KEC2IOK Future Action: Download
  73. 73. More links • https://moz.com/blog/using-google-tag- manager-to-dynamically-generate-schema- org-json-ld-tags • https://moz.com/blog/structured-data-for- seo-2 • https://moz.com/blog/using-google-tag- manager-to-dynamically-generate-schema- org-json-ld-tags
  74. 74. JSON-LD Links Testing Tools • JSON-LD playground & validation tools: www.json-ld.org • Official Google markup-Tester for JSON-LD www.google.com/webmasters/markup-tester/corporatecontacts (phone numbers) www.google.com/webmasters/markup-tester/events (music events) www.google.com/webmasters/markup-tester/ (email) JSON-LD blog posts • www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/ • moduscreate.com/google-announces-json-ld-compliance-at-google-io/ • semanticweb.com/category/technologies-2/json-ld • https://schema.org/docs/actions.html (new)
  75. 75. Video on JSON LD Very good intro video to JSON-LinkedData • http://www.youtube.com/watch?v=vioCbTo3C-4 • http://www.youtube.com/watch?v=XXw8g-FbemI History behind JSON-LinkedData • http://manu.sporny.org/2014/json-ld-origins-2/
  76. 76. Links http://www.simoahava.com/analytics/enrich-serp-results-using-gtm/ http://rdf.greggkellogg.net/distiller https://developers.google.com/structured-data/testing-tool/ http://search4phil.com/_testing_script/____json_ld/json-ld-test.html http://www.greenlaneseo.com/blog/2015/01/introducing-the-meta-and-rich-snippet-tester/ https://docs.google.com/spreadsheets/d/1sreYyRZ31HJdM1- WX5wztTIbY28aZjCVmGIWN8WKCEM/edit#gid=674078569 https://developers.google.com/schemas/release-notes http://www.w3.org/wiki/WebSchemas/ActivityActions // Script to patch a broken inline JSON-LD values https://plus.google.com/100057001384327175073/posts/SJjfczNMPhc
  77. 77. Free robot tracking via noscipt + session recording (like clicktale) Yandex metric [config file] bit.ly/yandexmetricagtm or bit.ly/yandexmetricagtmV1 1. Create Yandex Account 2. Then go to yanex metrica and create a “counter” account 3. Replace 99999 accountID with your accountID in the variable Note: Yandex Metrica uses pageviews for crawl discovery
  78. 78. I recommend in the <head> with other <meta tags> but can be placed anywhere. Position of JSON LD on a page… JSON-LD data Note: If deployed via GTM - I recommend deploying on DOM ready.
  79. 79. Planning JSON implantation Global vs Page specific Global 1. Brand Logo 2. Phone Number 3. Social Profiles 4. Site Search 5. OpeningHours 6. Address Page Specific 1. News data 2. Product data 3. Review data 4. Breadcrumbs 5. Music & TV Product data 6. Local restaurants vs
  80. 80. Implementation Method summary GTM Wordpress CMS agnostic Yes No Supports server-side No (dataLayer exception) Yes InTool JS validation Native n/a Speed Asynchronous JS Server-side cache Uneffected by CSS or DOM ID changes No, will break (dataLayer exception) Yes

×