Spaces:
Sleeping
Sleeping
| """Generate the AgroSense Facebook Launch Campaign as Word (.docx) and PDF. | |
| pip install python-docx fpdf2 | |
| python scripts/build_fb_campaign.py | |
| """ | |
| from __future__ import annotations | |
| import sys | |
| from pathlib import Path | |
| sys.path.insert(0, str(Path(__file__).resolve().parent)) | |
| from docgen import build_both # noqa: E402 | |
| DOCS_DIR = Path(__file__).resolve().parent.parent / "docs" | |
| TITLE = "AgroSense - Facebook Launch Campaign" | |
| SUBTITLE = "Page, organic content, Groups, Meta Ads and Lead Ads - India-first" | |
| SECTIONS = [ | |
| ("1. Campaign Overview", [ | |
| ("ul", ["Campaign: #GrowWithAgroSense ('Smart farming, local wisdom').", | |
| "Why Facebook: clickable links in every post (direct traffic), huge rural " | |
| "and older reach in India, Facebook Groups for community, powerful Meta " | |
| "Ads targeting, and Lead Ads / Messenger / WhatsApp for sign-ups.", | |
| "Goal: awareness + sign-ups (farmers, FPOs, agri-doctors) and an owned " | |
| "community Group.", | |
| "Audience: smallholder farmers, FPOs/cooperatives, agri-experts, agri " | |
| "students; India-first and multilingual.", | |
| "Duration: 14-day launch sprint; pair with the 30-day calendar afterwards.", | |
| "Primary CTA: 'Try free' (link). Secondary: 'Join the AgroSense Farmers " | |
| "Group' and 'Apply to become a verified Plant Doctor'.", | |
| "KPIs (organic): reach, engagement, link clicks, group joins, shares. " | |
| "KPIs (ads): CPM, CTR, CPC, cost per lead (CPL), sign-ups, ROAS."]), | |
| ]), | |
| ("2. Page Setup and Optimization", [ | |
| ("ul", ["Page name: AgroSense (category: Agricultural Service / App Page).", | |
| "Profile + cover: logo and a clear value line ('Cited farming advice, " | |
| "weather, plant clinic and verified doctors - in your language').", | |
| "Page CTA button: 'Use App' or 'Sign Up' (link), or 'Send Message' for " | |
| "Messenger lead capture.", | |
| "About: short mission + link; add WhatsApp/Messenger contact.", | |
| "Pin a post: the launch video with the sign-up link.", | |
| "Set up Meta Business Suite, the Meta Pixel and a Conversions API on the " | |
| "sign-up page to measure and optimize.", | |
| "Enable auto-replies / a Messenger greeting with a quick menu."]), | |
| ]), | |
| ("3. Content Pillars", [ | |
| ("ol", ["Empathy - real farmer pain points.", | |
| "Features - advisor, weather/satellite, plant clinic + live doctor, " | |
| "prices & farmer trading, clubs, traditional/Panchang advisor, finance " | |
| "(loans + schemes), land records, multilingual.", | |
| "Education - practical agronomy tips and seasonal checklists.", | |
| "Proof and impact - testimonials, numbers, doctor spotlights.", | |
| "Community and CTA - join the Group, sign up, become a verified doctor."]), | |
| ]), | |
| ("4. Organic Content - 14-Day Launch", [ | |
| ("ul", ["Day 1 (Video + link): Launch - 'Meet AgroSense' (reuse the reel; FB " | |
| "native upload with captions) + sign-up link. Pin it.", | |
| "Day 2 (Link post): blog/landing - '5 ways AgroSense helps your farm'.", | |
| "Day 3 (Photo + text): a cited advisor answer screenshot + tip.", | |
| "Day 4 (Poll): 'Biggest farm worry? Pests / Weather / Prices'.", | |
| "Day 5 (Video): 'Snap a sick leaf -> get a prescription' (plant clinic).", | |
| "Day 6 (Group launch): create 'AgroSense Farmers (India)' Group; invite " | |
| "followers; post welcome rules + first question.", | |
| "Day 7 (Link post): 'Ask in your language' (multilingual).", | |
| "Day 8 (Video): 'Talk to a real plant doctor' (live consult).", | |
| "Day 9 (Photo + text): live mandi prices + 'sell smarter'.", | |
| "Day 10 (Event): announce a Facebook Live demo/webinar (set for Day 13).", | |
| "Day 11 (Link post): 'For agri-experts: become a verified Plant Doctor'.", | |
| "Day 12 (Testimonial photo/video): farmer success story.", | |
| "Day 13 (Facebook LIVE): product demo + Q&A; save as a video; boost after.", | |
| "Day 14 (Recap video + strong CTA): best moments + sign-up link."]), | |
| ("p", "Posting cadence afterwards: 4-6 posts/week + daily Group engagement. Mix " | |
| "link posts (traffic), native video (reach) and photos/polls (engagement)."), | |
| ]), | |
| ("5. Facebook Groups Strategy", [ | |
| ("ul", ["Own a community: launch 'AgroSense Farmers (India)' - a helpful, " | |
| "moderated Group (crop advice, Q&A, weekly themes mirroring the calendar).", | |
| "Seed value, not spam: answer real questions (using AgroSense), run weekly " | |
| "'Ask the advisor' and 'Doctor Friday' threads, and feature member wins.", | |
| "Participate respectfully in existing farming/FPO Groups - share genuinely " | |
| "useful tips; follow each group's promotion rules.", | |
| "Convert: pin a welcome post with the sign-up link and Group guidelines; " | |
| "route tough questions to a live doctor consult."]), | |
| ]), | |
| ("6. Meta Ads Plan", [ | |
| ("h2", "Objectives and funnel"), | |
| ("ul", ["Awareness/Reach - introduce AgroSense to cold farming audiences.", | |
| "Traffic/Engagement - drive link clicks and video views; build warm " | |
| "audiences from viewers and page/Group engagers.", | |
| "Leads - Lead Ads (instant forms) or conversions on the sign-up page for " | |
| "farmer and doctor sign-ups.", | |
| "Messenger/WhatsApp - click-to-chat ads for hands-on, low-literacy-friendly " | |
| "onboarding."]), | |
| ("h2", "Audiences"), | |
| ("ul", ["Cold: location (India or specific states/districts), age 18-60, " | |
| "interests - Agriculture, Farming, Crops, Kisan, Agribusiness, related " | |
| "Pages; behaviors and rural geos.", | |
| "Cold (experts): interests - Agronomy, Plant pathology, ICAR, " | |
| "Horticulture, Agricultural science (for doctor recruitment).", | |
| "Warm: video viewers (25-75%), page/Group engagers, website visitors " | |
| "(Pixel).", | |
| "Lookalike: 1-3% lookalikes of sign-ups / engagers once you have data."]), | |
| ("h2", "Formats"), | |
| ("ul", ["Single video (the reel) and single image for cold reach.", | |
| "Carousel - one feature per card.", | |
| "Lead Ad with an instant form (Name, Phone/WhatsApp, State, Crop).", | |
| "Click-to-Messenger / WhatsApp for guided onboarding."]), | |
| ("h2", "Budget and testing"), | |
| ("ul", ["Start small (e.g. a modest daily budget) across 3-4 ad sets; let the " | |
| "algorithm find winners, then scale the best.", | |
| "A/B test the first 3 seconds of video, the headline, and the audience.", | |
| "Optimize for the lowest cost per lead / per sign-up; refresh creative " | |
| "every 1-2 weeks to fight fatigue."]), | |
| ]), | |
| ("7. Sample Ad Copy", [ | |
| ("h2", "Ad 1 - Traffic/Leads (farmers)"), | |
| ("p", "Primary text: Wrong advice can cost a whole season. AgroSense gives " | |
| "evidence-backed, cited farming advice - plus weather, satellite, plant " | |
| "diagnosis, live mandi prices and verified plant doctors. In your language. " | |
| "Try it free."), | |
| ("p", "Headline: Smart farming, local wisdom. | Description: Cited advice + " | |
| "live experts. | CTA: Sign Up."), | |
| ("h2", "Ad 2 - Plant clinic (video)"), | |
| ("p", "Primary text: Spotted leaves? Do not guess. Snap a photo and get a likely " | |
| "diagnosis with a safe, step-by-step treatment. Protect your yield - catch " | |
| "problems early. (Decision support, not a substitute for an expert.)"), | |
| ("p", "Headline: Diagnose your crop in seconds. | CTA: Learn More."), | |
| ("h2", "Ad 3 - Doctor recruitment (Lead Ad)"), | |
| ("p", "Primary text: Are you an agronomist, pathologist or entomologist? Get " | |
| "verified on AgroSense and help farmers across India by video or chat. " | |
| "Build your rating and reach. | Headline: Become a verified Plant Doctor. " | |
| "| CTA: Sign Up. | Form: Name, Phone/WhatsApp, Specialization, " | |
| "Registration no."), | |
| ]), | |
| ("8. Sample Organic Posts", [ | |
| ("p", "Launch post: One wrong input can cost a season. AgroSense puts cited " | |
| "farming advice in your pocket - weather, satellite, plant diagnosis, live " | |
| "prices and verified plant doctors, in your language. Try free: [link]. " | |
| "Join our farmers' community: [Group link]. #AgroSense #SmartFarming"), | |
| ("p", "Plant clinic post: Not sure what is wrong with your crop? Snap a photo in " | |
| "AgroSense and get a likely diagnosis plus a safe treatment - in seconds. " | |
| "Catch it early, protect your yield. Try free: [link]."), | |
| ("p", "Prices post: Selling soon? Check live mandi prices in AgroSense and sell " | |
| "at the right place and time. Free to use: [link]."), | |
| ("p", "Doctor post: When you need a human, AgroSense connects you to a VERIFIED " | |
| "plant doctor - by video or chat, in your language, with ratings you can " | |
| "see. Try free: [link]."), | |
| ]), | |
| ("9. Video, Live and Events", [ | |
| ("ul", ["Reuse the Instagram reels as FB native videos (upload directly; do not " | |
| "just share the IG link). Keep burned-in captions for muted autoplay.", | |
| "Host a Facebook LIVE demo + Q&A; create a Facebook Event to drive RSVPs " | |
| "and reminders; repurpose the recording into clips.", | |
| "Localize the top videos into Hindi/Kannada/Telugu/Tamil/Marathi/Bengali/" | |
| "Malayalam."]), | |
| ]), | |
| ("10. Hashtags and Style", [ | |
| ("p", "Facebook uses few hashtags - 1 to 3 max per post (e.g. #AgroSense " | |
| "#SmartFarming #KisanTech). Lead with value and a clear link; emojis " | |
| "sparingly; keep the first line strong (it shows before 'See more')."), | |
| ]), | |
| ("11. Measurement", [ | |
| ("ul", ["Organic (Page insights): reach, engagement rate, link clicks, video " | |
| "retention, Group joins and active members.", | |
| "Ads (Ads Manager): CPM, CTR, CPC, cost per lead/sign-up, frequency, ROAS.", | |
| "Funnel: impressions -> clicks -> sign-ups -> active users; doctor " | |
| "applications.", | |
| "Review weekly; scale winners, cut losers, refresh creative; build " | |
| "lookalikes from converters."]), | |
| ]), | |
| ("12. Compliance", [ | |
| ("p", "Keep the 'decision support, not a substitute for an expert' line on " | |
| "treatment/medical content; never guarantee yields or income. Follow Meta " | |
| "advertising policies and collect consent on lead forms; honor each Group's " | |
| "promotion rules."), | |
| ]), | |
| ] | |
| def main() -> int: | |
| build_both(TITLE, SUBTITLE, SECTIONS, DOCS_DIR, "AgroSense_Facebook_Campaign") | |
| return 0 | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |