CINXE.COM
The Global AI Index - Tortoise
<!doctype html> <html lang="en-GB" prefix="og: http://ogp.me/ns#"> <head> <style> /* We use this to determine what we should to logged in versus logged out users For example, the actual log in and log out buttons, a my account link, and subscribe call to actions */ [data-show-logged-in], [data-show-logged-out] { display: none !important; } [data-logged-in=true] [data-show-logged-in] { display: inline-block !important; } [data-logged-out=true] [data-show-logged-out] { display: inline-block !important; } /* We use this to show sample content versus premium content in conjunction with the paywall */ [data-show-subs-blocked], [data-show-has-noaccess], [data-show-has-access] { display: none !important; } [data-subs-blocked=true] [data-show-subs-blocked] { display: block !important; } [data-has-access=true] [data-show-has-access] { display: block !important; } [data-has-access=false] [data-show-has-noaccess] { display: block !important; } /* We use this show that we can show different content on a page before and after the complete a checkout <div data-show-checkout-incomplete>Please Join Us<button>Subscribe</button></div> <div data-show-checkout-complete>Welcome! We love you!</div> */ [data-show-checkout-complete] { display: none !important; } [data-checkout-complete=true] [data-show-checkout-complete] { display: inline-block !important; } [data-checkout-complete=true] [data-show-checkout-incomplete] { display: none !important; } [data-has-access=false] [data-show-fade-on-noaccess]{ overflow: hidden; position: relative; margin-bottom: 20px; mix-blend-mode: hard-light; } [data-has-access=false] [data-show-fade-on-noaccess]:before { content: ''; background: linear-gradient(transparent, gray); display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; } .pp-subs iframe { width: 100% !important; } </style> <meta property="pugpig:version" content="2.54.0 (Pugpig Site 1.48.0)" /> <meta property="pugpig:generated" content="2024-11-27 13:12:32" /> <link rel="manifest" href="https://members.tortoisemedia.com/manifest.json"> <meta name="apple-itunes-app" content="app-id=1441428990, app-argument=com.tortoisemedia.tortoise://members.tortoisemedia.com"> <title>The Global AI Index - Tortoise</title> <meta name='robots' content='max-image-preview:large' /> <meta property="pugpig:access" content="free"> <meta property="pugpig:access:piano:rid" content="RRXGR9Q"> <meta property="pugpig:access:piano:form" content="ExtendedPropertiesFields"> <meta property="pugpig:access:variables" name="cXenseParse:post-type" content="page"><meta name="tag" property="pugpig:tag" content="posttype-page"/> <meta name="tag" property="pugpig:tag" content="access-free"/> <!-- This site is optimized with the Yoast SEO Premium plugin v9.5 - https://yoast.com/wordpress/plugins/seo/ --> <link rel="canonical" href="https://www.tortoisemedia.com/intelligence/global-ai/" /> <meta property="og:locale" content="en_GB" /> <meta property="og:type" content="article" /> <meta property="og:title" content="The Global AI Index - Tortoise" /> <meta property="og:description" content="Intelligence | Global AI Index The Global AI Index 2024 The first index to benchmark nations on their level of implementation, innovation and investment in artificial intelligence. Making sense of artificial intelligenceon a global scale In the past twelve months, the UK gathered international governments for the first AI safety summit, Europe passed the first …" /> <meta property="og:url" content="https://www.tortoisemedia.com/intelligence/global-ai/" /> <meta property="og:site_name" content="Tortoise" /> <meta property="og:image" content="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2021/02/global-ai.jpg" /> <meta property="og:image:secure_url" content="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2021/02/global-ai.jpg" /> <meta property="og:image:width" content="1600" /> <meta property="og:image:height" content="800" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:description" content="Intelligence | Global AI Index The Global AI Index 2024 The first index to benchmark nations on their level of implementation, innovation and investment in artificial intelligence. Making sense of artificial intelligenceon a global scale In the past twelve months, the UK gathered international governments for the first AI safety summit, Europe passed the first […]" /> <meta name="twitter:title" content="The Global AI Index - Tortoise" /> <meta name="twitter:image" content="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2021/02/global-ai.jpg" /> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//experience.tinypass.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel='stylesheet' id='pugpig-piano-css' href='https://www.tortoisemedia.com/wp-content/plugins/pugpig-site-piano/styles/pugpig-piano.css?ver=6.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='wp-block-library-css' href='https://www.tortoisemedia.com/wp-includes/css/dist/block-library/style.min.css?ver=6.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='pugpig-blocks-css' href='https://www.tortoisemedia.com/wp-content/plugins/pugpig-blocks/build/blocks.style-490f85305d43c1273736.css?ver=6.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='pugpig-tortoise-block-styles-css' href='https://www.tortoisemedia.com/wp-content/plugins/pugpig-tortoise-blocks/styles/style-ef127b.css?ver=6.0.6' type='text/css' media='all' /> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--kelp: #006666;--wp--preset--color--lettuce: #DCE459;--wp--preset--color--dandelion: #FFE051;--wp--preset--color--sand: #E1B672;--wp--preset--color--midnight: #002850;--wp--preset--color--water: #CEE3F2;--wp--preset--color--hibernate: #000000;--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;--wp--preset--color--mouse: #F8F0E6;--wp--preset--color--grey-tint: #EBEBEB;--wp--preset--color--border: #B8B8B8;--wp--preset--color--berry: #E04600;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 1.125rem;--wp--preset--font-size--medium: 1.25rem;--wp--preset--font-size--large: 1.5rem;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 1.25rem;}p{--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;}h1,h2,h3,h4,h5,h6{--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;}ol,ul{--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;}.wp-block-table > table{--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;}.wp-block-media-text{--wp--preset--color--shadow: #333333;--wp--preset--color--grey-text: #666666;}body { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-kelp-color{color: var(--wp--preset--color--kelp) !important;}.has-lettuce-color{color: var(--wp--preset--color--lettuce) !important;}.has-dandelion-color{color: var(--wp--preset--color--dandelion) !important;}.has-sand-color{color: var(--wp--preset--color--sand) !important;}.has-midnight-color{color: var(--wp--preset--color--midnight) !important;}.has-water-color{color: var(--wp--preset--color--water) !important;}.has-hibernate-color{color: var(--wp--preset--color--hibernate) !important;}.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}.has-mouse-color{color: var(--wp--preset--color--mouse) !important;}.has-grey-tint-color{color: var(--wp--preset--color--grey-tint) !important;}.has-border-color{color: var(--wp--preset--color--border) !important;}.has-berry-color{color: var(--wp--preset--color--berry) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-kelp-background-color{background-color: var(--wp--preset--color--kelp) !important;}.has-lettuce-background-color{background-color: var(--wp--preset--color--lettuce) !important;}.has-dandelion-background-color{background-color: var(--wp--preset--color--dandelion) !important;}.has-sand-background-color{background-color: var(--wp--preset--color--sand) !important;}.has-midnight-background-color{background-color: var(--wp--preset--color--midnight) !important;}.has-water-background-color{background-color: var(--wp--preset--color--water) !important;}.has-hibernate-background-color{background-color: var(--wp--preset--color--hibernate) !important;}.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}.has-mouse-background-color{background-color: var(--wp--preset--color--mouse) !important;}.has-grey-tint-background-color{background-color: var(--wp--preset--color--grey-tint) !important;}.has-border-background-color{background-color: var(--wp--preset--color--border) !important;}.has-berry-background-color{background-color: var(--wp--preset--color--berry) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-kelp-border-color{border-color: var(--wp--preset--color--kelp) !important;}.has-lettuce-border-color{border-color: var(--wp--preset--color--lettuce) !important;}.has-dandelion-border-color{border-color: var(--wp--preset--color--dandelion) !important;}.has-sand-border-color{border-color: var(--wp--preset--color--sand) !important;}.has-midnight-border-color{border-color: var(--wp--preset--color--midnight) !important;}.has-water-border-color{border-color: var(--wp--preset--color--water) !important;}.has-hibernate-border-color{border-color: var(--wp--preset--color--hibernate) !important;}.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;}.has-mouse-border-color{border-color: var(--wp--preset--color--mouse) !important;}.has-grey-tint-border-color{border-color: var(--wp--preset--color--grey-tint) !important;}.has-border-border-color{border-color: var(--wp--preset--color--border) !important;}.has-berry-border-color{border-color: var(--wp--preset--color--berry) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}p.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}p.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}p.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}p.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}p.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}p.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;}h1.has-shadow-color,h2.has-shadow-color,h3.has-shadow-color,h4.has-shadow-color,h5.has-shadow-color,h6.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}h1.has-grey-text-color,h2.has-grey-text-color,h3.has-grey-text-color,h4.has-grey-text-color,h5.has-grey-text-color,h6.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}h1.has-shadow-background-color,h2.has-shadow-background-color,h3.has-shadow-background-color,h4.has-shadow-background-color,h5.has-shadow-background-color,h6.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}h1.has-grey-text-background-color,h2.has-grey-text-background-color,h3.has-grey-text-background-color,h4.has-grey-text-background-color,h5.has-grey-text-background-color,h6.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}h1.has-shadow-border-color,h2.has-shadow-border-color,h3.has-shadow-border-color,h4.has-shadow-border-color,h5.has-shadow-border-color,h6.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}h1.has-grey-text-border-color,h2.has-grey-text-border-color,h3.has-grey-text-border-color,h4.has-grey-text-border-color,h5.has-grey-text-border-color,h6.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;}ol.has-shadow-color,ul.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}ol.has-grey-text-color,ul.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}ol.has-shadow-background-color,ul.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}ol.has-grey-text-background-color,ul.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}ol.has-shadow-border-color,ul.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}ol.has-grey-text-border-color,ul.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;}.wp-block-table > table.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}.wp-block-table > table.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}.wp-block-table > table.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}.wp-block-table > table.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}.wp-block-table > table.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}.wp-block-table > table.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;}.wp-block-media-text.has-shadow-color{color: var(--wp--preset--color--shadow) !important;}.wp-block-media-text.has-grey-text-color{color: var(--wp--preset--color--grey-text) !important;}.wp-block-media-text.has-shadow-background-color{background-color: var(--wp--preset--color--shadow) !important;}.wp-block-media-text.has-grey-text-background-color{background-color: var(--wp--preset--color--grey-text) !important;}.wp-block-media-text.has-shadow-border-color{border-color: var(--wp--preset--color--shadow) !important;}.wp-block-media-text.has-grey-text-border-color{border-color: var(--wp--preset--color--grey-text) !important;} </style> <link rel='stylesheet' id='pugpig-social-widgets-css' href='https://www.tortoisemedia.com/wp-content/plugins/pugpig-socialmedia-widget/assets/css/style.css?ver=6.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='tortoise-web-css' href='https://www.tortoisemedia.com/wp-content/themes/pugpig-tortoise-theme/styles/web-2e9f13.css?ver=6.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='tortoise-main-css' href='https://www.tortoisemedia.com/wp-content/themes/pugpig-tortoise-theme/styles/main-2e9f13.css?ver=6.0.6' type='text/css' media='all' /> <script> var gaCrossDomainLinkingID = 'UA-126315606-1'; </script> <script type='text/javascript' src='https://experience.tinypass.com/xbuilder/experience/load?aid=4uG4S202Dt' id='piano-js'></script> <script type='text/javascript' src='https://www.tortoisemedia.com/wp-content/plugins/pugpig-site-piano/scripts/pugpig-piano.js?ver=6.0.6' id='pugpig-piano-js'></script> <script type='text/javascript' src='https://www.tortoisemedia.com/wp-content/plugins/pugpig-tortoise-blocks/scripts/footnotes.js?ver=6.0.6' id='pugpig-tortoise-footnote-block-js'></script> <!-- Google Tag Manager Data Layer --> <script> dataLayer = [{ "title": "The Global AI Index", "type": "page", "content": "webpage", "content_id": "post_171553" }] </script> <!-- End Google Tag Manager Data Layer --> <!-- Google Tag Manager initialisation --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TZK42K8'); </script> <!-- End Google Tag Manager initialisation --> <meta name="viewport" content="width=device-width, initial-scale=1"><script type="text/javascript"> document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; var setNptTechAdblockerCookie = function(adblocker) { var d = new Date(); d.setTime(d.getTime() + 60 * 5 * 1000); document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; }; var script = document.createElement("script"); script.setAttribute("async", true); script.setAttribute("src", "//www.npttech.com/advertising.js"); script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); document.getElementsByTagName("head")[0].appendChild(script); </script><script> (function(w,d,u,t,o,c){w['dmtrackingobjectname']=o;c=d.createElement(t);c.async=1;c.src=u;t=d.getElementsByTagName (t)[0];t.parentNode.insertBefore(c,t);w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments);}; })(window, document, '//static.trackedweb.net/js/_dmptv4.js', 'script', 'dmPt'); window.dmPt('create', 'DM-8993812846-01', 'tortoisemedia.com'); window.dmPt('track'); </script> <meta name=“zoom-domain-verification” content=“ZOOM_verify_25OwHX0OPs32y98pRRFVug”> <link rel="icon" href="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2019/01/favicon-64x64.png" sizes="32x32" /> <link rel="icon" href="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2019/01/favicon-64x64.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2019/01/favicon-64x64.png" /> <meta name="msapplication-TileImage" content="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2019/01/favicon-64x64.png" /> <style type="text/css" id="wp-custom-css"> .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { width: 100%; } @media only screen and (min-width: 1360px){ .tm-article--whitepaper .pp-content__body.pp-subs__post-end { margin-top: -130px; } } @media only screen and (max-width: 780px){ .wp-block-media-text .wp-block-media-text__content { margin: 0 16px; } } .tm-article--thinkin__partner-logo-image img { height: auto; margin-top: 15px; } .tm-event-trail__author-images.wp-block-gallery .blocks-gallery-grid { width: auto; } </style> <script> const isApp = function() { return window.location.protocol.search(/http(s)?/) !== -1 ; } const piano = () => { console.log("in piano function"); tp = window['tp'] || [] //setting id domain - this should be dynamic it should come from meta tag tp.push(['setPianoIdUrl',"https://id.tinypass.com/"]); // Information on the cookies here: // https://docs.piano.io/piano-cookie-descriptions/ tp.push(["setMaxCookieExpirationInDays", 365]); // Callbacks here: https://docs.piano.io/callbacks/ tp.push(["addHandler", "registrationSuccess", onRegistrationSuccess]); tp.push(["addHandler", "showOffer", onShowOffer]); tp.push(["addHandler", "checkoutComplete", onCheckoutComplete]); tp.push(["addHandler", "checkoutClosed", onCheckoutClosed]); tp.push(["addHandler", "checkoutSelectTerm", onCheckoutSelectTerm]); tp.push(["addHandler", "checkoutStateChange", onCheckoutStateChange]); tp.push(["addHandler", "startCheckout", onStartCheckout]); tp.push(["addHandler", "submitPayment", onSubmitPayment]); /* user login events */ tp.push(["addHandler", "loginSuccess", setUserState]); tp.push(["addHandler", "loginFailed", setUserState]); tp.push(['init', init]); sendPianoData(); setupMeters(); function pushEventToDataLayer(eventName, data) { if (typeof dataLayer !== 'undefined') { dataLayer.push({event: 'piano_' + eventName, data: data}); } } function crossLinkGA() { // https://docs.piano.io/integrating-with-google-analytics/ // This MUST include the correct GA ID // An item gaCrossDomainLinkingID must be pushed to the Data Layer via GTM or Site dataLayer.push({'gaCrossDomainLinkingID':'UA-126315606-1'}); if (typeof window.gaCrossDomainLinkingID === 'undefined') { if (typeof dataLayer !== 'undefined') { var el = dataLayer.find(element => element.gaCrossDomainLinkingID !== 'undefined'); var gaCrossDomainLinkingID = el.gaCrossDomainLinkingID; console.log('%c Piano GA Cross Domain Linking', 'background: #222; color: #bada55', '(From data layer)', gaCrossDomainLinkingID); } } else { var gaCrossDomainLinkingID = window.gaCrossDomainLinkingID; console.log('%c Piano GA Cross Domain Linking', 'background: #222; color: #bada55', '(From settings)', gaCrossDomainLinkingID); } if (typeof gaCrossDomainLinkingID !== 'undefined') { tp.enableGACrossDomainLinking(gaCrossDomainLinkingID); if (tp.gaClientId) { console.log('%c Piano GA Cross Domain Linking', 'background: #222; color: green', 'Successfully linked', tp.gaClientId); } else { console.log('%c Piano GA Cross Domain Linking', 'background: #222; color: red', "Failed to link"); } } else { console.log('%c Piano GA Cross Domain Linking', 'background: #222; color: orange', "No gaCrossDomainLinkingID found"); } } function init() { crossLinkGA(); attachEventListeners(); tp.pianoId.registerCallback('extendedUserLoaded', function (user) { console.log('%c Piano User', 'background: #222; color: #cccccc', user); if (typeof dataLayer !== 'undefined') { dataLayer.push({'piano_user': user}); dataLayer.push({event: 'piano_user_updated'}); } // This is needed for triggering third party code such as Hyvor or Podcast.co var event = new CustomEvent("PianoUserLoaded", { detail: { user: user } }); window.dispatchEvent(event); }) if (!tp.pianoId.isUserValid() && fetchTokenFromQuery()) { tp.pianoId.loginByToken(fetchTokenFromQuery()); } // Set the initial logged in state setUserState(); // Check access: // https://docs.piano.io/checking-access/#check-access-js } function fetchTokenFromQuery() { let paramsString = window.location.search let searchParams = new URLSearchParams(paramsString) let token = searchParams.get("token") return token } function sendPianoData() { // If the content is native advertising tp.push(["setContentIsNative", false]); // The AAM Zone tp.push(["setZone", "Web"]); console.log('%cPiano', 'background: #222; color: #bada55', 'Loaded Piano object'); // Read some metadata from the head and send it to Piano so it can use it in an experience // !!!!!!!!!!!!! needs meta data in goody labs to know content is free or paid var accessMeta = document.querySelector("meta[property='pugpig:access']"); if (accessMeta) { var accessValue = accessMeta.getAttribute('content'); console.log('%c Piano setCustomVariable', 'background: #222; color: #bada55', 'PageAccess: ' + accessMeta.getAttribute('content')); tp.push(["setCustomVariable", "PageAccess", accessValue]); } // Push tags // Test via tp.tags var accessTagsMeta = document.querySelectorAll("meta[property='pugpig:tag']"); if (accessTagsMeta && accessTagsMeta.length > 0) { var tags = []; accessTagsMeta.forEach(item => { tags.push(item.getAttribute('content')); }) if (tags) { tp.push(["setTags", tags]); console.log('%cPiano setCustomTag', 'background: #222; color: #bada55', tags); } } // Push custom variables // Test via tp.customVariables var accessVariablessMeta = document.querySelectorAll("meta[property='pugpig:access:variables']"); if (accessVariablessMeta && accessVariablessMeta.length > 0) { accessVariablessMeta.forEach(item => { var n = item.getAttribute('name'); var c = item.getAttribute('content'); if (n && c) { tp.push(["setCustomVariable", n, c]); console.log('%cPiano setCustomVariable', 'background: #222; color: #bada55', n + ': ' + c); } }) } // Push author meta // Note that only one author can be passed for each page – arrays are not permitted. var accessAuthorMeta = document.querySelector("meta[name='author']"); if (accessAuthorMeta) { var accessAuthorValue = accessAuthorMeta.getAttribute('content'); console.log('%cPiano setContentAuthor', 'background: #222; color: #bada55', 'Author: ' + accessAuthorMeta.getAttribute('content')); tp.push(["setContentAuthor", accessAuthorValue]); } // Push section meta var accessSectionMeta = document.querySelector("meta[name='section']"); if (accessSectionMeta) { var accessSectionValue = accessSectionMeta.getAttribute('content'); console.log('%cPiano setContentSection', 'background: #222; color: #bada55', 'Section: ' + accessSectionMeta.getAttribute('content')); tp.push(["setContentSection", accessSectionValue]); } } function setUserAccess(access) { if (document.body.dataset.unknownAccess == "false" && document.body.dataset.hasAccess == "true") { console.log("User already granted access"); return; } document.body.dataset.unknownAccess = false; document.body.dataset.hasAccess = access; if (typeof dataLayer !== 'undefined') { if (access) { dataLayer.push({'has_access': true}); if (tp.pianoId.isUserValid()) { dataLayer.push({'authStatus': 'Active'}); dataLayer.push({event: 'auth_status_updated'}); } } else { if (tp.pianoId.isUserValid()) { dataLayer.push({'authStatus': 'Lapsed'}); dataLayer.push({event: 'auth_status_updated'}); } } } } function setupMeters() { // Docs here: // https://docs.piano.io/callbacks/#activeevent tp.push(["addHandler", "meterActive", function(meterData) { setUserAccess(true); console.log('%cPiano Allow Access', 'background: #222; color: #cccccc', "Meter" + name); var message = "You've seen " + meterData.views + " out of " + meterData.maxViews + " free articles. You have " + meterData.viewsLeft + " articles left."; console.log('%cPiano Meter', 'background: #222; color: #cccccc', message); var element = document.querySelector('#pp-subs-meter-active') if (element) { element.innerText = message; } }]); tp.push(["addHandler", "meterExpired", function(meterData){ var message = "Bad news! You've seen " + meterData.views + " out of " + meterData.maxViews + " free articles."; console.log('%cPiano Meter', 'background: #222; color: #cccccc', message); var element = document.querySelector('#pp-subs-meter-expired') if (element) { element.innerText = message; } }]); } function setUserState() { tp.pianoId.isUserValid() ? setUserLoggedIn() : setUserLoggedOut() // If we have the My Account Div or Reset Password Div, show it showStandardElements() } function onRegistrationSuccess(data) { pushEventToDataLayer('registrationSuccess', data); console.log('%cPiano', 'background: #222; color: #bada55', 'registrationSuccess', data); } function onCheckoutSelectTerm(data) { pushEventToDataLayer('checkoutSelectTerm', data); console.log('%cPiano', 'background: #222; color: #bada55', 'checkoutSelectTerm', data); } function onCheckoutStateChange(data) { pushEventToDataLayer('checkoutStateChange', data); console.log('%cPiano', 'background: #222; color: #bada55', 'checkoutStateChange', data); } function onShowOffer(data) { pushEventToDataLayer('showOffer', data); console.log('%cPiano', 'background: #222; color: #bada55', 'showOffer', data); } function onStartCheckout(data) { pushEventToDataLayer('startCheckout', data); console.log('%cPiano', 'background: #222; color: #bada55', 'startCheckout', data); } function onSubmitPayment(data) { pushEventToDataLayer('submitPayment', data); console.log('%cPiano', 'background: #222; color: #bada55', 'submitPayment', data); } function onCheckoutComplete(data) { pushEventToDataLayer('onCheckoutComplete', data); document.body.dataset.checkoutComplete = true console.log('%cPiano', 'background: #222; color: #bada55', 'checkoutComplete', data); setUserState(); } function onCheckoutClosed(data) { pushEventToDataLayer('onCheckoutClosed', data); setUserState(); console.log('%cPiano', 'background: #222; color: #bada55', 'checkoutClosed', data); } function setUserLoggedIn() { document.body.dataset.loggedIn = true document.body.dataset.loggedOut = false document.body.dataset.unknownAccess = true; console.log('%cPiano', 'background: #222; color: #bada55', 'setUserLoggedIn'); // Check that a user has access to elements if they are protected by a certain resource ID checkUserHasAccessToResource(); // This allows us to get the custom fields const params = {}; console.log('%cPiano', 'background: #222; color: #bada55', 'Using form ' + "ExtendedPropertiesFields"); params.formName = "ExtendedPropertiesFields"; tp.pianoId.loadExtendedUser(params) } function setUserLoggedOut() { document.body.dataset.loggedIn = false document.body.dataset.loggedOut = true document.body.dataset.hasAccess = false; document.body.dataset.checkoutComplete = false console.log('%cPiano', 'background: #222; color: #bada55', 'setUserLoggedOut'); } function checkUserHasAccessToResource() { // this resource id was taken from meta tag which was set from cms pugpig site piano configuration. for production it's RRXGR9Q const resource_id = 'RRXGR9Q' const params = { rid : resource_id }; const callback = function(response) { if (response.access && response.access.granted) { // the user has access console.log('%cPiano', 'background: #222; color: #bada55', 'userHasAccess: ' + resource_id + ' True'); setUserAccess(true); } else { // the user does not have access console.log('%cPiano', 'background: #222; color: #bada55', 'userHasAccess: ' + resource_id + ' False'); setUserAccess(false); } } tp.api.callApi("/access/check", params, callback); } function handlePianoState() { if(!tp.pianoId.isUserValid()) { return tp.pianoId.show({ loggedIn: setUserLoggedIn }) } tp.pianoId.logout() setUserLoggedOut() } function showStandardElements() { if (tp.pianoId.isUserValid()) { let element = document.querySelector('#pp-subs-myaccount-modal') if (element) { console.log('%c Piano', 'background: #123; color: green', 'Show My Account'); tp.myaccount.show({ displayMode: 'inline', containerSelector: '#pp-subs-myaccount-modal' }) } } let element = document.querySelector('#pp-subs-restorepassword-modal') if (element) { console.log('%cPiano', 'background: yellow; color: green', 'Show Restore Password'); tp.pianoId.show({ screen: 'restore', displayMode: 'inline', containerSelector: '#pp-subs-restorepassword-modal' }); } } function attachEventListeners() { var elements = ['#pp-subs-login','#pp-subs-logout'] for (var i = elements.length - 1; i >= 0; i--) { var element = document.querySelectorAll(elements[i]) if (element && element.length > 0) { element.forEach(item => { item.addEventListener('click', function(e) { e.stopPropagation() handlePianoState() }) }) } } } } piano() /* if(isApp()) { if (typeof window.tp !== 'undefined') { console.log("piano executes"); piano(); } else { console.log(window.tp); console.log("piano does not executes"); const siteBlocked = true; } } */ </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-40HLXGMEFS"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-40HLXGMEFS'); </script> </head> <body class="page-template-default page page-id-171553 page-child parent-pageid-227403 wp-custom-logo has-stone-tint-background-color"> <!-- Start Quantcast Tag --> <script type="text/javascript"> window._qevents = window._qevents || []; (function() { var elem = document.createElement('script'); elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; elem.async = true; elem.type = "text/javascript"; var scpt = document.getElementsByTagName('script')[0]; scpt.parentNode.insertBefore(elem, scpt); })(); window._qevents.push({ "qacct": "p-43Jm0v7LLkDPe", "labels": "_fp.event.PageView" }); </script> <!-- End Quantcast tag --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-dark-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0.49803921568627" /><feFuncG type="table" tableValues="0 0.49803921568627" /><feFuncB type="table" tableValues="0 0.49803921568627" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.54901960784314 0.98823529411765" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.71764705882353 0.25490196078431" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-red"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 0.27843137254902" /><feFuncB type="table" tableValues="0.5921568627451 0.27843137254902" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-midnight"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0" /><feFuncG type="table" tableValues="0 0.64705882352941" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-magenta-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.78039215686275 1" /><feFuncG type="table" tableValues="0 0.94901960784314" /><feFuncB type="table" tableValues="0.35294117647059 0.47058823529412" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-green"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.65098039215686 0.40392156862745" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.44705882352941 0.4" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-orange"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.098039215686275 1" /><feFuncG type="table" tableValues="0 0.66274509803922" /><feFuncB type="table" tableValues="0.84705882352941 0.41960784313725" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg> <script> if (typeof PugpigSiteSubsBlocked !== 'undefined' && PugpigSiteSubsBlocked === true) { document.body.dataset.subsBlocked = true; document.body.dataset.loggedIn = false; document.body.dataset.loggedOut = true; console.log('%cPugpig Subs', 'background: #222; color: #bada55', 'Blocked', true); } else { console.log('%cPugpig Subs', 'background: #222; color: #bada55', 'Blocked', false); } document.body.dataset.hasAccess = true; </script> <header class="tm-header" role="banner"> <div class="tm-header__wrapper"> <figure class="tm-header__logo"> <a href="/" title="Home"><img src="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2020/10/Tortoise_Wordmark_2020_RGB_no-white-space.svg" alt="Tortoise logo"></a> </figure> <button class="tm-header__button" aria-label="Toggle Menu"> <span></span> <span></span> <span></span> </button> <nav class="tm-header__navigation" aria-label="Main navigation" role="navigation"> <ul class="tm-header__account"> <li class="tm-header__account-button" id="pp-subs-login" tabindex="0" data-show-logged-out="">Sign in</li> <li class="tm-header__account-button" id="pp-subs-myaccount" tabindex="0" data-show-logged-in=""><a href="/profile">My Tortoise</a></li> <li class="tm-header__account-button tm-header__account-button--newsletters" id="pp-subs-myaccount" tabindex="0"><a href="/sensemakers/" class="usual-color">Newsletters</a></li> <li class="tm-header__account-button" id="pp-subs-logout" tabindex="0" data-show-logged-in="">Sign out</li> <li class="tm-header__account-button has-kelp-background-color has-white-color" id="pp-joinus" tabindex="0" data-show-logged-out=""><a href="/join-us/">Join us</a></li> </ul> <div class="menu-primary-menu-container"><ul id="menu-primary-menu" class="menu"><li id="menu-item-173539" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173539"><a href="https://www.tortoisemedia.com/read/">Read</a></li> <li id="menu-item-171592" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171592"><a href="https://www.tortoisemedia.com/listen/">Listen</a></li> <li id="menu-item-173604" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-173604"><a href="https://www.tortoisemedia.com/watch/">Watch</a></li> <li id="menu-item-174503" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-174503"><a href="https://www.tortoisemedia.com/book/">Book</a></li> <li id="menu-item-171372" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor menu-item-has-children menu-item-171372"><a href="#">More</a> <ul class="sub-menu"> <li id="menu-item-297830" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-297830"><a href="https://www.tortoisemedia.com/about-us/">About us</a> <ul class="sub-menu"> <li id="menu-item-171584" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171584"><a href="https://www.tortoisemedia.com/about-us/our-story/">What is Tortoise?</a></li> <li id="menu-item-171602" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171602"><a href="https://www.tortoisemedia.com/people/">Our people</a></li> <li id="menu-item-171583" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-171583"><a href="https://www.tortoisemedia.com/about-us/faqs/">FAQs</a></li> <li id="menu-item-297831" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-297831"><a href="https://www.tortoisemedia.com/policy/">Policy</a></li> <li id="menu-item-375590" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-375590"><a href="https://www.tortoisemedia.com/about-us/careers/">Careers</a></li> <li id="menu-item-175851" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175851"><a href="https://www.tortoisemedia.com/wdyt/">Contact us</a></li> </ul> </li> <li id="menu-item-346097" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-346097"><a href="https://www.tortoisemedia.com/?page_id=343458">Tortoise for Business</a> <ul class="sub-menu"> <li id="menu-item-368072" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-368072"><a href="https://www.tortoisemedia.com/content-studios/">Content Studios</a></li> <li id="menu-item-368074" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-368074"><a href="https://www.tortoisemedia.com/events-and-membership/">Events and Membership</a></li> <li id="menu-item-381659" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-381659"><a href="https://www.tortoisemedia.com/intelligence/ai-index-partner-with-us/">AI Opportunities</a></li> </ul> </li> <li id="menu-item-227663" class="menu-item menu-item-type-post_type menu-item-object-page current-page-ancestor current-menu-ancestor current-menu-parent current-page-parent current_page_parent current_page_ancestor menu-item-has-children menu-item-227663"><a href="https://www.tortoisemedia.com/intelligence/">Intelligence</a> <ul class="sub-menu"> <li id="menu-item-299265" class="menu-item menu-item-type-post_type menu-item-object-page current-page-ancestor current-page-parent menu-item-299265"><a href="https://www.tortoisemedia.com/intelligence/">Our Work</a></li> <li id="menu-item-297833" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-171553 current_page_item menu-item-297833"><a href="https://www.tortoisemedia.com/intelligence/global-ai/" aria-current="page">The Global AI Index</a></li> <li id="menu-item-351500" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-351500"><a href="https://www.tortoisemedia.com/intelligence/tortoiseairesponsiblity/">Tortoise AI Responsibility100</a></li> <li id="menu-item-297936" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-297936"><a href="https://www.tortoisemedia.com/intelligence/the-better-food-index/">The Better Food Index</a></li> <li id="menu-item-312511" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-312511"><a href="https://www.tortoisemedia.com/intelligence/responsibility100-index/">The Responsibility100 Index</a></li> </ul> </li> <li id="menu-item-322562" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-322562"><a href="https://www.tortoisemedia.com/the-westminster-accounts/">The Westminster Accounts</a></li> <li id="menu-item-323146" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-323146"><a href="https://www.tortoisemedia.com/students/">Students</a></li> </ul> </li> <li id="menu-item-177533" class="tm-menu-item--search menu-item menu-item-type-post_type menu-item-object-page menu-item-177533"><a href="https://www.tortoisemedia.com/search/">Search</a></li> </ul></div> </nav> </div> </header> <div class="tm-subs-blocked-banner" data-show-subs-blocked> <p>Hello. It looks like you're using an ad blocker that may prevent our website from working properly. To receive the best Tortoise experience possible, please make sure any blockers are switched off and refresh the page.</p> <p>If you have any questions or need help, let us know at <a>memberhelp@tortoisemedia.com</a></p> </div> <main class="tm-page__body" aria-label="main content" id="main" tabindex="-1"> <p class="is-style-sans has-night-color has-text-color has-small-font-size"><a href="https://www.tortoisemedia.com/intelligence/" data-type="page" data-id="179538">Intelligence</a> | <strong><span class="has-inline-color has-kelp-color">Global AI Index</span></strong></p> <div class="wp-container-5 wp-block-group alignfull tm-promo__big-five has-white-color has-text-color has-background" style="background-color:#ff7040"> <div class="wp-container-4 wp-block-columns"> <div class="wp-container-2 wp-block-column is-vertically-aligned-center" style="flex-basis:66.66%"> <h1 class="is-style-section-heading has-white-color has-text-color"><mark style="background-color:rgba(0, 0, 0, 0);color:#f2f1e6" class="has-inline-color">The Global AI Index</mark> 2024</h1> <p class="is-style-large-body-text has-white-color has-text-color has-large-font-size">The first index to benchmark nations on their level of implementation, innovation and investment in artificial intelligence.</p> <div class="wp-container-1 wp-block-buttons"> <div class="wp-block-button is-style-button--round"><a class="wp-block-button__link has-background" href="#rankings" style="background-color:#4e78bc"><mark style="background-color:rgba(0, 0, 0, 0);color:#f2f1e6" class="has-inline-color">Rankings</mark></a></div> <div class="wp-block-button is-style-button--round"><a class="wp-block-button__link has-background" href="#pillars" style="background-color:#4e78bc">Pillars</a></div> <div class="wp-block-button is-style-button--round"><a class="wp-block-button__link has-background" href="#data" style="background-color:#4e78bc">Data</a></div> <div class="wp-block-button is-style-button--round"><a class="wp-block-button__link has-background" href="#further_reading" style="background-color:#4e78bc">Further Reading</a></div> </div> </div> <div class="wp-container-3 wp-block-column" style="flex-basis:33.33%"> <figure class="wp-block-image alignright size-large" data-image-nozoom="true"><img width="1024" height="751" src="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-1024x751.png" alt="" class="wp-image-336449" srcset="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-1024x751.png 1024w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-300x220.png 300w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-768x563.png 768w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-1536x1126.png 1536w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-2048x1501.png 2048w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-475x348.png 475w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-700x513.png 700w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-286x210.png 286w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-745x546.png 745w, https://www.tortoisemedia.com/wp-content/uploads/sites/3/2023/06/AI-Headder-03-1040x762.png 1040w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure> </div> </div> </div> <div class="wp-container-9 wp-block-columns"> <div class="wp-container-6 wp-block-column"> <h2 class="has-text-color" style="color:#ff7040">Making sense of artificial intelligence<br>on a global scale</h2> </div> <div class="wp-container-8 wp-block-column"> <p>In the past twelve months, the UK gathered international governments for the first AI safety summit, Europe passed the first comprehensive AI law, industry players raced to release cutting-edge models, and global private investment in generative AI almost doubled.</p> <p>While some have questioned the sustainability of the AI investment wave, AI technologies are continuing to attract attention, and governments remain interested in their transformative potential.</p> <p>The Global AI Index aims to make sense of this complex landscape in 83 countries that have chosen to invest in AI. Now in its fifth iteration, it is the first ranking of countries based on AI implementation, innovation and investment.</p> <div class="wp-container-7 wp-block-buttons"> <div class="wp-block-button is-style-text--small"><a class="wp-block-button__link has-text-color" href="https://www.tortoisemedia.com/intelligence/ai-index-partner-with-us/" style="color:#e04600">Partner with us</a></div> </div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div> <div id="scrolly"> <div class="flourish-embed" data-src="story/2607749?1044644" data-url="https://flo.uri.sh/story/2607749/embed" data-height="90vh"><script src="https://public.flourish.studio/resources/embed.js"></script></div> <script src="https://cdn.flourish.rocks/flourish-scrolly-v3.1.0.min.js" type="text/javascript"></script><script type="text/javascript">initFlourishScrolly({offset_top: "130px", offset_bottom:"70px", step_styles:{borderRadius: "0"}});</script></div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="wp-container-11 wp-block-columns"> <div class="wp-container-10 wp-block-column"> <a name="rankings"></a> <h2><mark style="background-color:rgba(0, 0, 0, 0);color:#ff7040" class="has-inline-color">Ranking Table</mark></h2> <p>Countries are ranked by their AI capacity at the international level. This is the fifth iteration of the Global AI Index, published on 19 September 2024.</p> <div class="flourish-embed" data-src="story/2608292?1044644"><script src="https://public.flourish.studio/resources/embed.js"></script></div> </div> </div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="wp-container-13 wp-block-columns"> <div class="wp-container-12 wp-block-column"> <a name="pillars"></a> <h2><mark style="background-color:rgba(0, 0, 0, 0);color:#ff7040" class="has-inline-color">Pillars</mark></h2> <p>The Global AI Index is underpinned by 122 indicators, collected from 24 different public and private data sources, and 83 governments. These are split across three pillars and seven sub-pillars.</p> </div> </div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="wp-container-16 wp-block-columns"> <div class="wp-container-14 wp-block-column"> <h3><mark style="background-color:rgba(0, 0, 0, 0);color:#4e78bc" class="has-inline-color">Implementation</mark></h3> <p></p> </div> <div class="wp-container-15 wp-block-column"> <p><strong>Talent </strong>focuses on the availability of skilled practitioners in artificial intelligence solutions.<br><br><strong>Infrastructure </strong>assesses the scale of advanced computing infrastructure and semiconductor manufacturing.</p> <p><strong>Operating Environment</strong> focuses on the regulatory context of and public opinion on artificial intelligence.</p> </div> </div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="wp-container-19 wp-block-columns"> <div class="wp-container-17 wp-block-column"> <h3><mark style="background-color:rgba(0, 0, 0, 0);color:#4e78bc" class="has-inline-color">Innovation </mark></h3> <p></p> </div> <div class="wp-container-18 wp-block-column"> <p><strong>Research </strong>looks at the quantity and quality of specialist academic and industry research.</p> <p><strong>Development</strong> focuses on the development of new AI models and the application of AI technology in patents across other fields.</p> </div> </div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="wp-container-22 wp-block-columns"> <div class="wp-container-20 wp-block-column"> <h3><mark style="background-color:rgba(0, 0, 0, 0);color:#4e78bc" class="has-inline-color">Investment</mark></h3> <p></p> </div> <div class="wp-container-21 wp-block-column"> <p><strong>Government Strategy </strong>gauges the depth of commitment from national governments to artificial intelligence; investigating spending and national strategies.</p> <p><strong>Commercial Ecosystem</strong> focuses on the level of startup activity, private investment and business initiatives related to artificial intelligence.</p> </div> </div> <div class="flourish-embed flourish-radar" data-src="visualisation/19421670?1735407"><script src="https://public.flourish.studio/resources/embed.js"></script><noscript><img src="https://public.flourish.studio/visualisation/19421670/thumbnail" width="100%" alt="radar visualization"></noscript></div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <div class="flourish-embed flourish-radar" data-src="visualisation/19421724?1735407"><script src="https://public.flourish.studio/resources/embed.js"></script><noscript><img src="https://public.flourish.studio/visualisation/19421724/thumbnail" width="100%" alt="radar visualization"></noscript></div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <a name="data"></a> <h2><mark style="background-color:rgba(0, 0, 0, 0);color:#ff7040" class="has-inline-color">Data</mark></h2> <p>Explore the data that makes up the Global AI Index, organised by sub-pillar categories:</p> <div id="scrolly"> <div class="flourish-embed" data-src="story/2621108?1044644" data-url="https://flo.uri.sh/story/2621108/embed" data-height="40vh"><script src="https://public.flourish.studio/resources/embed.js"></script></div> <script src="https://cdn.flourish.rocks/flourish-scrolly-v3.1.0.min.js" type="text/javascript"></script><script type="text/javascript">initFlourishScrolly({offset_top: "130px", offset_bottom:"70px", step_styles:{borderRadius: "0"}});</script></div> <p>To access the full set of indicators, please <a href="https://forms.gle/C9zGoyXPEbDuvJ99A"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-kelp-color">get in touch with us here.</mark></a></p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2><mark style="background-color:rgba(0, 0, 0, 0);color:#ff7040" class="has-inline-color">Further Reading</mark></h2> <p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-shadow-color">To see the </mark><a href="https://www.tortoisemedia.com/2024/09/19/the-global-artificial-intelligence-index-2024/"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-kelp-color">full results piece click here. </mark></a><br>Follow our <a href="https://www.tortoisemedia.com/wp-content/uploads/sites/3/2024/09/AI-Methodology-2409.pdf"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-kelp-color">index methodology here.</mark></a><br>View last year’s <a href="https://www.tortoisemedia.com/intelligence/the-global-ai-index-2023/"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-kelp-color">Global AI Index 2023 here</mark></a>.</p> <p>For press enquiries, email <a href="mailto:andrew.butler@tortoisemedia.com">andrew.butler@tortoisemedia.com</a></p> <p>For other queries, please email <a href="mailto:aiindex@tortoisemedia.com">aiindex@tortoisemedia.com</a></p> <a name="further_reading"></a> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2><mark style="background-color:rgba(0, 0, 0, 0);color:#ff7040" class="has-inline-color">Contributors</mark></h2> <p><strong>Authors:</strong> Serena Cesareo, Joe White<br><strong>Graphics:</strong> Joe White, Bex Sander, Katie Riley<br><strong>Additional research: </strong>Conor O’Brien, Arabella Mensah</p> </main> <footer class="tm-footer"> <section class="tm-footer__primary"> </section> <section class="tm-footer__credit"> <p class="tm-footer__credit-text">© 2024 Tortoise Media</p> <p class="tm-footer__credit-cms"></p> </section> </footer> <script type="application/javascript"> (function () { tp = window["tp"] || []; tp.push(["setAid", "4uG4S202Dt"]); tp.push(["setEndpoint", "https://buy.tinypass.com/api/v3"]); tp.push(["setUseTinypassAccounts", false ]); tp.push(["setUsePianoIdUserProvider", true ]); tp.push(["setCustomVariable", "page_type", "page"]); tp.push(["init", function () { var buttons = document.getElementsByClassName("wp_piano_id_button"); tp.pianoId.init({ loggedIn: function () { for (var i = 0; i < buttons.length; i++) { buttons[i].classList.add('hide'); } }, loggedOut: function () { location.href = location.href; } }); if (!tp.user.isUserValid()){ for (var i = 0; i < buttons.length; i++) { var button = buttons[i]; button.classList.remove('hide'); button.addEventListener("click", function (evt) { evt.preventDefault(); tp.pianoId.show(); }); } } tp.experience.init(); }]); function onCheckoutClose(event) { if (event && event.state === "checkoutCompleted") { location.reload(); } } function onExternalCheckoutComplete() { location.reload(); } tp.push(["addHandler", "checkoutClose", onCheckoutClose]); tp.push(["addHandler", "externalCheckoutComplete", onExternalCheckoutComplete]); (function() { var a = document.createElement("script"); a.type = "text/javascript"; a.async = true; a.src = "//buy.tinypass.com/api/tinypass.min.js"; var b = document.getElementsByTagName("script")[0]; b.parentNode.insertBefore(a, b) })(); })(); </script> <style>.wp-container-1 {display: flex;gap: 0.5em;flex-wrap: wrap;align-items: center;}.wp-container-1 > * { margin: 0; }</style> <style>.wp-container-2 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-2 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-2 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-3 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-3 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-3 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-4 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-4 > * { margin: 0; }</style> <style>.wp-container-5 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-5 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-5 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-6 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-6 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-6 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-7 {display: flex;gap: 0.5em;flex-wrap: wrap;align-items: center;}.wp-container-7 > * { margin: 0; }</style> <style>.wp-container-8 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-8 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-8 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-9 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-9 > * { margin: 0; }</style> <style>.wp-container-10 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-10 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-10 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-11 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-11 > * { margin: 0; }</style> <style>.wp-container-12 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-12 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-12 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-13 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-13 > * { margin: 0; }</style> <style>.wp-container-14 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-14 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-14 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-15 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-15 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-15 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-16 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-16 > * { margin: 0; }</style> <style>.wp-container-17 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-17 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-17 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-18 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-18 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-18 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-19 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-19 > * { margin: 0; }</style> <style>.wp-container-20 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-20 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-20 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-21 > .alignleft { float: left; margin-inline-start: 0; margin-inline-end: 2em; }.wp-container-21 > .alignright { float: right; margin-inline-start: 2em; margin-inline-end: 0; }.wp-container-21 > .aligncenter { margin-left: auto !important; margin-right: auto !important; }</style> <style>.wp-container-22 {display: flex;gap: 2em;flex-wrap: nowrap;align-items: center;}.wp-container-22 > * { margin: 0; }</style> <script type='text/javascript' src='https://www.tortoisemedia.com/wp-content/themes/pugpig-tortoise-theme/scripts/nav-8c377d.js' id='tortoise-nav-js'></script> <script type='text/javascript' src='https://www.tortoisemedia.com/wp-content/themes/pugpig-tortoise-theme/scripts/main-1c28e8.js' id='tortoise-main-js'></script> </body> </html>