How Monitoring Works
Everything you need to know about how Elfenfarm finds and collects posts from social media platforms.
Reading time: ~5 minutes
Two Types of Platforms
Elfenfarm monitors two fundamentally different types of platforms:
🔎 Keyword Search Platforms
These platforms have public search APIs. Elfenfarm searches for your configured keywords and returns matching posts.
| Platform | Time Window | Max Posts per Keyword | How It Works |
|---|---|---|---|
| Last 24 hours | 100 | Searches all of Reddit for your keywords, sorted by relevance | |
| YouTube | Relevance-based | 50 videos + 30 comments | Finds videos matching your keywords, then searches their comments |
| Bluesky | Recent posts | 100 | Full-text search across all public posts |
| Mastodon | Recent posts | 40 (hashtag) + 40 (search) | Searches hashtags and full text on configured instances |
| Discord | Last 24 hours | Channel-based | Monitors configured channels for keyword matches |
| Telegram | Channel-based | 100 | Searches within configured channels |
Channel/Page Platforms
These platforms don't offer keyword search. Instead, Elfenfarm downloads all recent posts from your connected pages and then checks which ones match your keywords locally.
| Platform | What's Fetched | Max Posts per Page |
|---|---|---|
| Latest posts from your org page + connected member's posts | 50 per source | |
| Latest posts from your connected pages | 50 per page (with pagination) | |
| Latest posts from your connected accounts | 50 per account |
Channel platforms store all your posts regardless of keywords. Keyword matches are shown as badges, but nothing is filtered out — you always see your complete channel activity.
Geographic Scope
Keyword Search Platforms: Global by Default
Reddit, YouTube, Bluesky, and Mastodon search worldwide. There is no geographic filter at the API level — these platforms don't reliably support it.
Territory Filtering: Scoring, Not Blocking
If you configure territories in your campaign setup, posts are scored for geographic relevance after collection:
- 0.8–1.0 — Mentions institutions, cities, laws, or politicians from your territories
- 0.5–0.7 — Territory-specific references beyond shared language
- 0.2–0.4 — Topic overlaps but no geographic markers
- 0.0–0.1 — No connection to your territories
Language alone is never a territory signal. German is spoken in Germany, Austria, Switzerland, and elsewhere. A post in German doesn't automatically relate to any specific country.
Posts with low territory relevance are not deleted — they remain available but can be filtered in the post list.
Language Filtering: Hard Filter
Unlike territories, the language filter removes posts entirely. If your campaign is set to German and French, posts detected as English or Spanish are deleted during analysis. This prevents noise from irrelevant languages.
Manual vs. Automatic Collection
Manual Collection
You click "Search for Posts" to trigger a one-time scan across all configured platforms. Results appear within minutes.
Important: Some platforms have strict time windows:
- Reddit and Discord only return posts from the last 24 hours
- If you skip a day, those posts are permanently lost
Recommendation: Run manual search at least once daily to avoid gaps.
Automatic Collection (Premium/Enterprise)
With automatic collection enabled, Elfenfarm monitors continuously:
| Tier | Collection Interval |
|---|---|
| Enterprise | Every 5 minutes |
| Premium | Every 30 minutes |
| Trial / Basic | Not available |
Automatic collection ensures no posts are missed, even on platforms with short time windows like Reddit.
How Posts Are Filtered
Each post goes through several stages:
- Collection — Raw posts are fetched from the platform API
- Keyword Matching — Posts are checked against your keywords using fuzzy matching (handles typos, plural forms, word order)
- Language Filter — Posts in languages not configured for your campaign are removed
- Sentiment Analysis — Each remaining post is analyzed for sentiment, alignment, and rhetorical style
- Territory Scoring — If territories are configured, geographic relevance is assessed
- Priority Calculation — Posts are ranked by urgency based on sentiment, engagement, recency, and relevance
Only posts that pass keyword matching (step 2) and language filtering (step 3) are kept. Territory scoring (step 5) adds information but doesn't remove posts.
Tips for Best Results
- Be specific with keywords — "climate policy Switzerland" finds more relevant posts than just "climate"
- Use keyword groups — Combine AND/OR/NOT logic for precise filtering
- Run daily if using manual collection — especially important for Reddit and Discord
- Consider automatic collection — Prevents gaps and ensures continuous monitoring
- Set language filters — Reduces noise significantly, especially for common keywords
- Use territories for scoring — Helps prioritize geographically relevant posts without losing global context
→ Back to your Campaign