{"id":"sheet-mkt-clean-traffic-source-labels","audience":"marketing","category":"spreadsheets","track":"data","technique":"constraints","title":"Map messy traffic source labels to four clean ones","free":false,"task":"Your sign-up sheet's Source column has 14 messy values, and the dashboard only allows Facebook, Instagram, Email and Unknown. Ask for exactly 4 numbered lines, one per clean value in that order, each listing every raw value that maps to it, written as \"1. Facebook: fb, ...\". Blanks and anything you can't place go to Unknown. Plain text, under 80 words.","materialLabel":"The raw Source values (attached to your prompt automatically)","material":"Sign-ups sheet, column F \"Source\" - every distinct value (with counts)\n\nfacebook (212)\nFacebook (88)\nfb (41)\nFB Ads (130)\ninstagram (97)\nIG (23)\nig_story (64)\nInsta-Reels (19)\nnewsletter (150)\nNewsletter-Oct (47)\nemail_blast (33)\n(direct) (58)\n(blank) (71)\npartner_lp (12)\n\nNotes:\n- The Oct newsletter link used a different tag by mistake\n- \"partner_lp\" is from a landing page we shared with a partner; no one remembers which partner\n- \"(direct)\" means the analytics tool couldn't tell where they came from\n- Dashboard refresh is Monday","rules":[{"type":"numberedItems","count":4},{"type":"maxWords","max":80},{"type":"plainText"}],"mistakes":[{"title":"Not giving the allowed values","why":"The AI invents extra buckets like Paid Social, Direct and Partner that the dashboard won't accept.","fix":"Add: \"Only Facebook, Instagram, Email and Unknown.\"","checks":["r2"]},{"title":"No rule for the leftovers","why":"The AI guesses that partner_lp is Email or makes a new category.","fix":"Add: \"Blanks and anything unclear go to Unknown.\"","checks":["r2"]},{"title":"Dropping odd values","why":"The AI skips Insta-Reels or email_blast because they don't look like the others.","fix":"Add: \"Every raw value appears exactly once.\"","checks":["r0","r1"]},{"title":"Long or formatted output","why":"AI writes a table plus formulas and explanations.","fix":"Say: \"Exactly 4 numbered lines, like 1. Facebook: fb, ... Plain text.\"","checks":["numberedItems","maxWords","plainText"]}],"promptHints":[{"label":"Lists the allowed values","patterns":["facebook, instagram","only (these )?(4|four)","allowed"]},{"label":"Says where leftovers go","patterns":["unknown","blank","can'?t place|unclear"]},{"label":"Asks for every value once","patterns":["every (raw )?value","exactly once","each value"]},{"label":"Shows the line shape","patterns":["facebook:","\\b(4|four)\\b.{0,20}lines"]},{"label":"Asks for plain text","patterns":["plain","no bold","no markdown"]}],"hint":"Cleaning labels is a mapping job. Give the AI the only values allowed and a home for anything it can't place.","rubricLabels":["Facebook gets facebook, Facebook, fb and FB Ads; Instagram gets instagram, IG, ig_story and Insta-Reels","Email gets newsletter, Newsletter-Oct and email_blast","Unknown gets (direct), (blank) and partner_lp, and every one of the 14 raw values appears exactly once across the 4 lines"]}