\n \n @yield('content')\n"}]},{"@type":"HowToStep","position":3,"name":"Verify the install","text":"Load any public page on your site in a fresh browser tab. Within a few seconds, the Admaxxer dashboard realtime view should show the event. If nothing lands after 2 minutes, re-check the snippet is actually in the rendered HTML <head> (View Source, not just DevTools)."}]}

Install guide · framework · ~2 min

Install Admaxxer on Laravel

Add the snippet to resources/views/layouts/app.blade.php.

Laravel uses Blade templates with a shared layout (typically resources/views/layouts/app.blade.php). Adding the Admaxxer snippet there installs the pixel on every view that extends this layout.

Steps

  1. 1 Open your main layout

    Edit resources/views/layouts/app.blade.php (the default Breeze/Jetstream layout).

  2. 2 Add the snippet to @push('head') or directly in <head>

    Paste inside <head>. If you use @stack('head'), wrap the snippet in @push('head')...@endpush on a per-page basis instead.

    resources/views/layouts/app.blade.php blade
    <!DOCTYPE html>
    <html>
      <head>
        <title>{{ config('app.name') }}</title>
        <script defer
          data-website-id="YOUR_WEBSITE_ID"
          data-domain="yourdomain.com"
          src="https://cdn.admaxxer.com/js/script.js"></script>
      </head>
      <body>@yield('content')</body>
    </html>
  3. 3 Verify the install

    Load any public page on your site in a fresh browser tab. Within a few seconds, the Admaxxer dashboard realtime view should show the event. If nothing lands after 2 minutes, re-check the snippet is actually in the rendered HTML <head> (View Source, not just DevTools).

Verify installation

Troubleshooting

Spark/Octane caches a stale layout.
Run php artisan view:clear and php artisan config:clear. If you use Octane, also restart workers (php artisan octane:reload).
No events are showing up. What now?
Open DevTools Console and Network. Filter for script.js and /api/event. If they are blocked:csp, your Content Security Policy is blocking admaxxer.com — see /documentation/troubleshoot/csp. Also double-check that data-website-id matches the ID shown in your dashboard.
Events show up in staging but not production.
Confirm data-domain matches the production hostname exactly (no protocol, no trailing slash). Also confirm the website's Allowed Domains list in settings includes the prod domain.
My site is a single-page app — am I missing pageviews?
Use script.hash.js if you rely on location.hash routing. Otherwise the default script.js already hooks history.pushState/replaceState and tracks SPA navigations.