Jim Christian Ad Network
One script tag. Four formats. Real projects, randomly rotated.
Quick Start
Add a container where you want the ad, then include the script. That's it.
<div id="jcad" data-format="banner"></div>
<script src="https://ads.jimchristian.net/jc-ads.js"></script> <div data-jcad data-format="banner"></div>
<div data-jcad data-format="card"></div>
<script src="https://ads.jimchristian.net/jc-ads.js"></script> Configuration
| Attribute | Values | Default | Notes |
|---|---|---|---|
id="jcad" | — | — | Single ad per page. Script finds it automatically. |
data-jcad | — | — | Multiple ads per page. Add to each container. |
data-format | banner card skyscraper marquee | banner | Ad format. See live previews below. |
Each ad in the rotation has its own colour scheme — no light/dark theme needed. Ads are shuffled randomly on each page load. Multiple containers on the same page each get a different ad from the shuffled list.
Live Previews
These are real SDK renders, not screenshots.
Banner 728×90
Horizontal strip. Good for between-section placements.
<div data-jcad data-format="banner"></div> Card 300px
Compact product card. Sidebars, footers, inline content.
<div data-jcad data-format="card"></div> Skyscraper 160px wide
Tall sidebar format. Minimum 400px height.
<div data-jcad data-format="skyscraper"></div> Marquee full width, 40px
Compact strip. Good for headers, footers, or between sections.
<div data-jcad data-format="marquee"></div> API
GET https://jimchristian.net/api/ads.json {
"ads": [
{
"id": "signal-over-noise",
"name": "Signal Over Noise",
"tagline": "AI strategy for humans who ship",
"url": "https://signalovernoise.at",
"cta": "SUBSCRIBE",
"colors": { "bg": "#1a1a2e", "accent": "#e94560", "text": "#eaeaea" }
}
]
}
CORS is open (Access-Control-Allow-Origin: *). Cache-Control is 1 hour.
The JSON is generated at build time — updates require a site redeploy.