agrosense / scripts /build_fb_campaign.py
johnpitteera's picture
Upload folder using huggingface_hub
d27b187 verified
Raw
History Blame Contribute Delete
11.5 kB
"""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())