Output
{
"id": 1,
"ad_test_id": 1,
"business_analysis": "{\n \"business_classification\": \"digital product / online game\",\n \"locality_assessment\": \"not a true local business; location fields are not material because the offer is delivered online\",\n \"primary_meta_ad_risk_level\": \"high\",\n \"key_risks\": [\n \"Unclear product positioning; 'anyone who likes online web games' is too broad for targeting and messaging\",\n \"No stated unique value proposition or proof elements; weak trust signal for cold traffic\",\n \"Goal is 'attention' but conversion method is landing_page; objective and funnel are misaligned\",\n \"Very low budget ($10) limits learning and makes testing statistically weak\",\n \"No pixel, no reviews, no video; tracking and social proof are missing\",\n \"Offer is vague: 'sign up and play 3 free levels' without clear game genre, device compatibility, or game benefits\",\n \"Potential policy/quality risk if the landing page is thin, misleading, or does not clearly disclose pricing after the free levels\",\n \"Creative format is static only; may underperform for a game offer that usually needs demonstration\",\n \"Buyer age range 24-56 is broad and may not match typical casual gaming behavior\",\n \"Main friction listed as unknown, which indicates insufficient customer research\"\n ],\n \"meta_ad_fit_assessment\": \"moderate fit in principle, but poor readiness for efficient testing\",\n \"recommended_targeting_note\": \"Start broad only if the landing page and offer are strong; otherwise test a narrower interest-based audience around online games/casual games\",\n \"recommended_optimizations\": [\n \"Clarify the game genre and core hook\",\n \"Add a stronger landing page above-the-fold value proposition\",\n \"Install pixel before running ads\",\n \"Use a video or motion asset if possible\",\n \"Define the post-free-level pricing and make it explicit\",\n \"Create one primary conversion event and align campaign objective to it\"\n ],\n \"confidence\": \"medium\",\n \"raw_interpretation\": {\n \"category\": \"game_app\",\n \"plain_offer\": \"Sign up and play 3 free levels\",\n \"what_it_is\": \"Sign up and play 3 free levels is a game/app experience that needs a fast trial action, not a long explanation.\",\n \"likely_user_state\": \"bored, scrolling, open to quick entertainment but unwilling to work hard\",\n \"easy_first_action\": \"click to go to the site\",\n \"quick_result_or_experience\": \"they can sign up to play\",\n \"main_friction\": \"i dont know\",\n \"available_proof\": [\n \"real photos\",\n \"website\",\n \"Facebook page\"\n ],\n \"input_risks\": [\n \"The offer description is thin; positioning should not depend heavily on the user wording.\"\n ],\n \"engine_note\": \"User input is treated as raw material. The ad angle should be built for the scroll environment, not copied from the intake wording.\"\n },\n \"attention_angles\": [\n {\n \"id\": \"angle_1\",\n \"name\": \"Instant boredom escape\",\n \"sample_hook\": \"Bored right now? Try 3 free levels in under a minute.\",\n \"angle_description\": \"Position the game as a fast escape for people who want something to do immediately, with no commitment and no learning curve. The core promise is instant distraction rather than the game itself.\",\n \"attracts\": [\n \"People killing time, casual web game players, commuters, office scrollers, bored adults who want a quick hit of entertainment\"\n ],\n \"repels\": [\n \"People looking for deep strategy, serious gamers, or anyone who hates casual browser games\"\n ],\n \"signal_shortcut\": \"Speed + no commitment + free first experience\",\n \"risk\": \"Can sound generic if the creative does not show a specific playful moment or visual payoff.\",\n \"budget_fit\": \"Strong for a $10 hook test because it is simple, broad, and easy to judge by scroll-stop behavior.\",\n \"why_it_might_work\": \"Boredom is a high-frequency state on social feeds, and a fast, low-friction entertainment promise can earn clicks without needing much explanation.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_2\",\n \"name\": \"Free trial before you decide\",\n \"sample_hook\": \"Play 3 levels free before you pay anything.\",\n \"angle_description\": \"Frame the offer as a no-risk sampler so the user feels they are testing the game first rather than buying upfront. This reduces hesitation around unknown digital products.\",\n \"attracts\": [\n \"Skeptical users, price-sensitive browsers, people who avoid paying before trying, cautious casual gamers\"\n ],\n \"repels\": [\n \"Impulse buyers who want immediate full access, and users who assume free trials are annoying\"\n ],\n \"signal_shortcut\": \"Try-first, pay-later logic\",\n \"risk\": \"If the landing page looks confusing or the trial terms are unclear, trust drops fast.\",\n \"budget_fit\": \"Good for low-budget testing because the message is easy to understand in one glance.\",\n \"why_it_might_work\": \"People often click when the first step feels reversible, especially for unfamiliar games or digital products.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_3\",\n \"name\": \"Coffee-break game\",\n \"sample_hook\": \"Need a 2-minute break? Jump into 3 free levels.\",\n \"angle_description\": \"Sell the experience as a tiny break activity that fits naturally into work breaks, waiting rooms, or downtime between tasks. It is about fitting the user’s current moment.\",\n \"attracts\": [\n \"Busy adults, workers on breaks, parents with small windows of free time, people who want short entertainment\"\n ],\n \"repels\": [\n \"Gamers looking for long sessions, story-driven experiences, or anything requiring a time investment\"\n ],\n \"signal_shortcut\": \"Short-session framing\",\n \"risk\": \"May underperform if the creative does not clearly communicate that the game is quick to start and easy to understand.\",\n \"budget_fit\": \"Excellent for a small Meta test because the concept maps cleanly to scrolling behavior and short attention spans.\",\n \"why_it_might_work\": \"A specific use-case hook often beats a generic game ad because it matches a real life moment.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_4\",\n \"name\": \"Simple web game, no download\",\n \"sample_hook\": \"Play instantly in your browser — no app to install.\",\n \"angle_description\": \"Lead with the convenience of web-based access and remove the friction of downloads, sign-up confusion, or app-store behavior. The offer becomes about ease of access.\",\n \"attracts\": [\n \"Desktop users, people with limited phone storage, casual players who dislike app downloads, older users who prefer simple access\"\n ],\n \"repels\": [\n \"Mobile-native gamers who expect apps and deeper game ecosystems\"\n ],\n \"signal_shortcut\": \"No download / browser play\",\n \"risk\": \"If the audience expects a mobile app experience, this can feel less exciting unless the visuals look polished.\",\n \"budget_fit\": \"Very testable on a small budget because the value proposition is immediate and easy to communicate in static creative.\",\n \"why_it_might_work\": \"Reducing friction often increases curiosity clicks, especially when users are not fully convinced yet.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_5\",\n \"name\": \"Low-stakes fun for casual players\",\n \"sample_hook\": \"If you like quick casual games, this one is easy to jump into.\",\n \"angle_description\": \"Position the game for people who already enjoy simple online games and want another casual option. This angle assumes familiarity with the category and speaks to comfort rather than novelty.\",\n \"attracts\": [\n \"Casual game fans, puzzle-game browsers, people who already spend time on web games\"\n ],\n \"repels\": [\n \"Non-gamers, users who want novelty or high intensity, and anyone who dislikes game-like experiences\"\n ],\n \"signal_shortcut\": \"Category familiarity\",\n \"risk\": \"Can blend in with generic game ads if the creative does not include a distinct visual or benefit.\",\n \"budget_fit\": \"Useful for a small test if the goal is to find a responsive audience segment rather than maximize scale.\",\n \"why_it_might_work\": \"People who already like casual web games are more likely to stop when they see a familiar and low-effort offer.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_6\",\n \"name\": \"Curiosity-first challenge\",\n \"sample_hook\": \"See how far you get in the first 3 free levels.\",\n \"angle_description\": \"Use light challenge language to trigger curiosity and a sense of progression. The angle invites the user to test themselves without making the game sound serious or demanding.\",\n \"attracts\": [\n \"Competitive casual players, people who like mini-challenges, users drawn to progression and completion\"\n ],\n \"repels\": [\n \"People who avoid challenge-based messaging, very passive scrollers, and users who prefer relaxing gameplay only\"\n ],\n \"signal_shortcut\": \"Progress curiosity\",\n \"risk\": \"If the gameplay does not visually look rewarding, the challenge hook can feel empty.\",\n \"budget_fit\": \"Good for cheap attention testing because it creates a small psychological pull without needing a complex explanation.\",\n \"why_it_might_work\": \"Curiosity plus a small achievable goal can create stronger engagement than a plain “play now” message.\",\n \"source\": \"ai\"\n },\n {\n \"id\": \"angle_7\",\n \"name\": \"Nostalgia / old-school browser fun\",\n \"sample_hook\": \"Remember browser games? This is the kind of quick fun you can start right away.\",\n \"angle_description\": \"Tap into the feeling of simple web games and lightweight online fun. The angle is less about features and more about familiar, low-pressure entertainment.\",\n \"attracts\": [\n \"Adults who used to play browser games, people who like simple game formats, users with some nostalgia for internet-era games\"\n ],\n \"repels\": [\n \"Users who want cutting-edge graphics, app-based gaming communities, or hardcore gameplay\"\n ],\n \"signal_shortcut\": \"Familiar, retro-feeling entertainment\",\n \"risk\": \"If the visuals look too modern or too generic, the nostalgia cue may not land.\",\n \"budget_fit\": \"Works as a small-budget test because nostalgia is easy to communicate with static imagery and short copy.\",\n \"why_it_might_work\": \"Familiarity can lower skepticism and make a user more willing to click out of curiosity.\",\n \"source\": \"ai\"\n }\n ],\n \"angle_stage\": \"pending_human_selection\",\n \"angle_instruction\": \"Human must select an angle before the final ad/test report is generated.\"\n}",
"creative_output": "{\n \"status\": \"pending_angle_selection\"\n}",
"setup_output": "{\n \"status\": \"pending_angle_selection\",\n \"objective\": {\n \"objective\": \"Engagement\",\n \"optimization_event\": \"Post engagement\",\n \"reason\": \"Static creative at this budget should test qualified reactions, not sales.\"\n },\n \"audience\": {\n \"type\": \"local\",\n \"location\": \"Tampa, FL USA\",\n \"radius\": \"15 miles\",\n \"age\": \"24-56\",\n \"gender\": \"All, unless the offer is truly gender-specific\",\n \"detailed_targeting\": \"Use minimal detailed targeting. Let the hook self-qualify.\",\n \"note\": \"Location is the strongest hard fence for local businesses.\"\n }\n}",
"pacing_output": "{\n \"daily_budget\": 5,\n \"duration_days\": 2,\n \"checkpoints\": [\n \"6 hours\",\n \"24 hours\",\n \"48 hours hard pause\"\n ],\n \"note\": \"Use daily budget and manually pause.\"\n}",
"kill_rules_output": "{\n \"kill\": [\n \"Less than 500 impressions after 48 hours at $5+/day: pause and check ad review, audience size, or account delivery.\",\n \"Mostly spam, emoji-only comments, or unrelated messages: change audience/creative before spending more.\",\n \"People misunderstand the offer: revise the hook or CTA before increasing budget.\",\n \"After full spend, no useful views/engagement and no soft signal: kill this hook.\",\n \"Video 50% hold rate below 10%: first 3 seconds failed.\"\n ],\n \"continue\": [\n \"Clear hold/engagement signal from the right kind of viewer.\",\n \"A real comment, save, or profile visit tied to the problem.\"\n ],\n \"scale_only_if\": [\n \"Primary metric beats the threshold.\",\n \"Buyer signal is real, not vanity engagement.\",\n \"No major negative-comment or misunderstanding issue.\"\n ]\n}",
"outcome_prediction": "{\n \"status\": \"pending_angle_selection\"\n}",
"full_report": "<section class=\"report-section intro-callout\"><h2>Angle discovery complete</h2><p>The engine found possible attention angles. Choose one direction before building the final Meta test plan.</p><p><a class=\"btn primary\" href=\"angles.php?id=1\">Choose Ad Angle</a></p></section>",
"created_at": "2026-06-11 23:07:42"
}