For AI agents & developers

Love It Hosting ads: integration guide for AI agents

Add ads across your websites without a publisher ID. Learn text, banner and hosted-page formats, choose slot sizes, or optionally join the publisher program for earnings.

This guide tells AI agents (and developers) how to place Love It Hosting ads on websites without a publisher ID, choose ad formats and sizes, and optionally join the publisher (affiliate) program for earnings. Publisher signup is not required to display ads.

Choose your integration

ModePublisher ID required?Use it for
No-ID embedsNoYour own websites, including a portfolio of 32 sites, when publisher payouts are not needed.
Publisher embedsYes, a Love It Hosting pub_... IDAffiliate earnings and publisher-level stats.
Google AdSenseA Google ca-pub-... IDAdSense on the Love It Hosting app itself; never served through partner embeds.

The Love It Hosting publisher ID and Google AdSense publisher ID are different. No-ID embeds need neither, and need no access key or publisher account.

Missing, blank, malformed, unknown, pending or suspended publisher IDs fall back to anonymous ad delivery. Campaign impressions, clicks and slot inventory are still tracked, but no publisher earns from these deliveries. Invalid IDs (including oversized or repeated pub query values) never block delivery by themselves. This fallback does not bypass disabled networks, campaign eligibility, browser request requirements or rate limits; unfilled slots show the tracked placeholder.

Quick start: ads without a publisher ID

Add the loader once per page and a slot wherever an ad should appear. Omit data-publisher entirely:

<script async src="https://www.loveithosting.net/embed.js"></script>
<ins class="loveit-ad" data-size="300x250"></ins>

For a site builder that only allows iframes, omit the pub query parameter:

<iframe src="https://www.loveithosting.net/embed/ad?size=728x90" width="728" height="90" style="border:0;max-width:100%" scrolling="no" loading="lazy" title="Advertisement" sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox"></iframe>

