Submitting to CrazyGames and Game Portals

Updated June 2026
Submitting a game to an ad-supported portal like CrazyGames involves preparing a build that meets the platform's size and content requirements, uploading through their developer portal, passing an engagement review, and then integrating the platform's SDK for ad placements and analytics. The process typically takes two to four weeks from initial submission to full launch, with most of that time spent in the review phase.

Ad-supported game portals are the fastest path to large audiences for web game developers. CrazyGames alone reaches over 20 million monthly players, and Poki, GameDistribution, and other portals add millions more. The trade-off is that these platforms require you to meet specific technical standards and integrate their advertising SDKs, which adds development work compared to simply uploading a ZIP file to itch.io. The following steps cover the submission process for CrazyGames specifically, with notes on how other portals differ.

Prepare Your Build for Portal Requirements

Every major portal enforces technical constraints on the games it accepts. CrazyGames requires an initial download size under 50 MB, a file count below 1,500, and content that complies with PEGI 12 standards (no graphic violence, no sexual content, no real-money gambling). The initial download size refers to the total weight of all files needed before the game becomes playable, so if your game loads additional assets during play, those are not counted against the 50 MB limit.

Optimize your build before submitting. For Unity WebGL exports, enable Brotli compression in the publishing settings and strip unused engine modules to reduce the build size. For Godot HTML5 exports, use the export templates with size optimization enabled. For custom JavaScript games, run your code through a bundler like Webpack or esbuild with tree-shaking and minification enabled, and compress textures to WebP or KTX2 format to reduce image sizes without visible quality loss.

Test your game in Chrome, Firefox, Safari, and Edge before submitting. Portal review teams test across multiple browsers, and a game that only works in Chrome will be rejected or flagged for fixes. Pay particular attention to Safari, which handles WebGL context creation, audio autoplay policies, and touch events differently from Chromium-based browsers. Also verify that the game works on mobile browsers, as portals receive significant mobile traffic and mobile compatibility is a strong positive signal during review.

Make sure your game has a clear loading indicator. Players on portals expect games to start quickly, and a blank screen during asset loading creates the impression that the game is broken. A simple progress bar or percentage counter during the load phase reassures players and reduces bounce rates, which directly affects your engagement metrics during the review period.

Create a Developer Account and Submit

Navigate to the CrazyGames developer portal at developer.crazygames.com and create an account. The registration is straightforward and requires a valid email address, a display name, and payment information for revenue payouts (PayPal or bank transfer). Once your account is active, click "Submit a game" to begin the submission process.

The submission form asks for the game title, a short description, the primary genre, supported input methods (keyboard, mouse, touch, gamepad), and whether the game is singleplayer or multiplayer. Upload at least three screenshots that show actual gameplay (not just the title screen) and a cover image sized at 512x512 pixels. Write a description that emphasizes what makes your game engaging, since the review team reads this to understand what the game is about before they play it.

Upload your game build as a ZIP file. CrazyGames supports uploads from Unity, Godot, Phaser, Construct, GameMaker, PlayCanvas, Pixi.js, BabylonJS, and any other framework that outputs to HTML5. The ZIP should contain an index.html entry point at the root level. If you are submitting a Unity WebGL build, include the entire Build folder contents along with the loader and framework files.

Other portals follow similar patterns. Poki requires you to apply through their developer page and wait for an invitation to submit, since they use a curated intake model. GameDistribution has an open submission process similar to CrazyGames but with their own SDK requirements. In all cases, the core materials you need are the same: a clean build, good screenshots, and a clear description.

Pass the Basic Launch Review

After submission, your game enters the Basic Launch phase on CrazyGames. During this period, the platform serves your game to a limited audience and measures engagement metrics including average session length, return rate, and gameplay completion. This trial typically lasts about two weeks, though it may be shorter for games that clearly pass or fail the benchmarks.

The review team also checks for technical issues like crashes, rendering glitches, input problems, and mobile compatibility failures. You will receive feedback through the developer dashboard if any issues are found, and you can upload updated builds to address them without losing your place in the review queue.

Games that meet the engagement thresholds are invited to proceed to Full Launch. Games that fall short are typically given specific feedback about what could be improved, and you can resubmit after making changes. Common reasons for rejection include excessively long load times, poor mobile experience, unclear game mechanics that confuse new players, and lack of a compelling gameplay loop that encourages repeated sessions.

The engagement benchmarks are not publicly documented in exact numbers, but the general pattern is clear from developer community discussions: games need an average session length of at least two to three minutes, a day-one return rate above a certain threshold, and minimal technical issues. Games with strong retention mechanics, clear progression systems, and replayable core loops tend to pass review comfortably.

Integrate the Portal SDK

Full Launch on CrazyGames requires integration of their SDK, which handles ad placements, gameplay event tracking, user authentication, and cloud saves. The SDK is available as a JavaScript library that you load in your game's HTML file and call through a documented API.

The most critical SDK integration is ad placement. CrazyGames supports midgame ads (shown during natural pauses like level transitions or game over screens) and rewarded video ads (shown when the player opts in, typically for in-game benefits like extra lives or currency). You call the SDK's ad display function at appropriate moments in your game logic, and the SDK handles loading, rendering, and tracking the ad. Your game should pause during ad playback and resume when the ad completes or is dismissed.

The gameplayStart and gameplayStop events are mandatory calls that tell the platform when a player is actively playing versus idle or in menus. This data feeds into the analytics dashboard and helps CrazyGames optimize when and how often to show your game to new players. Call gameplayStart when the player begins a level or round, and gameplayStop when they return to a menu, pause, or finish a session.

Cloud saves and user authentication are optional but recommended. Cloud saves let players resume their progress across devices, which improves retention. User authentication through the CrazyGames account system gives players a persistent identity, which is especially valuable for games with leaderboards or social features. Both features use simple SDK API calls with callback-based or promise-based patterns.

For other portals, the SDK integration follows similar patterns but with different libraries and API names. Poki's SDK focuses on ad timing and uses a "commercialBreak" and "rewardedBreak" pattern that is conceptually identical to CrazyGames' midgame and rewarded ads. GameDistribution's SDK works similarly, with the addition of cross-site analytics for tracking your game's performance across all the network sites hosting it.

Launch and Monitor Performance

After your SDK integration passes review, CrazyGames promotes your game to Full Launch and begins serving it to their full audience. Your game appears in browse feeds, search results, and recommendation carousels based on its genre, tags, and engagement performance. Games that perform well in the first few days of full launch receive additional visibility through featured spots and algorithmic promotion.

Use the developer dashboard to monitor key metrics. Daily active plays, average session length, and revenue per day are the headline numbers. Dig deeper into retention curves (what percentage of day-1 players return on day 2, day 7, day 30) to understand whether your game has lasting appeal or just novelty value. Geographic data shows which countries are generating the most plays, which affects ad revenue since ad rates vary significantly by region, with tier-1 markets like the US, UK, and Germany generating several times more ad revenue per impression than emerging markets.

Update your game regularly based on analytics and player feedback. CrazyGames allows you to upload new builds at any time, and updates that add content, fix bugs, or improve the gameplay loop directly impact your engagement metrics and revenue. The platform's algorithm rewards games that show improving metrics over time, so a game that launches modestly but improves through updates can eventually reach a larger audience than one that has a strong launch but stagnates.

Key Takeaway

Portal submission is a structured process with clear requirements at each stage. Meeting the technical standards for initial submission is straightforward, but the real work is in optimizing your game's engagement metrics to pass review and then integrating the SDK correctly to maximize both ad revenue and player experience after launch.