{"title":"Page Section Impression","description":"Measures when a section of a page is visible for a certain amount of time. This event can be used to identify which sections are actually within a users viewport for the time required to read\/engage with the given content. \n\n These events when implemented correctly are more contextually meaningful than something like a `page_scroll` event.","_alerts":[{"variant":"warning","message":"**Measuring the visibility of a section of a page can be a bit tricky.** It requires that the sections follow predictable (or at least consistent) patterns ideally using semantic HTML markup in order to be accurately measured. **You may need the help of a web developer to add footprints into the HTML** such as `data-section` attributes or other similar identifiers."},{"variant":"note","message":"A simple implementation approach can be using a Google Tag Manager visibility trigger configured to execute for any `<h2>` elements that are 100% visible in the viewport for X seconds and using the `<h2>` element text (captured via an auto-event variable) for the `section_name` property. Though not perfect, it can be a good starting point for measuring section impressions if you use proper heading heirarchy and scope your selectors to defined semantic content elements like `<section>`, `<article>`, etc..."}],"type":"object","allOf":[{"properties":{"event":{"title":"Event Name","const":"page_section_impression"}},"required":["event"]},{"title":"Section\/UI Properites","description":"These properties can be applied to any event to provide more contextual information about \"where\" an interaction occured within a given page.","$schema":"http:\/\/json-schema.org\/draft-07\/schema#","type":"object","definitions":{"section_name":{"type":"string","title":"Section Name","description":"More specific than `ui_location`, this property can be used to describe the name of a section or container that the event occurred within.","example":"recent posts"},"ui_location":{"type":"string","title":"UI Location","description":"The name of the section or container that the event occurred within. This could be a sidebar, header, footer, or any other named\/defined section of a page.","example":"sidebar"}},"required":[]},{"title":"Content Properties","description":"These properties are mostly applicable to `page_*` or `content_*` events. However, they can be used in other appropriate situations.","type":"object","definitions":{"publish_year":{"type":"string","title":"Publish Year","description":"The year the content was published. YYYY format.","example":"2016"},"publish_month":{"type":"string","title":"Publish Month","description":"The month the content was published. MM format.","example":"05"},"publish_day":{"type":"string","title":"Publish Day","description":"The day the content was published. DD format.","example":"04"},"content_name":{"type":"string","title":"Content Name","description":"The name of the content. Ideally fed from a CMS - this is not meant to be the `<title>` of the page, but the name of the content itself which is often more useful for analysis.","example":"The Ultimate Guide to Google Analytics 4"},"content_author":{"type":"string","title":"Content Author","description":"The author of the content.","example":"Derek Cavaliero"},"content_group":{"type":"string","title":"Content Group","description":"Used for aggregate analysis of content that is of a common cohort. For example, all blog posts could be grouped under `blog`.","example":"blog"},"content_type":{"type":"string","title":"Content Type","description":"Similar to `content_group`, but more specific. For example, a blog post could have a `content_group` of `blog` and a `content_type` of `guide`.","example":"guide"},"content_word_count":{"type":"integer","title":"Content Word Count","description":"The approximate number of words that make up the `<main>` or body of the page. This is generally provided by a CMS that has direct access to the underlying content structure to process and expose the word count programatically.","example":500}},"required":[]}]}