Use the same snippets on all 32 websites. No domain registration or separate publisher accounts are required for these embeds. Point every site at the same ad-server origin (https://www.loveithosting.net); do not replace it with the receiving site's domain.

Multiple slots and layouts

This example uses one loader and three no-ID slots. Place each slot in the appropriate part of the page:

<script async src="https://www.loveithosting.net/embed.js"></script>
<!-- Header or variable-width content -->
<ins class="loveit-ad" data-size="responsive"></ins>
<!-- Sidebar or between paragraphs -->
<ins class="loveit-ad" data-size="300x250"></ins>
<!-- Above or below mobile content -->
<ins class="loveit-ad" data-size="320x100"></ins>

Select slots that fit the site's layout rather than showing every size at once. Fixed-size slots keep their configured height; do not squeeze a desktop banner into a narrow mobile column. The responsive slot fills its container and is about 120px tall.

For single-page apps, call window.LoveItAds.refresh() after the loader is available and new <ins class="loveit-ad"> elements have been inserted (new slots are also detected automatically). Keep one loader in the shared page layout.

Enable campaigns on your websites

On the ad-server app, an administrator must:

  1. Enable Serve ads on partner websites in https://www.loveithosting.net/admin/settings.
  2. Create or edit a campaign in https://www.loveithosting.net/admin/ads. Choose Partner network only (placement: "network"), or select an on-site placement and enable Also show on partner websites (network: true).
  3. Choose the ad type and creative size, supply its content, and make it active. Its dates and remaining impression allowance must also permit delivery.
  4. Paste the no-ID embeds into the websites you are authorized to manage.

The same eligible campaign pool serves all 32 sites. Embeds choose a slot size, not a particular campaign or ad type. There is no per-domain campaign targeting in this integration.

No-ID impressions and clicks still count toward advertiser campaign statistics and network slot inventory in https://www.loveithosting.net/admin/reports, but do not generate publisher earnings. There is no publisher dashboard or separate per-website reporting for no-ID sites; reports aggregate by campaign and by channel, placement and size.

Ad formats: text, banner and hosted page

Choose the creative's Ad type in https://www.loveithosting.net/admin/ads. All three formats use the same embed code and work without a publisher ID when enabled for the network:

Ad typeConfigureWhat visitors see / click
Text (text)Title, description and target URL; use creative size any for flexible delivery.A text ad linking to the target URL. Good for in-content and sidebar slots.
Banner (banner)Public image URL, image alt text and target URL, plus the creative size.A clickable image linking to the target URL. Use matching image/slot dimensions for predictable presentation.
Hosted page (page)Title, description, target URL and a plain-text sponsored page body; an image is optional.A teaser linking to a labeled sponsored page hosted by Love It Hosting, not a full page inside the slot or an overlay.

The target URL must be an absolute HTTP(S) URL. Use an externally hosted or public image URL, not a local file path. A fixed-size creative serves only in its matching slot or a responsive slot; creative size any can serve in every slot. any is a campaign creative setting, not a valid embed data-size.

Ads rotate among eligible campaigns; visitors are not guaranteed one specific format. For example, use a 300x250 banner creative with data-size="300x250", or a text creative sized any with any supported slot size below.

Ad sizes

Set data-size (or the iframe's size query parameter) to one of these values. All sizes work with or without a publisher ID:

data-sizeNameBest placement
responsiveResponsiveFills the width of its container (about 120px tall)
728x90LeaderboardAbove or below content on desktop
970x250BillboardLarge, high-impact header on wide layouts
468x60BannerInline in narrower content columns
300x250Medium rectangleSidebars and in-article; works everywhere
336x280Large rectangleIn-article, between paragraphs
250x250SquareSmall sidebars and widgets
300x600Half pageSticky sidebars on desktop
160x600Wide skyscraperNarrow sidebars on desktop
320x50Mobile bannerTop or bottom of mobile pages
320x100Large mobile bannerMobile, above or below content

Recommendations: use 300x250 in sidebars and between paragraphs, 728x90 above or below content on desktop, 320x50 or 320x100 on mobile, and responsive when the container width varies. Up to 3 ad slots per page is a good default.

What gets displayed

  • Each slot is a sandboxed iframe served from https://www.loveithosting.net. Ad creatives cannot run scripts on the host page or read its cookies; clicking an ad can open its destination in a new tab.
  • Every ad carries a small "Ads by Love It Hosting" watermark that links to https://www.loveithosting.net/advertise. Do not hide, cover, or modify it.
  • When no eligible campaign is available for a size, or the partner network is disabled, the slot shows a "Your ad here" placeholder linking to the advertise page (placeholders do not earn).
  • Partner embeds serve hosted campaigns or placeholders only, never Google AdSense.
  • Hosted ads rotate automatically every 60 seconds while in view, and a visitor is not shown the same ad twice in a row when alternatives exist.
  • Use the browser embed, not a server-side call to /api/network/serve: delivery requires same-origin browser Fetch Metadata headers from the ad frame.

Optional: create a publisher account for earnings

Skip this section for the 32-site no-ID setup. Only sign up if the owner wants affiliate earnings and publisher-level stats. New accounts can require administrator approval if auto-approval is disabled.

curl -X POST https://www.loveithosting.net/api/publishers \
  -H "content-type: application/json" \
  -d '{"name":"Example Blog","email":"[email protected]","website":"https://example.com","payoutEmail":"","acceptTerms":true}'

Response (201):

{ "publisher": { "id": "pub_xxxxxxxxxxxx", "status": "active", "name": "Example Blog", "...": "..." }, "accessKey": "SECRET" }
  • Store accessKey securely: it is shown only once. Never put it in website HTML; only the publisher ID is public.
  • acceptTerms: true confirms the site owner accepts the program rules below. Only do this with the site owner's permission.
  • payoutEmail (PayPal) is optional and can be added later in the dashboard.
  • Sign-ups are rate limited (5 per hour per IP). Do not create multiple accounts for the same owner.

Embed ads with a publisher ID

Recommended: script + slot. Add the loader once per page (for example before </body>), and one <ins> per ad slot:

<script async src="https://www.loveithosting.net/embed.js"></script>
<ins class="loveit-ad" data-publisher="pub_xxxxxxxxxxxx" data-size="300x250"></ins>

Script-free fallback (site builders that only allow iframes):

<iframe src="https://www.loveithosting.net/embed/ad?size=728x90&pub=pub_xxxxxxxxxxxx" width="728" height="90" style="border:0;max-width:100%" scrolling="no" loading="lazy" title="Advertisement" sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox"></iframe>

Publisher earnings and stats

Only deliveries attributed to an active publisher can earn. These rates and publisher APIs do not apply to no-ID embeds.

Current rates:

  • $1.00 per 1,000 qualified impressions
  • $0.05 per qualified click
  • Minimum payout: $25.00 (paid to the payout email)

A qualified impression means at least 50% of the ad was visible for 1 continuous second in a visible browser tab. Each ad delivery counts once. A qualified click must follow a qualified impression of the same delivery. Per visitor and hour, at most 120 impressions and 6 clicks earn.

Read stats (days = 7, 30, or 90):

curl https://www.loveithosting.net/api/publisher/me?days=30 \
  -H "Authorization: Bearer pub_xxxxxxxxxxxx:ACCESS_KEY"

The response includes publisher, totals (impressions, clicks, earnedCents, paidCents, balanceCents), daily (per-day impressions, clicks, earnedCents), payouts, and rates. All amounts are USD cents.

Update account details (name, website, payout email):

curl -X PUT https://www.loveithosting.net/api/publisher/me \
  -H "Authorization: Bearer pub_xxxxxxxxxxxx:ACCESS_KEY" -H "content-type: application/json" \
  -d '{"name":"Example Blog","website":"https://example.com","payoutEmail":"[email protected]"}'

Human dashboard: https://www.loveithosting.net/publishers/dashboard

Rules for agents

  • Only add ads to sites you are authorized to change, and only accept the terms with the owner's consent.
  • Never click ads, load pages to create impressions, or automate traffic. Invalid activity is not paid and can suspend the account.
  • Do not place ads on pages with illegal, adult, hateful, or deceptive content, or inside pop-ups or interstitials.
  • Do not alter the iframe content, the watermark, or ad sizes; let the slot size match data-size.
  • Label the area as advertising if the site's design could make ads look like content.
  • Keep the access key secret (environment variables or a secrets store), never in client-side code or public repositories.

Errors

StatusMeaning
400Invalid input. The data.issues array explains which field failed.
401Missing or invalid Authorization: Bearer <publisherId>:<accessKey>.
403Browser request from another origin (send server-side requests without an Origin header).
429Rate limited. Wait for the Retry-After seconds.