Adjoin
Sign inMonetize my app

Quickstart

From zero to a live ad in about 5 minutes.

1. Add a placement

Sign in, add and verify your domain, then pick one or more slots. Every snippet uses the ids the server created for you.

2. Install the SDK

<script async src="https://cdn.adjoin.dev/v1.js" data-placement="plc_ab12"></script>
<div id="adjoin-plc_ab12"></div>

React

// Load the SDK once (index.html or your root layout)
<script async src="https://cdn.adjoin.dev/v1.js"></script>

// AdSlot.tsx
import { useEffect } from 'react';

export function AdSlot({ placement, format = 'card' }: { placement: string; format?: string }) {
  useEffect(() => {
    const draw = () => (window as any).adjoin?.render({ placement, format });
    if ((window as any).adjoin) draw();
    else document.querySelector('script[src*="cdn.adjoin.dev/v1.js"]')
      ?.addEventListener('load', draw, { once: true });
  }, [placement, format]);
  return <div id={`adjoin-${placement}`} data-format={format} />;
}

<AdSlot placement="plc_ab12" format="card" />

3. Verify it's live

Open your site once. The dashboard turns green automatically when the first impression is detected — no refresh needed.

4. Track a moment (optional)

// Fires an ad tied to a specific point in your app's lifecycle
adjoin.trigger('signup_complete', { placement: 'plc_ab12' });

// Records a conversion for CPA campaigns
adjoin.convert(29.00);

Questions: [email protected]