Install AppAdSwap.
The card is two lines of HTML. The only question is where they go on your platform. Pick yours below, or start from the snippet.
The snippet
The div is the slot: the card fills whatever space you give it, so you choose where it goes and how wide it is. The script loads once, with async, so it doesn't hold up your page. Replace SITE_ID with your site's ID; the Sites page in your dashboard shows the snippet with it filled in.
<div data-appadswap="SITE_ID" data-format="card"></div>
<script src="https://appadswap.com/w.js" async></script>data-format can be card, compact (a one-row card) or corner, a small card in the corner of the screen that needs no slot: put data-appadswap and data-format="corner" on the script tag instead.
Pick your platform.
- Add AppAdSwap to an Astro siteLoad the AppAdSwap script in an Astro layout with an is:inline tag and put the slot in any page or component. Why is:inline matters for a remote script.
- Add AppAdSwap to a Carrd siteAdd the AppAdSwap card to a Carrd one-page site with an Embed element set to Code. Which Carrd plans allow script tags, and which embed style to pick.
- Add AppAdSwap to a Docusaurus siteLoad the AppAdSwap script with the scripts option in docusaurus.config.js and put the slot in an MDX page. Covers async, doc footers and single-page navigation.
- Add AppAdSwap to a Framer siteAdd the AppAdSwap corner card to a Framer site through Custom Code in Site Settings. Where the script goes, why the canvas hides it, and the in-page options.
- Add AppAdSwap to a Ghost siteAdd the AppAdSwap card to Ghost with Code Injection for the script and an HTML card or theme template for the slot. Site-wide and per-post options explained.
- Add AppAdSwap to a plain HTML sitePaste a div where the card should appear and one script tag on the page. Where to put each in a plain HTML or static site, and how to check it loads.
- Add AppAdSwap to Mintlify docsAdd the AppAdSwap card to Mintlify docs with a custom .js file in your content directory that injects the script, plus a slot in MDX. What Mintlify warns about.
- Add AppAdSwap to a Next.js appLoad the AppAdSwap script with next/script in your root layout and render the slot as a div in any page. App Router code, loading strategy and common mistakes.
- Add AppAdSwap to Webflow with custom codeAdd the AppAdSwap card to a Webflow site with an Embed element for the slot and the Before body tag custom code field for the script. Needs a paid site plan.
- Add AppAdSwap to a WordPress sitePut the AppAdSwap card in a WordPress post, page or sidebar with a Custom HTML block, and load the script once for the site. Covers WordPress stripping scripts.
Each guide is written from the platform's own documentation, which it links to. We haven't installed the widget on every one of them ourselves, and platforms change their editors, so if a step doesn't match what you see, the platform's own docs win. Tell us and we'll fix the guide.
Where it can't run.
The card is a script, so it only works where scripts run: web pages. Email clients don't run scripts, so a card can't show in a newsletter email. Some platforms also strip scripts out of posts: beehiiv's help says script and style elements in a custom HTML snippet are not saved. If you write there, put the card on your own site's pages instead, such as the archive or the thank-you page after someone signs up.
Check that it works.
- Open the page, then the Sites pageLoad a page that has the snippet. The Sites page in your dashboard checks for the widget on its own and flips from unverified to live; there's nothing to press.
- Look at the published page, not the editorMost site builders don't run custom code inside their editor or canvas preview. Publish, then open the live address.
- Nothing shows, or the slot is emptyThe likeliest reason is that the site isn't verified yet. The Sites page in your dashboard shows its status, and the widget has to load once on the address you registered before it flips to live.
- Your ad blocker may be hiding itA browser extension that blocks ad scripts can block the widget on your own screen. Check in a private window with extensions off.