{"_id":"57eef4362985792000c7e3d4","parentDoc":null,"user":"5668fa9755e4b32100935d41","__v":0,"version":{"_id":"5668fab608f90021008e8832","__v":19,"project":"5668fab608f90021008e882f","createdAt":"2015-12-10T04:08:22.769Z","releaseDate":"2015-12-10T04:08:22.769Z","categories":["5668fab708f90021008e8833","569740f124490c3700170a64","569742b58560a60d00e2c25d","569742bd0b09a41900b2446c","569742cd69393517000c82b3","569742f459a6692d003fad8f","569743020b09a41900b2446d","5697430b69393517000c82b5","56a17776470ae00d00c30642","56a2c48a831e2a0d0069b1ad","56b535757bccae0d00e9a1cd","56e1ff6aa49fdc0e005746b5","57e1c88115bf6522002a5e4e","57fa65275ba65a17008b988f","57fbeea34002550e004c032e","58474584889b6c2d00fb86e9","58475dcc64157f0f002f1907","587e7b5158666c2700965d4e","58a349fc30852819007ba083"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.18.0","version":"1.18"},"category":{"_id":"57e1c88115bf6522002a5e4e","project":"5668fab608f90021008e882f","__v":0,"version":"5668fab608f90021008e8832","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-20T23:38:41.155Z","from_sync":false,"order":11,"slug":"metrics","title":"Metrics"},"project":"5668fab608f90021008e882f","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-30T23:24:38.865Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"The widget visible event (called `widget_visible`) is triggered every time a set of recommendations (whether LiftIgniter's or any other algorithm's) enters the user's viewport. Developers can get a quick summary at the [Widget Events](doc:widget-events) page. This page is more for people interested in data science and analysis.\n\nFor more on how this metric relates to other metrics, see our [Metrics summary](doc:metrics-summary) .\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. Conditions for triggering\"\n}\n[/block]\nThe widget visible event should be triggered whenever a widget showing recommendations by LiftIgniter or any other recommendation system enters the user's viewport. LiftIgniter's default implementation of this event automatically gets used if you implemented our [Tracking Widgets](doc:tracking-widgets) functionality. Note that if you haven't implemented tracking, we won't receive this event. If you implement your own [custom tracking](doc:tracking-with-no-anchor) function, you will need to make sure to include the visible event there (which is marked as optional) in order to have the event fire.\n\nOn standard HTML page layouts, any widget that is part of the viewport on page load (i.e., above the fold) will have the `widget_visible` event triggered immediately. Otherwise, the event will trigger when the user scrolls down to the widget. Note that if the widget loads late for some reason, and the user has already scrolled past the area, we won't get a `widget_visible` event (unless the user scrolls back up).\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2. Implementation caveats\"\n}\n[/block]\nThe following caveats apply to our default implementation of visibility. Although these reduce the level of insight you can derive, they keep our integration simpler and less custom, and they also make our code less computationally intensive for the client's browser. However, you can implement [custom visibility tracking logic](doc:tracking-with-no-anchor) if you have more advanced needs.\n\n* We track \"all-or-none\" visibility: we send a single `widget_visible` event for the entire widget, even though a user may actually have only a few items in their viewport.\n* Our default implementation of visibility tracking puts the listener only on the first item being shown. In other words, it triggers when the first item in the list enters the viewport.\n* Our listener checks the status every 250 ms, so if people scroll rapidly or bounce off the page immediately, it may not capture the event.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3. Visible does not mean the user noticed the widget!\"\n}\n[/block]\nOur definition of `widget_visible` accounts for the recommendation widget entering the user's viewport. It does not, however, mean the user actually *saw* or *noticed* the recommendation, which is the event we are more interested in. Unfortunately, unless the user interacts with the widget in a meaningful way (e.g., by clicking on it), it's very hard to definitively know if the user noticed the widget. Even if the user did, it's hard to know how much attention the user paid to the recommendations.\n\nWe *do* have some general guidelines, based on eye-tracking studies as well as CTR measurements, of how the placement and style of a widget can affect the extent to which it's actually noticed.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"4. Comparing widget visible event values in an A/B test\"\n}\n[/block]\nLiftIgniter does A/B testing by user. This means that when we do a 50/50 A/B test, 50% of users see LiftIgniter's recommendations all the time, and the other 50% see the baseline recommendations all the time.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/26db11d-widget-visible-ab-example.png\",\n        \"widget-visible-ab-example.png\",\n        1708,\n        822,\n        \"#e1eaf7\"\n      ],\n      \"caption\": \"Widget visible values in a fair value 50/50 A/B test. Although traffic varies a lot by day, values for LiftIgniter and baseline are close to equal on any given day.\"\n    }\n  ]\n}\n[/block]\nBy and large, when an A/B test is launched, LiftIgniter and the base have an equal number of `widget_visible`. However, differences in the algorithm can lead to differences in the total number of `widget_visible` events for three possible reasons:\n\n* The *direct* effect: If the CTR is high (generally if it is over 5%) and the pages that users click to also show the same recommendation widget, then the slice with higher CTR will also end up getting more `widget_visible` events.\n* The *first indirect* effect (increased visibility): People who have seen better quality recommendations in a recommendation widget may be more inclined to scroll back to the recommendation widget on subsequent pageviews.\n* The *second indirect* effect (increased return visits): People who have been exposed to a better quality experience (through better recommendations) may return to the site more.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"5. Derived metrics\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Derived metric\",\n    \"h-1\": \"Numerator\",\n    \"h-2\": \"Denominator\",\n    \"0-0\": \"Visibility\",\n    \"0-1\": \"Widget Visible\",\n    \"0-2\": \"Widget Shown\",\n    \"1-0\": \"Visible Click-Through Rate (VCTR)\",\n    \"1-1\": \"Widget Click\",\n    \"1-2\": \"Widget Visible\",\n    \"2-0\": \"Engaged Visible Click-Through Rate (EVCTR)\",\n    \"2-1\": \"Engaged Click\",\n    \"2-2\": \"Widget Visible\",\n    \"3-0\": \"Conversion-to-Visible Ratio\",\n    \"3-1\": \"Conversion (through click)\",\n    \"3-2\": \"Widget Visible\",\n    \"h-3\": \"Supported by LiftIgniter?\",\n    \"0-3\": \"Yes, with tracking implemented\",\n    \"1-3\": \"Yes, with tracking implemented\",\n    \"2-3\": \"Yes, with tracking implemented and engagement definition\",\n    \"3-3\": \"Yes, with tracking implemented and conversion tracking implemented\"\n  },\n  \"cols\": 4,\n  \"rows\": 4\n}\n[/block]","excerpt":"","slug":"widget-visible","type":"basic","title":"Widget Visible"}
The widget visible event (called `widget_visible`) is triggered every time a set of recommendations (whether LiftIgniter's or any other algorithm's) enters the user's viewport. Developers can get a quick summary at the [Widget Events](doc:widget-events) page. This page is more for people interested in data science and analysis. For more on how this metric relates to other metrics, see our [Metrics summary](doc:metrics-summary) . [block:api-header] { "type": "basic", "title": "1. Conditions for triggering" } [/block] The widget visible event should be triggered whenever a widget showing recommendations by LiftIgniter or any other recommendation system enters the user's viewport. LiftIgniter's default implementation of this event automatically gets used if you implemented our [Tracking Widgets](doc:tracking-widgets) functionality. Note that if you haven't implemented tracking, we won't receive this event. If you implement your own [custom tracking](doc:tracking-with-no-anchor) function, you will need to make sure to include the visible event there (which is marked as optional) in order to have the event fire. On standard HTML page layouts, any widget that is part of the viewport on page load (i.e., above the fold) will have the `widget_visible` event triggered immediately. Otherwise, the event will trigger when the user scrolls down to the widget. Note that if the widget loads late for some reason, and the user has already scrolled past the area, we won't get a `widget_visible` event (unless the user scrolls back up). [block:api-header] { "type": "basic", "title": "2. Implementation caveats" } [/block] The following caveats apply to our default implementation of visibility. Although these reduce the level of insight you can derive, they keep our integration simpler and less custom, and they also make our code less computationally intensive for the client's browser. However, you can implement [custom visibility tracking logic](doc:tracking-with-no-anchor) if you have more advanced needs. * We track "all-or-none" visibility: we send a single `widget_visible` event for the entire widget, even though a user may actually have only a few items in their viewport. * Our default implementation of visibility tracking puts the listener only on the first item being shown. In other words, it triggers when the first item in the list enters the viewport. * Our listener checks the status every 250 ms, so if people scroll rapidly or bounce off the page immediately, it may not capture the event. [block:api-header] { "type": "basic", "title": "3. Visible does not mean the user noticed the widget!" } [/block] Our definition of `widget_visible` accounts for the recommendation widget entering the user's viewport. It does not, however, mean the user actually *saw* or *noticed* the recommendation, which is the event we are more interested in. Unfortunately, unless the user interacts with the widget in a meaningful way (e.g., by clicking on it), it's very hard to definitively know if the user noticed the widget. Even if the user did, it's hard to know how much attention the user paid to the recommendations. We *do* have some general guidelines, based on eye-tracking studies as well as CTR measurements, of how the placement and style of a widget can affect the extent to which it's actually noticed. [block:api-header] { "type": "basic", "title": "4. Comparing widget visible event values in an A/B test" } [/block] LiftIgniter does A/B testing by user. This means that when we do a 50/50 A/B test, 50% of users see LiftIgniter's recommendations all the time, and the other 50% see the baseline recommendations all the time. [block:image] { "images": [ { "image": [ "https://files.readme.io/26db11d-widget-visible-ab-example.png", "widget-visible-ab-example.png", 1708, 822, "#e1eaf7" ], "caption": "Widget visible values in a fair value 50/50 A/B test. Although traffic varies a lot by day, values for LiftIgniter and baseline are close to equal on any given day." } ] } [/block] By and large, when an A/B test is launched, LiftIgniter and the base have an equal number of `widget_visible`. However, differences in the algorithm can lead to differences in the total number of `widget_visible` events for three possible reasons: * The *direct* effect: If the CTR is high (generally if it is over 5%) and the pages that users click to also show the same recommendation widget, then the slice with higher CTR will also end up getting more `widget_visible` events. * The *first indirect* effect (increased visibility): People who have seen better quality recommendations in a recommendation widget may be more inclined to scroll back to the recommendation widget on subsequent pageviews. * The *second indirect* effect (increased return visits): People who have been exposed to a better quality experience (through better recommendations) may return to the site more. [block:api-header] { "type": "basic", "title": "5. Derived metrics" } [/block] [block:parameters] { "data": { "h-0": "Derived metric", "h-1": "Numerator", "h-2": "Denominator", "0-0": "Visibility", "0-1": "Widget Visible", "0-2": "Widget Shown", "1-0": "Visible Click-Through Rate (VCTR)", "1-1": "Widget Click", "1-2": "Widget Visible", "2-0": "Engaged Visible Click-Through Rate (EVCTR)", "2-1": "Engaged Click", "2-2": "Widget Visible", "3-0": "Conversion-to-Visible Ratio", "3-1": "Conversion (through click)", "3-2": "Widget Visible", "h-3": "Supported by LiftIgniter?", "0-3": "Yes, with tracking implemented", "1-3": "Yes, with tracking implemented", "2-3": "Yes, with tracking implemented and engagement definition", "3-3": "Yes, with tracking implemented and conversion tracking implemented" }, "cols": 4, "rows": 4 } [/block]