Launching on Web Game Portals: Poki and CrazyGames
If you've built a web game and are wondering where to put it, Poki and CrazyGames are usually the first two names that come up. Both are portals that take an HTML5 build and push it out through their own traffic, but the submission flow, technical bar, and revenue structure differ quite a bit between the two. This post walks through submission, technical requirements, SDK integration, revenue share, and exclusivity terms for both, based on their official documentation. Where a number isn't publicly disclosed, we say so explicitly. If you also want a page on a more flexible platform first, see our itch.io page guide.
Submission process
Poki takes submissions through "Poki for Developers," and the Poki team then curates games by hand, focusing on UX and the core loop. It's not an automated approval — someone actually plays the game — so builds that make it obvious what to do within five seconds, with no tutorial needed, tend to clear review more easily.
CrazyGames has you submit a build, SDK integration, and metadata (description, thumbnail, controls) through its developer portal. The official developer terms define the first stage, "Basic Launch," as an initial limited public release to test a game's user metrics, after which CrazyGames decides, based on editorial, quality, and performance criteria, whether to upgrade the game to "Full Launch" or remove it from the portal. Exactly how many days or plays it takes to end Basic Launch isn't something we could confirm directly against the primary source this round, so it's worth checking the submission screen's own guidance for the current figures.
Technical requirements
| Item | Poki | CrazyGames |
|---|---|---|
| Size limit | No specific MB cap is published; the stated rule of thumb is that players tend to leave if loading takes more than 10 seconds | Total size under 250MB recommended, file count under 1,500 recommended |
| Initial download | No number disclosed, faster is simply better | Must be 50MB or under; to be eligible for the mobile homepage it needs to be 20MB or under |
| Platform support | Desktop, mobile, and tablet all required; mobile should be portrait or landscape fullscreen | Must comply with PEGI 12 |
CrazyGames' technical docs spell out exactly how "initial download" is measured: from the start of loading to the first gameplay-start event, and if you're pulling in externally hosted resources, its QA team separately checks whether gameplay is reachable within 20 seconds. Poki's requirements page stops short of a hard number and instead tells Unity developers to follow its separate optimization guide. Both platforms can restrict localStorage in private/incognito mode, so wrap your save logic in try/catch either way.
SDK integration and ad calls
Poki's SDK doesn't schedule ads on its own. Instead, your game calls commercialBreak() and rewardedBreak() at natural break points (between levels, on restart), and Poki's own system decides whether and when to actually show an ad. Its docs explicitly say not to implement your own ad timers and to leave frequency control to Poki. Calling gameplayStart()/gameplayStop() accurately is also a prerequisite for passing review.
CrazyGames exposes window.CrazyGames.SDK.ad.requestAd("midgame", callbacks) and requestAd("rewarded", callbacks), with the Unity equivalent being CrazySDK.Ad.RequestAd(CrazyAdType.Midgame, ...). The SDK is widely understood to throttle how often midgame ads can be called in a short window, but we weren't able to re-verify the exact interval against the official SDK documentation this round, so we won't state a specific number.
External links and self-serve ads
Both platforms ban inserting any ad network other than their own SDK. Poki's external resources doc says it blocks outbound requests by default unless the domain is pre-approved, and even links to something like Discord must be opened through an SDK event. CrazyGames' gameplay requirements ban cross-promotion in principle, but make an exception for non-primary CTAs like community links or desktop-only store links.
Revenue share structure
If you're looking for a fixed percentage, the honest answer is that neither company locks one down in its public documentation. Poki's docs describe a structure where you split revenue on players Poki brings in through promotion, recommendations, and marketing, while everything a player generates through search, bookmarks, social, or your own community is entirely yours — but the same page states that "the 5-year term, the revenue share, the exact investment are indicative. The real terms depend on the game and are set out in your agreement." So the structure (split by traffic source) is confirmed, but a specific "X/Y" percentage is not something you can state as fact.
It's much the same on CrazyGames. Its official FAQ answers "how much will I earn" with: it varies by how the game performs, with engagement, retention, popularity, and advertiser demand as the key factors. The developer terms (Article V) describe compensation being calculated monthly based on objective factors like traffic and ad performance, rather than a fixed percentage split. The "60/40 for ads, 70/30 for IAP" numbers that circulate online don't appear anywhere in the official contract, so it's best not to take them at face value.
Exclusivity terms
Poki generally prefers web exclusivity. Its default deal runs 5 years and requires exclusive publishing on the open web, though Steam, mobile app stores, and consoles are explicitly carved out of that scope. If you'd rather not be exclusive, you can opt for a one-time flat license fee instead of revenue share.
CrazyGames is non-exclusive by default. Its FAQ states you can publish the same game on Steam, Google Play, the App Store, or even Poki, with no effect on your CrazyGames revenue share. There is an opt-in, though: choosing "browser gaming website" exclusivity for two months after Full Launch bumps your compensation up by 50% under Article 5.5 of the contract. That exclusivity only applies to other browser game portals — Steam and the app stores are excluded from it as well.
Engine-specific notes
Unity WebGL builds often shrink dramatically just by turning on Brotli compression. Switching Code Optimization to "Faster (smaller) builds" or "Disk Size with LTO," plus Crunch Compression on textures, can cut size further; the official Unity manual covers the full set of options.
Godot's HTML5 export assumes a browser that supports WebAssembly and WebGL 2.0. Poki officially maintains a Godot SDK plugin for Godot 3.4 and up, which you wire in as an autoloaded PokiSDK singleton. There's a commonly repeated claim in developer communities that multithreaded exports run into compatibility issues with web publishers because of SharedArrayBuffer header requirements, but we couldn't confirm this against an official source this round. If web distribution is the goal, starting with a single-threaded export is the safer bet.
Wrapping up
The short version: both platforms leave a lot of specific numbers — size caps, revenue splits, review turnaround — out of their public documentation. What's consistently confirmed is the underlying principle: only their own ad SDK is allowed, unauthorized cross-promotion and outside ad networks are banned, and the exact terms ultimately come down to your individual contract. Before submitting, it's worth checking each platform's current docs and submission screen one more time.