#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
3 min read
•Question 14 of 47easy

How to load external scripts in Next.js?

Using the Script component for third-party scripts.

What You'll Learn

  • Script component usage
  • Loading strategies
  • Inline scripts

Basic Usage

code.txtTSX
import Script from 'next/script';

export default function Page() {
  return (
    <>
      <Script src="https://example.com/script.js" />
      <h1>My Page</h1>
    </>
  );
}

Loading Strategies

code.txtTSX
// Load after page is interactive (default)
<Script src="/script.js" strategy="afterInteractive" />

// Load before page hydration
<Script src="/critical.js" strategy="beforeInteractive" />

// Load during idle time
<Script src="/analytics.js" strategy="lazyOnload" />

// Load in web worker
<Script src="/heavy.js" strategy="worker" />

Event Handlers

code.txtTSX
<Script
  src="https://example.com/script.js"
  onLoad={() => console.log('Script loaded')}
  onError={() => console.log('Script failed')}
  onReady={() => console.log('Script ready')}
/>

Inline Scripts

code.txtTSX
<Script id="gtag">
  {`
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
  `}
</Script>

Google Analytics

code.txtTSX
<Script
  src="https://www.googletagmanager.com/gtag/js?id=GA_ID"
  strategy="afterInteractive"
/>
<Script id="google-analytics" strategy="afterInteractive">
  {`
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'GA_ID');
  `}
</Script>