Skip to main content

Overview

Checks title and description for required hashtags, social tags, text, and optional topic relevance. Requires at least one configuration parameter - Provide any of the configuration keys below.

Configuration

config.suggested_hashtags
array
Suggested hashtags (used for scoring only).
config.required_hashtags
array
Hashtags that must be present.
config.required_social_tags
array
Social tags (for example, @brand) that must be present.
config.required_social_tags_mode
string
Requirement mode: “all” or “at_least_one”.
config.required_text
array
Text strings that must be present (case-insensitive).
config.required_text_mode
string
Requirement mode: “all” or “at_least_one”.
config.topic_keywords
array
Topic keywords used when topic analysis is enabled.
config.enable_topic_analysis
boolean
Whether to evaluate topic relevance.

Example Configuration

{
  "detector_name": "title_and_description",
  "config": {
    "suggested_hashtags": ["#acme"],
    "required_hashtags": ["#ad"],
    "required_social_tags": ["@acme"],
    "required_social_tags_mode": "all",
    "required_text": ["sponsored"],
    "required_text_mode": "at_least_one",
    "topic_keywords": ["vacuum", "cleaning"],
    "enable_topic_analysis": true
  }
}

Result Schema

{
  "detector_name": "title_and_description",
  "pass_check": true,
  "score": 0.78,
  "rationale": "All required elements present. Relevant to topic.",
  "metrics": {
    "title": "Acme Vacuum Review",
    "description": "#ad Sponsored by @acme. Great cleaning power.",
    "relevance_score": 0.82,
    "is_relevant": true,
    "evidence": "Mentions cleaning and vacuum performance.",
    "missing_elements": [],
    "suggested_hashtag_analysis": {
      "found_hashtags": ["#ad", "#acme"],
      "used_suggested_hashtags": ["#acme"],
      "unused_suggested_hashtags": [],
      "suggested_count": 1,
      "total_suggested": 1
    },
    "required_hashtag_analysis": {
      "found_hashtags": ["#ad"],
      "missing_hashtags": [],
      "all_present": true
    },
    "required_social_tag_analysis": {
      "found_tags": ["@acme"],
      "missing_tags": [],
      "all_present": true,
      "requirement_met": true,
      "mode": "all"
    },
    "required_text_analysis": {
      "found_text": ["sponsored"],
      "missing_text": [],
      "all_present": true,
      "requirement_met": true,
      "mode": "at_least_one"
    },
    "suggested_hashtags": ["#acme"],
    "required_hashtags": ["#ad"],
    "required_hashtags_normalized": ["#ad"],
    "required_social_tags": ["@acme"],
    "required_social_tags_normalized": ["@acme"],
    "required_social_tags_mode": "all",
    "required_text": ["sponsored"],
    "required_text_mode": "at_least_one",
    "topic_keywords": ["vacuum", "cleaning"],
    "min_topic_score": 0.7,
  }
}

Interpreting Results

  • required_*_analysis: Whether each required element was found and any missing items.
  • suggested_hashtag_analysis: Suggested hashtags influence score, not pass/fail.