Log in Get Started

Everything you need to launch.

Real, accurate steps for getting a campaign live or a placement integrated — no guesswork, nothing here that doesn't already work today.

Getting Started

Adnyro works the same way on both sides of the network: create an account, get approved, and you're live. There are two paths, depending on what you're here to do.

Advertiser

Launch a native campaign

Create campaigns, set targeting and budget, upload creatives, and track performance from your dashboard. No code required.

See the quick start
Publisher

Integrate the widget

Add one snippet to your site to start showing native placements alongside your own content.

See the integration guide

Advertiser Quick Start

Everything here happens in your dashboard after creating an advertiser account — no integration work needed on your end.

1

Create your account and wait for approval

New accounts are reviewed before they can launch campaigns — this keeps the network brand-safe for publishers and other advertisers.

2

Add funds to your account balance

Your balance funds every click. Spend is deducted in real time as your campaigns run.

3

Create a campaign

Set your daily budget and CPC bid, upload creatives, and choose targeting by country, device, and site category.

4

Submit for review, then go live

Creatives are checked before they can serve. Once approved, your campaign starts competing for placements immediately.

5

Track performance

Your dashboard shows spend, clicks, and CTR as they happen, plus date-range reports you can export to CSV.

Conversion Tracking

Clicks and CTR tell you traffic quality; conversions tell you what that traffic actually did. Every click Adnyro sends you carries a signed mzclid parameter in the destination URL — capture it, and report back whenever that visitor completes something you care about.

1

Capture mzclid from the landing page URL

It arrives as a query parameter on every click we send, e.g. https://yoursite.com/landing?mzclid=abc123.... Store it (session, hidden form field, your own attribution table) for as long as your conversion window needs.

2

Report the conversion with a server-to-server call

No SDK, no JavaScript on your site required — a plain server-side HTTP request when the conversion happens is enough.

GET https://adnyro.com/api/conversion?mzclid={CLICK_ID}&type=purchase&value=49.99

type is any label you choose — common ones are purchase, lead, signup, and add_to_cart — and shows up as-is in your campaign's conversion report. value is optional and denominated in USD; omit it (or send 0) for conversions that don't have a dollar value, like a signup.

Your campaign's exact postback URL, with your real domain and a live example, is always shown on that campaign's detail page in your dashboard — plus a "Send Test Conversion" button that fires one real, clearly-marked test event so you can confirm your integration without touching your live numbers.

Web Integration

The publisher widget is one HTML snippet — no build step, no dependencies. After creating a publisher account and adding a site, each placement you create gets its own embed code from your dashboard.

1

Create a placement and choose a type

Under-article, in-feed, in-article, sidebar, header strip, or mobile feed — each has its own default layout and sizing built for where it actually sits on the page, not just a label. This is set once in your dashboard, not in the embed code, and you can override the layout independently if a type's default isn't the right fit.

Placement typeDefault layoutSlotsOrganic ratio
Under-articleGrid650%
In-feedGrid470%
In-articleList10% (ads only)
SidebarList330%
Header stripHorizontal10% (ads only)
Mobile feedList540%

"Organic ratio" is the share of slots filled with your own content (pulled from your site's feed) versus sponsored items — a placement with a 0% ratio, like in-article or header strip, is ad-only by design. Four layouts are available regardless of type: grid, horizontal scroll, list, and carousel (a scrollable strip with clickable prev/next controls).

2

Copy your placement's snippet

Every placement has its own key. The pattern is always the same two lines:

<div data-monetizd="YOUR_PLACEMENT_KEY"></div> <script async src="https://adnyro.com/static/widget/widget.js"></script>
3

Paste it where you want the widget to appear

The script scans the page for any data-monetizd container and renders into it — you can place multiple placements on one page.

What loads, and what doesn't

  • No cookies, no localStorage — the widget reads and writes nothing to the visitor's browser beyond the page it's on.
  • Every sponsored item is labeled "Sponsored" in the rendered markup, not added after the fact.
  • Viewability is measured with IntersectionObserver and reported with a single batched sendBeacon call — no third-party trackers.
  • If the request fails for any reason, the container is simply left empty. It never breaks the surrounding page.

Theming Your Widget

The widget ships with a clean, neutral light style by default, and reads every color and shape value from a small set of CSS custom properties first — set any of them on your container element and the widget picks them up automatically. No JavaScript config needed.

Prefer not to touch CSS at all? Set the same values from your placement's page in the dashboard instead — changes apply immediately to the live widget, with nothing to re-copy or re-paste.

--mz-card-bg
--mz-text-color
--mz-title-color
--mz-border-color

Example: matching a dark site theme —

<div data-monetizd="YOUR_PLACEMENT_KEY" style=" --mz-card-bg: #111827; --mz-text-color: #f8fafc; --mz-title-color: #ffffff; --mz-border-color: #233044; --mz-radius: 12px; --mz-font: 'Inter', sans-serif; " ></div> <script async src="https://adnyro.com/static/widget/widget.js"></script>

Full list of available properties: --mz-card-bg, --mz-text-color, --mz-title-color, --mz-border-color, --mz-radius, --mz-font, --mz-sponsored-bg, --mz-sponsored-color, --mz-footer-color. Anything you don't set keeps the default.

Mobile Apps Coming Soon

Native iOS and Android SDKs are on the roadmap and not available yet — we'd rather tell you that plainly than publish integration steps for something that doesn't exist.

If your app already renders content in a WebView, today's web snippet works there without changes. For a fully native ad surface, check back — this section will be replaced with real SDK docs the day it ships, not before.

FAQ

How is the revenue share calculated?

Publishers earn a transparent share of every valid click — 50% by default. Every charge is booked as three entries (advertiser charge, publisher earning, platform share) that always sum to zero net, visible in your reports.

What counts as an invalid click?

Bot traffic, duplicate clicks, and rate-limit violations are all detected and rejected before any money moves — they never appear as billable events on either side.

Can I control what advertisers show on my site?

Every campaign and creative is reviewed by our team before it's eligible to serve, so nothing goes live unvetted. On top of that, you can block any specific advertiser from a site directly in your dashboard — pick from a list of advertisers who've recently run on that site, or unblock one at any time.

Is my traffic data shared with advertisers?

Advertisers see aggregate performance by campaign and creative — not individual visitor data, and not which specific site or page drove a click.

Ready to put this into practice?

Create an account and you'll have real placement keys and a real dashboard in minutes.