> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Keywords

> How keyword targeting works

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  This article provides a comprehensive overview of the keyword targeting capabilities within the Topsort platform. Keyword targeting is a fundamental feature that allows advertisers to connect their products and brands with relevant user search queries, ensuring ads are shown to shoppers with the highest intent.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  ***
</div>

## Keyword Assignment Methods

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Topsort offers both manual and automatic methods for assigning keywords to campaigns, providing advertisers with a balance of granular control and automated efficiency.
</div>

### **Manual Keyword Targeting**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Manual targeting gives advertisers direct control over which search terms will trigger their ads. This can be configured at two different levels:
</div>

#### **1. Campaign-Level Assignment**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Advertisers can assign a list of keywords directly to a campaign. All products included within that campaign will be eligible to serve ads for those specified keywords. This method is ideal for campaigns focused on a specific theme or event.
</div>

#### **2. Product-Level Assignment**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  For more granular control, keywords can be assigned to individual products. This ensures that a specific product appears for highly relevant, niche search terms.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  > **Example Mapping (JSON format):**
  >
  > ```json theme={null}
  > {
  >   "product_123": [
  >     "red running shoes",
  >     "men's sneakers",
  >     "lightweight athletic shoes"
  >   ],
  >   "product_456": [
  >     "women's yoga pants",
  >     "black leggings",
  >     "high-waisted activewear"
  >   ],
  >   "product_789": [
  >     "protein powder",
  >     "vanilla whey protein",
  >     "post-workout supplement"
  >   ]
  > }
  > ```
</div>

<Tip>
  Product-level keywords can be set up in advance by providing a mapping of
  `product_id` to a list of keywords. This allows for bulk management and easy
  integration with existing product information systems (PIM)
</Tip>

### **Automatic Keyword Targeting**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  To maximize campaign reach and improve fill rates, Topsort offers an intelligent, automated keyword targeting method.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **How It Works:** The system analyzes the most frequently used search queries on the platform that lead to conversions and automatically links them to relevant products in active campaigns. This helps discover new, high-performing keywords that might have been missed during manual setup.
  * **Control:** This feature can be easily turned on or off at the campaign level, giving advertisers the choice to rely on their manual keywords exclusively or to augment them with automated targeting.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  ***
</div>

## Negative Keyword Targeting

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Negative keywords are a powerful tool to prevent ads from appearing for irrelevant search queries. Using them effectively reduces wasted ad spend and increases the campaign's overall Return on Investment (ROI) by focusing on the most qualified audience.
</div>

### **Product-Level Negative Keywords**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  For highly specific exclusions, assign negative keywords directly to an individual product. This prevents a product from appearing in searches that are related but not relevant to that specific item.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Like positive keywords, product-level negative keywords can be managed in bulk via a product ID mapping.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  > **Example Mapping with Negative Keywords (JSON format):**
  >
  > ```json theme={null}
  > {
  >   "product_123": {
  >     "keywords": ["men's running shoes", "lightweight athletic shoes"],
  >     "negative_keywords": ["women's", "hiking", "wide fit"]
  >   },
  >   "product_456": {
  >     "keywords": ["women's yoga pants", "black leggings"],
  >     "negative_keywords": ["cotton", "low-rise", "kids"]
  >   }
  > }
  > ```
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  ***
</div>

## Supported Keyword Match Types

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Topsort provides flexible match types to control how closely a user's search query must match an assigned keyword.
</div>

<Note>
  **Configuration:** Match type settings are configurable at the **retailer
  level** (to set a global default) and can be overridden at the **campaign
  level** for more specific control.
</Note>

| Match Type       | Description                                                                                              | Keyword Example  | Will Match (User Search Query)                | Will NOT Match (User Search Query)        |
| :--------------- | :------------------------------------------------------------------------------------------------------- | :--------------- | :-------------------------------------------- | :---------------------------------------- |
| **Exact Match**  | The search query must be an identical match to the keyword, including word order.                        | `[blue handbag]` | `blue handbag`                                | `blue leather handbag`, `handbag blue`    |
| **Phrase Match** | The search query must contain the keyword phrase in the correct order, but can include additional words. | `"blue handbag"` | `small blue handbag`, `blue handbag for sale` | `blue leather handbag`, `handbag in blue` |

### **`Exact Match`**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  The ad is only eligible to appear if the user's search query is an exact match to the keyword, including word order. This offers the highest level of control and relevance.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **Keyword:** `[blue handbag]`
  * **Will Match:** `blue handbag`
  * **Will NOT Match:** `blue leather handbag`, `handbag blue`
</div>

### **`Phrase Match`**

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  The ad is eligible to appear if the user's search query includes the keyword phrase in the correct order, but may contain other words before or after it. This provides a balance between control and reach.
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **Keyword:** `"blue handbag"`
  * **Will Match:** `blue handbag`, `small blue handbag`, `blue handbag for sale`
  * **Will NOT Match:** `blue leather handbag` (as it breaks the phrase), `handbag in blue`
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  ***
</div>

## Ad Format Compatibility

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  Keyword targeting is a core feature of the Topsort platform and is available for **all ad formats**. This ensures consistent targeting capabilities whether you are running campaigns for:
</div>

<div style={{textAlign: 'justify', marginBottom: '1.5rem'}}>
  * **Sponsored Listings**
  * **Banners**
  * **Brand Ads**
  * **Videos**
</div>

***

<LastUpdated date="2025-11-18" />
