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.
- Raw Markdown version of this page: https://www.loveithosting.net/ads-for-agents.md
- Site summary for LLMs: https://www.loveithosting.net/llms.txt
- Human sign-up page: https://www.loveithosting.net/publishers
- Buy ads instead: https://www.loveithosting.net/advertise
Choose your integration
| Mode | Publisher ID required? | Use it for |
|---|---|---|
| No-ID embeds | No | Your own websites, including a portfolio of 32 sites, when publisher payouts are not needed. |
| Publisher embeds | Yes, a Love It Hosting pub_... ID | Affiliate earnings and publisher-level stats. |
| Google AdSense | A Google ca-pub-... ID | AdSense 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:
- Enable Serve ads on partner websites in https://www.loveithosting.net/admin/settings.
- 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). - Choose the ad type and creative size, supply its content, and make it active. Its dates and remaining impression allowance must also permit delivery.
- 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 type | Configure | What 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-size | Name | Best placement |
|---|---|---|
responsive | Responsive | Fills the width of its container (about 120px tall) |
728x90 | Leaderboard | Above or below content on desktop |
970x250 | Billboard | Large, high-impact header on wide layouts |
468x60 | Banner | Inline in narrower content columns |
300x250 | Medium rectangle | Sidebars and in-article; works everywhere |
336x280 | Large rectangle | In-article, between paragraphs |
250x250 | Square | Small sidebars and widgets |
300x600 | Half page | Sticky sidebars on desktop |
160x600 | Wide skyscraper | Narrow sidebars on desktop |
320x50 | Mobile banner | Top or bottom of mobile pages |
320x100 | Large mobile banner | Mobile, 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
accessKeysecurely: it is shown only once. Never put it in website HTML; only the publisher ID is public. acceptTerms: trueconfirms 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
| Status | Meaning |
|---|---|
| 400 | Invalid input. The data.issues array explains which field failed. |
| 401 | Missing or invalid Authorization: Bearer <publisherId>:<accessKey>. |
| 403 | Browser request from another origin (send server-side requests without an Origin header). |
| 429 | Rate limited. Wait for the Retry-After seconds. |