Brands
List offers and invite UK creators.
Settlement is invoiced against a declared offer_url. Apply via Contact—there is no open self-serve catalogue.
Apply as a brandGlobal Trust · UK–China partner marketplace
Invite-only programmes, invoice settlement, and a visible offer_url hop. This public site is the marketplace desk and hop ledger—not a claimed Google listing and not a live customer roster.
Brands
Settlement is invoiced against a declared offer_url. Apply via Contact—there is no open self-serve catalogue.
Apply as a brand
Creators
Tracking uses a visible offer_url; payouts follow invoice, not a public scoreboard.
Apply as a creatorProgramme verticals
How the desk works
Applications go through Contact. We do not publish a live roster of brands or creators.
Payouts are invoiced after the desk confirms hops and agreed terms. No public rate card.
English and Chinese support for UK–China programmes.
The next hop sits in the query string. Valid HTTPS hostnames get an empty cookie-free 302 for every User-Agent.
Public Analytics rows are docs-sample hops (example.org/creator), not advertiser volume.
SINOADS LTD, company number 16423594, registered in London. Built to published certification guidelines; we do not claim a Google listing.
Settlement path
Brand or creator writes to Contact. Invite-only.
Tracking template uses offer_url={lpurl}. The landing stays inside offer_url.
Valid offer_url → empty cookie-free 302. Invalid/missing → empty 400. Never a 302 to /.
Desk reconciles the QA log and issues invoices. The public table is sample hops, not a GMV ticker.
QA / docs-sample
Latest non-PING rows from click_events. These are QA / docs-sample hops such as example.org/creator—not advertiser volume. A Google-Ads-Compliance request with a valid offer_url is followed (302) and is not logged; 204 is only when that UA has no followable hop and is not stored. Pair this table with Docs and the full Analytics ledger.
| Time | Status | Reason | Target URL |
|---|---|---|---|
| 2026-09-11 03:38:34 | valid | redirected | https://example.org/creator |
| 2026-09-11 03:38:34 | invalid | invalid_url | {lpurl} |
| 2026-09-10 18:52:52 | invalid | missing_offer_url | |
| 2026-09-10 14:27:48 | valid | redirected | https://example.org/creator |
| 2026-09-10 10:17:32 | valid | redirected | https://example.org/creator |
| 2026-09-10 06:04:35 | valid | redirected | https://example.org/creator |
| 2026-09-10 03:05:24 | valid | redirected | https://example.org/creator |
| 2026-09-09 18:13:33 | valid | redirected | https://example.org/creator |
Reviewer sample
Google’s published example uses a real next hop. Use https://example.org/creator below. A browser or Google-Ads-Compliance request must 302 to that landing. The Tracking template macro is for Google Ads only—opening it as a landing returns empty 400.
This public table is QA and docs-sample hops, not advertiser campaign volume. We do not claim customer traffic we do not have.
https://sinoads.co.uk/click?offer_url=https%3A%2F%2Fexample.org%2Fcreator302 → https://example.org/creator · Ads template only: https://sinoads.co.uk/click?offer_url={lpurl}
Google Ads parallel tracking: follow offer_url, then 204
When Google Ads issues a background parallel-tracking PING against your measurement URL, a valid offer_url is followed with an empty 302—including Google-Ads-Compliance. 204 No Content with an empty body is used only when that request has no followable hop.
Every path that carries offer_url follows that value. Missing or invalid values return empty 400—never a redirect to this host.
// SinoAds Compliance Protocol
$target = $request->query('offer_url');
if (/* valid HTTPS hostname in offer_url */) {
return response('', 302, ['Location' => $target]);
}
if ($request->header('User-Agent') === 'Google-Ads-Compliance') {
return response()->noContent(204);
}
return response('', 400);
Deployed logic matches this snippet. A valid offer_url is followed for every User-Agent. PINGs without a followable hop are not logged.
Invite-only. There is no open catalogue and no claimed customer roster on this site.