{"id":708,"date":"2026-09-25T17:20:56","date_gmt":"2026-09-25T17:20:56","guid":{"rendered":"https:\/\/getaiwork.com\/articles\/?p=708"},"modified":"2026-09-25T18:03:07","modified_gmt":"2026-09-25T18:03:07","slug":"use-ai-to-improve-engagement-on-your-webpages","status":"publish","type":"post","link":"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/","title":{"rendered":"How to Use AI to Improve Engagement on Your Webpages"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>To use AI to improve engagement on your webpages, have scripts add the four things readers stay for: a spoken version with read along, a five question quiz tied to the sections, one chart drawn from the page&#8217;s own numbers, and one tool they can use.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"use-ai-to-improve-engagement-on-your-webpages\" data-minutes=\"12\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F1F4FA;border:1px solid #DDE3EE;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #DDE3EE;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#1E3A8A;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#B45309}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#1E3A8A}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#55555F}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#1E3A8A;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#B45309}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #DDE3EE;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#1E3A8A;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#B45309}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #DDE3EE;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #DDE3EE;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F1F4FA;box-shadow:0 2px 0 #1E3A8A;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F1F4FA;box-shadow:inset 0 -2px 0 #1E3A8A}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F1F4FA}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#audio\",\"name\":\"How to Use AI to Improve Engagement on Your Webpages, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 25 September 2026.\",\"contentUrl\":\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-audio-202609252333.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT12M10S\",\"uploadDate\":\"2026-09-25\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"How to Use AI to Improve Engagement on Your Webpages\",\"startOffset\":0,\"endOffset\":35},{\"@type\":\"Clip\",\"name\":\"What does engagement actually measure?\",\"startOffset\":35,\"endOffset\":91,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#what-does-engagement-actually-measure\"},{\"@type\":\"Clip\",\"name\":\"Why does a spoken version keep people on the page longer?\",\"startOffset\":91,\"endOffset\":186,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#why-does-a-spoken-version-keep-people-on-the-page-longer\"},{\"@type\":\"Clip\",\"name\":\"How do you build the audio with AI for under 40 cents a page?\",\"startOffset\":186,\"endOffset\":348,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#how-do-you-build-the-audio-with-ai-for-under-40-cents-a-page\"},{\"@type\":\"Clip\",\"name\":\"What does a quiz do that a summary cannot?\",\"startOffset\":348,\"endOffset\":436,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#what-does-a-quiz-do-that-a-summary-cannot\"},{\"@type\":\"Clip\",\"name\":\"When is a chart or a tool worth more than more words?\",\"startOffset\":436,\"endOffset\":521,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#when-is-a-chart-or-a-tool-worth-more-than-more-words\"},{\"@type\":\"Clip\",\"name\":\"How do you add all of this to a page without a team?\",\"startOffset\":521,\"endOffset\":649,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#how-do-you-add-all-of-this-to-a-page-without-a-team\"},{\"@type\":\"Clip\",\"name\":\"What if you want to do AI work rather than build AI pipelines?\",\"startOffset\":649,\"endOffset\":730,\"url\":\"https:\/\/getaiwork.com\/articles\/use-ai-to-improve-engagement-on-your-webpages\/#what-if-you-want-to-do-ai-work-rather-than-build-ai-pipeline\"}],\"contentSize\":\"5.1 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 12 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-audio-202609252333.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: How to Use AI to Improve Engagement on Your Webpages\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">How to Use AI to Improve Engagement on Your Webpages<\/a><\/li>\n<li data-start=\"35.34\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"35.34\" aria-label=\"Play from: What does engagement actually measure?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:35<\/span><a href=\"#what-does-engagement-actually-measure\">What does engagement actually measure?<\/a><\/li>\n<li data-start=\"91.12\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"91.12\" aria-label=\"Play from: Why does a spoken version keep people on the page longer?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">1:31<\/span><a href=\"#why-does-a-spoken-version-keep-people-on-the-page-longer\">Why does a spoken version keep people on the page longer?<\/a><\/li>\n<li data-start=\"185.78\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"185.78\" aria-label=\"Play from: How do you build the audio with AI for under 40 cents a page?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">3:06<\/span><a href=\"#how-do-you-build-the-audio-with-ai-for-under-40-cents-a-page\">How do you build the audio with AI for under 40 cents a page?<\/a><\/li>\n<li data-start=\"348.2\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"348.2\" aria-label=\"Play from: What does a quiz do that a summary cannot?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:48<\/span><a href=\"#what-does-a-quiz-do-that-a-summary-cannot\">What does a quiz do that a summary cannot?<\/a><\/li>\n<li data-start=\"435.98\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"435.98\" aria-label=\"Play from: When is a chart or a tool worth more than more words?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:16<\/span><a href=\"#when-is-a-chart-or-a-tool-worth-more-than-more-words\">When is a chart or a tool worth more than more words?<\/a><\/li>\n<li data-start=\"521.32\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"521.32\" aria-label=\"Play from: How do you add all of this to a page without a team?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:41<\/span><a href=\"#how-do-you-add-all-of-this-to-a-page-without-a-team\">How do you add all of this to a page without a team?<\/a><\/li>\n<li data-start=\"648.54\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"648.54\" aria-label=\"Play from: What if you want to do AI work rather than build AI pipelines?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">10:49<\/span><a href=\"#what-if-you-want-to-do-ai-work-rather-than-build-ai-pipeline\">What if you want to do AI work rather than build AI pipelines?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 25 September 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"howtouseaitoimproveengag\",43],[3.48,\"p\",\"touseaitoimproveengageme\",197],[18.24,\"p\",\"onthispagegooglesowndefi\",193],[35.34,\"h\",\"whatdoesengagementactual\",33],[37.7,\"p\",\"googleanalyticscountsase\",200],[53.1,\"p\",\"avisitorwhoopensyourarti\",74],[58.42,\"p\",\"thatisthemetricthispagei\",64],[63.5,\"p\",\"thereasonengagementtimer\",73],[69.34,\"p\",\"katemoranseyetrackingrev\",163],[81.38,\"p\",\"sothejobisnottomakepeopl\",33],[83.3,\"p\",\"itistogiveascannerareaso\",72],[91.12,\"h\",\"whydoesaspokenversionkee\",46],[94.52,\"p\",\"becauselisteningistheone\",74],[99.2,\"p\",\"thebeyondwordsaudioengag\",178],[115.08,\"p\",\"only419percentofvisitors\",122],[125.16,\"p\",\"twopractitionerpiecespro\",40],[127.48,\"p\",\"speechactorsreportsbounc\",256],[145.84,\"p\",\"bothareworthreadingforth\",119],[155.0,\"p\",\"treattheirpercentagesasc\",29],[157.52,\"p\",\"thebeyondwordsfigureisth\",48],[160.24,\"p\",\"onethingaudiowillnotdois\",42],[163.64,\"p\",\"googlesspeakablemarkupis\",96],[170.52,\"p\",\"whatarecordingcancarryis\",85],[178.0,\"p\",\"ourscarriesone\",14],[179.16,\"p\",\"itearnsnothingtodayandwe\",81],[185.78,\"h\",\"howdoyoubuildtheaudiowit\",47],[190.22,\"p\",\"googlecloudtexttospeechh\",66],[195.14,\"p\",\"thefiguresbelowareaslist\",213],[212.86,\"t\",\"standard\",90],[222.98,\"t\",\"wavenet\",89],[234.18,\"t\",\"neural2\",91],[245.14,\"t\",\"chirp3hd\",92],[255.26,\"t\",\"studio\",87],[267.42,\"p\",\"getaiworkuseschirp3hdone\",51],[274.06,\"p\",\"thescriptbuildsaspokenve\",177],[286.46,\"p\",\"itrecordsonesentenceperr\",81],[292.34,\"p\",\"googlessupportedssmllist\",102],[299.94,\"p\",\"alatereditrerecordsonlyt\",112],[308.9,\"p\",\"theplayeriswheretheengag\",36],[312.06,\"p\",\"undertheanswerparagraphs\",101],[318.86,\"p\",\"oncetheplayerscrollsouto\",165],[336.42,\"p\",\"thesentencebeingspokenis\",131],[344.98,\"p\",\"tappinganysentencestarts\",39],[348.2,\"h\",\"whatdoesaquizdothatasumm\",33],[351.2,\"p\",\"asummarytellsascannerwha\",36],[354.64,\"p\",\"aquizaskswhethertheygoti\",81],[360.08,\"p\",\"riddles2025quizmarketing\",217],[378.96,\"p\",\"itisvendordataaboutvendo\",110],[387.16,\"p\",\"ourssitscollapsedunderth\",127],[396.12,\"p\",\"fivequestionseachtiedtoo\",33],[400.08,\"p\",\"awronganswershowsatwosen\",93],[406.92,\"p\",\"theresultoffersthestarte\",49],[410.36,\"p\",\"onthissiteaquestiontests\",110],[417.92,\"p\",\"aquizthatflattersisaquiz\",40],[422.52,\"p\",\"ifyouwouldratherdoaiwork\",155],[435.98,\"h\",\"whenisachartoratoolworth\",41],[439.46,\"p\",\"ascannerstopsatashape\",21],[441.5,\"p\",\"thechartoneachpageisdraw\",136],[450.3,\"p\",\"whenanarticlehasnonumber\",98],[457.78,\"p\",\"theplatformspagecarriesa\",162],[468.5,\"p\",\"thetoolisthethingareader\",163],[480.9,\"p\",\"whatatoolmustneverdohere\",81],[486.58,\"p\",\"thereisnoearningscalcula\",155],[497.58,\"p\",\"thecheapestelementofalli\",36],[500.5,\"p\",\"undertheanswerparagrapha\",162],[515.14,\"p\",\"ascannerdecidesinsidefiv\",72],[521.32,\"h\",\"howdoyouaddallofthistoap\",39],[524.84,\"p\",\"withscriptsthatreadthepa\",73],[531.04,\"p\",\"ashortdescriptionfilenam\",109],[538.0,\"p\",\"onescriptvalidatesitdraw\",187],[552.8,\"p\",\"asecondscriptbuildsthesp\",127],[562.0,\"p\",\"athirdfetchesthelivepage\",92],[569.24,\"p\",\"addingallfourtoanexistin\",99],[577.04,\"t\",\"audiowithreadalong\",150],[593.76,\"t\",\"fivequestionquiz\",139],[608.8,\"t\",\"builtchart\",129],[620.84,\"t\",\"checklistorchooser\",131],[634.48,\"t\",\"threeplannedphotos\",133],[648.54,\"h\",\"whatifyouwanttodoaiworkr\",49],[653.26,\"p\",\"mostpeoplereadingthisdon\",61],[658.14,\"p\",\"theywanttogetaitoworkfor\",81],[665.22,\"p\",\"thatiswhatgetaiworkteach\",84],[672.3,\"p\",\"learntwentyminutedailyle\",164],[684.18,\"p\",\"proveacertificategradedo\",82],[691.18,\"p\",\"earntheworkboardwhichisf\",147],[705.34,\"p\",\"payontheboardisshownonly\",77],[710.66,\"p\",\"answereightquestionsandt\",108],[717.82,\"p\",\"ifyoucameherefortheengin\",157]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: Google&#8217;s own definition of an engaged session, the two reports with data sets behind them (17 million plays, 8.96 billion quiz data points), and the four page elements built from them: audio with read along, a quiz, a chart and a tool.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"use-ai-to-improve-engagement-on-your-webpages\" data-category=\"AI tools\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#1E3A8A;--msq-accent-text:#FFFFFF;--msq-line:#DDE3EE;--msq-warn:#B45309;--msq-muted:#55555F;--msq-tint:#F1F4FA;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"What does engagement actually measure?\" data-section=\"#what-does-engagement-actually-measure\">\n<p class=\"msq-question\">1. Which of these makes Google Analytics count a session as engaged?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Any visit that loads the page<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">A session longer than 10 seconds, a key event, or two or more page views<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">A session in which the reader scrolls to the end<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Google&#8217;s own definition: an engaged session <a href=\"https:\/\/support.google.com\/analytics\/answer\/12195621\" target=\"_blank\" rel=\"noopener\">lasts longer than 10 seconds, has a key event, or has two or more page views<\/a>, and engagement time counts only while the page is the tab in focus. <a class=\"msq-section\" href=\"#what-does-engagement-actually-measure\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"b\" data-title=\"Why does a spoken version keep people on the page longer?\" data-section=\"#why-does-a-spoken-version-keep-people-on-the-page-longer\">\n<p class=\"msq-question\">2. In the BeyondWords report on 17 million plays, how long did the average listen last?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">45 seconds<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">3 minutes 45 seconds, 59 percent of the file<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The whole file, almost every time<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/beyondwords.io\/blog\/audio-engagement-report-2023\/\" target=\"_blank\" rel=\"noopener\">BeyondWords Audio Engagement Report<\/a>, published in January 2023, puts the average listen at 3 minutes 45 seconds, 59 percent of playback, with 4.19 percent of visitors pressing play. <a class=\"msq-section\" href=\"#why-does-a-spoken-version-keep-people-on-the-page-longer\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"b\" data-title=\"How do you build the audio with AI for under 40 cents a page?\" data-section=\"#how-do-you-build-the-audio-with-ai-for-under-40-cents-a-page\">\n<p class=\"msq-question\">3. Why do getAIwork&#8217;s pages record one sentence per request?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Because the voice is cheaper that way<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Because Google&#8217;s supported SSML list for Chirp 3 HD has no mark element, so each clip&#8217;s length is the only exact timing<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Because WordPress cannot store a longer file<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Google&#8217;s <a href=\"https:\/\/docs.cloud.google.com\/text-to-speech\/docs\/chirp3-hd\" target=\"_blank\" rel=\"noopener\">Chirp 3 HD page<\/a> lists the SSML elements these voices support and mark is not among them, so the read along is timed from the length of each sentence clip. The price is the same either way. <a class=\"msq-section\" href=\"#how-do-you-build-the-audio-with-ai-for-under-40-cents-a-page\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"a\" data-title=\"What does a quiz do that a summary cannot?\" data-section=\"#what-does-a-quiz-do-that-a-summary-cannot\">\n<p class=\"msq-question\">4. What does Riddle&#8217;s 2025 report give as the average time on a quiz against a standard article?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">2 minutes 48 seconds against 54 seconds<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">54 seconds against 2 minutes 48 seconds<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The same, about a minute each<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span><a href=\"https:\/\/www.riddle.com\/blog\/news-reviews\/2025-quiz-marketing-report\/\" target=\"_blank\" rel=\"noopener\">Riddle&#8217;s 2025 Quiz Marketing Report<\/a>, from 8.96 billion data points on its own platform, reports 2 minutes 48 seconds on a quiz against 54 seconds on an article, with 73.4 percent of starts reaching the result. It is vendor data, so read it as a ceiling. <a class=\"msq-section\" href=\"#what-does-a-quiz-do-that-a-summary-cannot\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"How do you add all of this to a page without a team?\" data-section=\"#how-do-you-add-all-of-this-to-a-page-without-a-team\">\n<p class=\"msq-question\">5. What does the description file for a page&#8217;s blocks have to name?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">The five quiz questions with their sources, the numbers the chart draws, and the checklist or chooser<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">The page&#8217;s word count and reading level<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The colours of the site&#8217;s theme<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>One short file carries the questions with their sources, the chart&#8217;s numbers and the tool; a script validates it, draws the chart and writes the three blocks into the page beside the sections they belong to. <a class=\"msq-section\" href=\"#how-do-you-add-all-of-this-to-a-page-without-a-team\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { box.addEventListener('toggle', function(){ if (box.open) { track('quiz_open', { mode: 'pre' }); } }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-engagement-actually-measure\">What does engagement actually measure?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Google Analytics counts a session as engaged when it <a href=\"https:\/\/support.google.com\/analytics\/answer\/12195621\" target=\"_blank\" rel=\"noopener\">lasts longer than 10 seconds, has a key event, or has two or more page views<\/a>, and it counts engagement time only while your page is the tab in focus, as its <a href=\"https:\/\/support.google.com\/analytics\/answer\/11109416\" target=\"_blank\" rel=\"noopener\">definition of user engagement<\/a> spells out. A visitor who opens your article, switches tabs and forgets about it contributes nothing. That is the metric this page is about: seconds with the page in front of a person.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The reason engagement time runs short is that people do not read webpages, they scan them. Kate Moran&#8217;s <a href=\"https:\/\/www.nngroup.com\/articles\/how-people-read-online\/\" target=\"_blank\" rel=\"noopener\">eyetracking review for Nielsen Norman Group<\/a> found that reading a whole page, or even most of it, is extremely rare; eyes jump between headings, bold words and the first lines of paragraphs. So the job is not to make people read more. It is to give a scanner a reason to stay and a listener a way to stay without reading at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-does-a-spoken-version-keep-people-on-the-page-longer\">Why does a spoken version keep people on the page longer?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because listening is the one way to take in a long page without doing the work of reading it. The <a href=\"https:\/\/beyondwords.io\/blog\/audio-engagement-report-2023\/\" target=\"_blank\" rel=\"noopener\">BeyondWords Audio Engagement Report<\/a>, published in January 2023 from 17 million plays through its player, puts the average listen at 3 minutes 45 seconds, 59 percent of the file, with 58 percent of listens on phones. Only 4.19 percent of visitors pressed play, which is the honest half of the statistic: audio changes the behaviour of a minority, and it changes it a lot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two practitioner pieces prompted this article. <a href=\"https:\/\/speechactors.com\/article\/improving-seo-with-audio-the-role-of-tts\" target=\"_blank\" rel=\"noopener\">Speechactors<\/a> reports bounce rates falling by up to 20 percent and a media site gaining 22 percent time on page after adding text to speech, attributing the first figure to a SEMrush study it does not link, and <a href=\"https:\/\/jordinbrouwer.nl\/articles\/boosting-seo-with-text-to-speech\/\" target=\"_blank\" rel=\"noopener\">Jordin Brouwer&#8217;s guide<\/a> makes the case for reach, voice search and dwell time without citing a study at all. Both are worth reading for their tips on writing for the ear: short sentences, headings, conversational phrasing, a transcript beside the player. Treat their percentages as claims. The BeyondWords figure is the one with a data set behind it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One thing audio will not do is earn you a rich result. Google&#8217;s <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/speakable\" target=\"_blank\" rel=\"noopener\">speakable markup<\/a> is in beta, limited to news publishers, and used by Google Home devices in the United States. What a recording can carry is an <a href=\"https:\/\/schema.org\/AudioObject\" target=\"_blank\" rel=\"noopener\">AudioObject<\/a> schema describing the file, its duration and its chapters. Ours carries one. It earns nothing today, and we added it because it is the truthful description of what is on the page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/headphones-use-ai-to-improve-engagement-on-webpages.jpg\" alt=\"Headphones rest on a notebook as creators use ai to improve engagement on your webpages with audio.\" class=\"wp-image-706\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/headphones-use-ai-to-improve-engagement-on-webpages.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/headphones-use-ai-to-improve-engagement-on-webpages-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/headphones-use-ai-to-improve-engagement-on-webpages-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/headphones-use-ai-to-improve-engagement-on-webpages-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Adding high-quality spoken audio makes your written content accessible to more readers.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-build-the-audio-with-ai-for-under-40-cents-a-page\">How do you build the audio with AI for under 40 cents a page?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Google Cloud Text to Speech has a tier for every budget, and the prices are public. The figures below are as listed on its <a href=\"https:\/\/cloud.google.com\/text-to-speech\/pricing\" target=\"_blank\" rel=\"noopener\">pricing page<\/a> on 24 September 2026, with spaces counted as characters; the last column is the arithmetic for a 13,000 character article, which is the average across our pages once the quiz, the FAQ and the captions are left out.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Voice tier<\/th><th>Price per million characters<\/th><th>Free each month<\/th><th>One 13,000 character article<\/th><\/tr><\/thead><tbody><tr><td>Standard<\/td><td>$4<\/td><td>4 million<\/td><td>about 5 cents<\/td><\/tr><tr><td>WaveNet<\/td><td>$4<\/td><td>4 million<\/td><td>about 5 cents<\/td><\/tr><tr><td>Neural2<\/td><td>$16<\/td><td>1 million<\/td><td>about 21 cents<\/td><\/tr><tr><td>Chirp 3 HD<\/td><td>$30<\/td><td>1 million<\/td><td>about 39 cents<\/td><\/tr><tr><td>Studio<\/td><td>$160<\/td><td>1 million<\/td><td>about $2.10<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">getAIwork uses Chirp 3 HD, one voice chosen to match the byline. The script builds a spoken version of the page rather than reading the HTML: it opens every section by speaking its heading, reads tables row by row against their header, and leaves out the FAQ, the captions and the quiz. It records one sentence per request and keeps every clip under a name made from the words it speaks. Google&#8217;s <a href=\"https:\/\/docs.cloud.google.com\/text-to-speech\/docs\/chirp3-hd\" target=\"_blank\" rel=\"noopener\">supported SSML list for these voices<\/a> has no mark element, so the length of each clip is the only exact timing there is. A later edit re-records only the sentences that changed and stitches the file back together, so fixing one word costs a fraction of a cent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The player is where the engagement happens. Under the answer paragraph sits a chapter list with a play button per heading, and another beside every heading in the body. Once the player scrolls out of view a small pill offers to listen; on play it becomes a bar at the foot of the screen with play, pause, the chapter, the time and a speed of 1x, 1.25x or 1.5x that the phone remembers. The sentence being spoken is highlighted and kept in view, unless the reader scrolled in the last two and a half seconds, in which case the page leaves them alone. Tapping any sentence starts the reading there.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-a-quiz-do-that-a-summary-cannot\">What does a quiz do that a summary cannot?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A summary tells a scanner what the page says. A quiz asks whether they got it, and a wrong answer is the moment a person actually reads a paragraph. <a href=\"https:\/\/www.riddle.com\/blog\/news-reviews\/2025-quiz-marketing-report\/\" target=\"_blank\" rel=\"noopener\">Riddle&#8217;s 2025 Quiz Marketing Report<\/a>, published in March 2026 from 8.96 billion data points over a year on its own platform, puts the average time on a quiz at 2 minutes 48 seconds against 54 seconds for a standard article, with 73.4 percent of starts reaching the result. It is vendor data about vendor customers, so read it as a ceiling rather than a promise; it still describes a behaviour worth borrowing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ours sits collapsed under the answer paragraph so it never gets in the way, and a second button at the end of the article offers it to the people who finished. Five questions, each tied to one section. A wrong answer shows a two sentence explanation with the source linked and a jump back to the section it came from. The result offers the starter kit by email and nothing else. On this site a question tests what a vendor&#8217;s own page or the board data says on a stated date, never anything about the reader&#8217;s own money. A quiz that flatters is a quiz nobody learns from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would rather do AI work than build AI pipelines, the <a href=\"https:\/\/getaiwork.com\/?h=default&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=use-ai-to-improve-engagement-on-your-webpages\">eight step match on getAIwork<\/a> asks the questions in the other direction and shows which listings on the board fit your background.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2.png\" alt=\"Bar chart of seconds per visit: a quiz or audio helps use AI to improve engagement on your webpages.\" class=\"wp-image-726\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2.png 1600w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2-300x169.png 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2-1024x576.png 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2-768x432.png 768w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/use-ai-to-improve-engagement-on-your-webpages-chart-2-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Seconds a visitor stays, as reported by BeyondWords across 17 million plays (January 2023) and by Riddle across a year of its quizzes (March 2026). Vendor figures, not a controlled comparison.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"when-is-a-chart-or-a-tool-worth-more-than-more-words\">When is a chart or a tool worth more than more words?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A scanner stops at a shape. The chart on each page is drawn by a script from numbers already in the article, a bar chart or a timeline, with the source in the caption and nothing decorative about it. When an article has no numbers worth drawing, it gets no chart, because a graph of nothing teaches a reader to skip graphs. The <a href=\"https:\/\/getaiwork.com\/articles\/ai-training-platforms-hiring-now\/\">platforms page<\/a> carries a timeline of the intake closures it documents, the <a href=\"https:\/\/getaiwork.com\/articles\/anthropic-jobs\/\">Anthropic jobs page<\/a> carries its postings by department, and this page carries the seconds from the two reports above.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The tool is the thing a reader takes away: a checklist whose ticks are saved on the reader&#8217;s own device, a chooser that restates the article&#8217;s table for the reader&#8217;s situation, or a log to fill in over a week. What a tool must never do here is project income, or anything a calculator could turn into a promise. There is no earnings calculator on getAIwork and there never will be, because the honest version prints &#8220;it depends&#8221; and the dishonest version is a compliance case with a payment processor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The cheapest element of all is one sentence. Under the answer paragraph, a line beginning &#8220;On this page:&#8221; names what the page adds in its own terms: the dated count, the table compiled from primary sources, the accounts from people who did the thing. A scanner decides inside five seconds whether to stay, and that line is the five seconds.<\/p>\n\n\n\n<div class=\"msq-tool msq-choose\" data-id=\"engagement-first-element\">\n<h3>Which element should your page get first?<\/h3>\n<p>Pick the sentence that describes the page. The answer restates the table on this page, nothing more.<\/p>\n<label><input type=\"radio\" name=\"engagement-first-element\" value=\"a\">It explains something long and people leave early<\/label>\n<label><input type=\"radio\" name=\"engagement-first-element\" value=\"b\">It answers a question with numbers<\/label>\n<label><input type=\"radio\" name=\"engagement-first-element\" value=\"c\">It walks the reader through a process<\/label>\n<label><input type=\"radio\" name=\"engagement-first-element\" value=\"d\">Readers skim and never reach the end<\/label>\n<div class=\"msq-choice-result\" data-for=\"a\" hidden><strong>Audio with read along.<\/strong> A listener stays without reading, and the minority who press play stay for minutes rather than seconds. About 39 cents a page on Chirp 3 HD once the free million characters a month are used.<\/div>\n<div class=\"msq-choice-result\" data-for=\"b\" hidden><strong>A built chart.<\/strong> Draw it from the numbers already on the page with the source in the caption. It costs nothing and a scanner stops at a shape; if the page has no numbers worth drawing, skip it.<\/div>\n<div class=\"msq-choice-result\" data-for=\"c\" hidden><strong>A checklist.<\/strong> Ticks saved on the reader&#8217;s own device, one item per step the page describes, and never a figure the page cannot back.<\/div>\n<div class=\"msq-choice-result\" data-for=\"d\" hidden><strong>A five question quiz.<\/strong> One question per section with the explanation and the source, collapsed under the answer so it never gets in the way, and offered again at the end.<\/div>\n<p class=\"msq-note\">Every option is a page element described in the table above; none of them promises a number for your site.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-add-all-of-this-to-a-page-without-a-team\">How do you add all of this to a page without a team?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With scripts that read the page and write the blocks, so a person only decides what goes in. A short description file names the five quiz questions with their sources, the numbers the chart draws, and the checklist or chooser. One script validates it, draws the chart, and writes the quiz, the chart and the tool into the page beside the sections they belong to, as plain HTML and JavaScript inside the post, so they run on an ordinary shared host with no plugin. A second script builds the spoken version, records it one sentence at a time, keeps the clips, uploads the file and inserts the player with its chapter index. A third fetches the live page and checks that the schema parses, the scripts run and every source still resolves. Adding all four to an existing page takes a few minutes of machine time and costs about 40 cents, nearly all of it the voice.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Element<\/th><th>What it adds<\/th><th>Cost per article<\/th><th>Evidence, with its source<\/th><\/tr><\/thead><tbody><tr><td>Audio with read along<\/td><td>A way to stay without reading<\/td><td>About 39 cents on Chirp 3 HD<\/td><td>3:45 average listen, BeyondWords, 17 million plays<\/td><\/tr><tr><td>Five question quiz<\/td><td>A reason to reread one paragraph<\/td><td>Nothing, a script<\/td><td>2:48 on a quiz against 54 s on an article, Riddle<\/td><\/tr><tr><td>Built chart<\/td><td>A shape a scanner stops at<\/td><td>Nothing, drawn locally<\/td><td>Scanning patterns, Nielsen Norman Group<\/td><\/tr><tr><td>Checklist or chooser<\/td><td>Something to take away<\/td><td>Nothing, a script<\/td><td>No published figure; count your own events<\/td><\/tr><tr><td>Three planned photos<\/td><td>A page that reads as made for it<\/td><td>About 21 cents<\/td><td>Contact sheet review, no figure claimed<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"msq-tool msq-check\" data-id=\"engagement-page-checklist\" data-verb=\" in place\">\n<h3>The engagement build, one page at a time<\/h3>\n<p>The ten things a finished page carries on getAIwork, in the order they go in. Tick them off for a page of your own.<\/p>\n<label><input type=\"checkbox\">The answer to the title in the first sentence, 40 to 60 words, dated where a number is involved.<\/label>\n<label><input type=\"checkbox\">A one line hook under it naming what the page adds in its own terms.<\/label>\n<label><input type=\"checkbox\">Headings phrased as the questions people ask, each one answerable.<\/label>\n<label><input type=\"checkbox\">At least two real external sources linked at the point of claim, and every named authority linked.<\/label>\n<label><input type=\"checkbox\">One comparison table compiled from those sources.<\/label>\n<label><input type=\"checkbox\">A chart drawn from the page&#8217;s own numbers, or none at all.<\/label>\n<label><input type=\"checkbox\">One tool the reader can use: a checklist, a chooser or a log.<\/label>\n<label><input type=\"checkbox\">A five question quiz tied to the sections, with the source in every explanation.<\/label>\n<label><input type=\"checkbox\">A recording with chapters, read along and a play button beside every heading.<\/label>\n<label><input type=\"checkbox\">Events on every block and a dated baseline to compare against.<\/label>\n<p class=\"msq-check-count\"><\/p>\n<p class=\"msq-note\">Ticks are saved on this device only. A page can carry all ten and still be dull; the list is the floor, not the ceiling.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-if-you-want-to-do-ai-work-rather-than-build-ai-pipeline\">What if you want to do AI work rather than build AI pipelines?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most people reading this do not want to build audio pipelines for a living. They want to get AI to work for them in the job they already have, or to find AI work they can be paid for. That is what getAIwork teaches, and since it is my own product, read the next paragraph as the pitch it is.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Learn: twenty minute daily lessons on getting AI to work for you, prompting, checking and delivering, built by someone whose AI scans thousands of job posts a week and still has a human approve every one. Prove: a certificate graded on real projects, not a multiple choice recap that no employer asked for. Earn: the <a href=\"https:\/\/getaiwork.com\/board\/\">work board<\/a>, which is free and public with no signup, held 1,646 live listings on 25 September 2026, 263 of them marked beginner, every one screened by a person after my scanner. Pay on the board is shown only as the poster listed it, and nothing here is a promise of earnings.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/tablet-use-ai-to-improve-engagement-on-webpages.jpg\" alt=\"A man relaxes in an armchair, exploring how to use ai to improve engagement on your webpages.\" class=\"wp-image-707\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/tablet-use-ai-to-improve-engagement-on-webpages.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/tablet-use-ai-to-improve-engagement-on-webpages-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/tablet-use-ai-to-improve-engagement-on-webpages-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/tablet-use-ai-to-improve-engagement-on-webpages-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Many remote tasks require only a comfortable seat and a mobile device.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Answer eight questions and the page shows which of those listings fit your background, then what to learn first to be ready for them.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/getaiwork.com\/?h=default&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=use-ai-to-improve-engagement-on-your-webpages\">Get matched to AI work on the board<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If you came here for the engineering rather than the work, the <a href=\"https:\/\/getaiwork.com\/articles\/how-to-learn-ai\/\">guide to learning AI<\/a> is the plain route in, and the platforms page shows every block described above running on a page you can press.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does adding audio to a page help it rank on Google?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Not directly, and nobody should tell you otherwise. Google&#8217;s speakable markup is a beta limited to news publishers, and engagement time is a measure of readers, not a documented ranking input. Audio earns its place by keeping the minority who press play on the page for minutes rather than seconds, and by serving people who cannot read the page at all.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What happens to the read along on a phone?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The same as on a laptop. The sentence being spoken is highlighted and kept in view, the bar at the foot of the screen carries play, pause, the chapter and the speed, and a tap on any sentence starts the reading there. If the reader scrolls away the page stops following for a few seconds and then resumes.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do you need a developer to add these blocks to a page?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>You need someone to set the scripts up once. After that a short description of the quiz, the chart and the tool is all a page needs, and a script turns it into plain HTML and JavaScript inside the post. Nothing runs on the server, no plugin is installed, and a shared WordPress host carries it without complaint.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How much does it cost to add all four to a page?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>In API fees, under a dollar. The recording is about 39 cents on Chirp 3 HD for a 13,000 character page once the free million characters each month are used, three generated images are about 7 cents each, and the chart and the blocks cost nothing because they are drawn and written locally.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is machine narration acceptable for accessibility?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>It is an addition, not a substitute. The written page stays the primary version, the audio is described by an AudioObject schema, and a screen reader user keeps every heading, table and link exactly as before. What the recording adds is a way for anyone to take the page in without reading it, at a speed they choose.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Which AI models does getAIwork use for this?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Google Cloud Text to Speech supplies the Chirp 3 HD voice, recorded one sentence at a time so the page can highlight each sentence as it is spoken and a later edit re-records only the sentences that changed. A Gemini image model renders the three photographs from written briefs. The quiz, the chart and the tools are plain HTML and JavaScript written by a script from a short description file, with no model involved at all.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Platform statuses and listed pay change without notice. Pay figures are quoted only as listed by the poster on the date shown and are never a promise of earnings. This page was verified on the date shown and is rechecked on the weekly refresh.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A spoken version with read along, a five question quiz, a chart and a tool, with the evidence behind each and what each one costs.<\/p>\n","protected":false},"author":2,"featured_media":705,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"How to Use AI to Improve Engagement on Your Webpages","rank_math_description":"Four things AI can add to a page so readers stay: a spoken version with read along, a quiz tied to the sections, a chart and a tool. Costs and evidence.","rank_math_focus_keyword":"use ai to improve engagement on your webpages","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[6],"tags":[],"class_list":["post-708","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-tools"],"_links":{"self":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/comments?post=708"}],"version-history":[{"count":10,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/708\/revisions"}],"predecessor-version":[{"id":729,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/708\/revisions\/729"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media\/705"}],"wp:attachment":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media?parent=708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/categories?post=708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/tags?post=708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}