Pick a workflow mode below. Default runs the full pipeline (Steps 1–8). Cleanup-only stops after keyword cleaning; map-only maps keywords to URLs (Steps 1 → 3–5, skips labels).
Settings
Relevancy
Loads the preset for every tab below (Brand, Campaigns, Tags, Page Types, Scraper, Programmatic, Outline, Advanced Settings) in one step. You can still change any tab afterward. To bundle the presets currently chosen on each tab, pick Save … as a new Load Profile at the bottom of this list.
Loads a brand paragraph into the box below. Upload brand JSON… fills it from a .json file with your paragraph under one key: text, brand_messaging, or brand. Edit it, then use the Save current settings… options at the bottom of this list to keep it.
Plain-language picture of who you are and what you offer. Each keyword gets a relevance score against this text.
Define your marketing themes here. Each campaign has a short description for scoring, plus optional words or phrases that pin a keyword to that campaign when they appear in the text.
Loads campaigns into the table below. Upload campaigns JSON… fills it from a .json file where each item has a name, a description (text), and optionally tokens for matching. Edit rows, then use the Save current settings… options at the bottom of this list to keep them.
Campaign Name
Campaign Description
Campaign Tokens
Nothing here is saved until you run a campaign—keep a separate copy if you need a long-term draft.
Loads Negative and Brand tag rows below. Upload tags JSON… fills them from a .json file: a list of rules, or an object with a tag_rules array, each rule with a type (Negative or Brand) and a tokens string. Edit them, then use the Save current settings… options at the bottom of this list to keep them.
Tag Type
Tag Tokens
Negative tags mark keywords to treat as off-topic or outlier. Brand tags mark keyword phrases tied to your name. Separate tokens with commas.
Loads URL → page type rows below. Upload page types JSON… fills them from a .json file: a list of rules, or an object with a page_types array, each rule lining up with the columns below. Edit them, then use the Save current settings… options at the bottom of this list to keep them.
Match URL patterns to page type name and intent.
URL contains
Page type name
Intent
Controls how pages are fetched when the job probes or crawls URLs. Ignored if you upload
crawled_pages.csv / crawl_pages - *.jsonl to skip re-fetching.
Helix uses Standard crawl speed; Birch uses Googlebot (mobile); Mattress switches to the DataForSEO crawler. Change settings below, then use the Save current settings… options at the bottom of this list.
Custom crawler uses the in-house HTTP fetcher. DataForSEO crawler uses On-Page
content parsing for every uploaded URL.
Extra HTTP headers sent with each custom-crawler request (same idea as Screaming Frog’s Header Name / Header Value). Used when URLs is set to Crawl URLs (always for Keyword Discovery). Does not apply to the DataForSEO crawler. Use + Add Header below for more rows, then the Save current settings… options to keep them.
Stop the job early when more than this share of probed URLs return HTTP 4xx/5xx.
Use 0 to disable. On failure, download partial results and re-upload
crawled_pages.csv to skip re-crawling successes.
After mapping starts, DataForSEO On-Page content parsing fills
title and visible_text for every uploaded URL.
DataForSEO switch_pool for content parsing.
DataForSEO ip_pool_for_scan (default us).
DataForSEO custom_user_agent. Leave blank to use the API default.
Programmatic
Choose placeholder tokens for clustering so similar phrases group together. Number-style pieces are always turned into tokens automatically.
Click Edit next to a set to change its tags for this run or save them permanently.
Selects Mattresses tokens for all three presets, plus a differentiating tag: Birch adds Year (Standard), Helix adds State (Local), Mattresses adds Concept (School). Change checkboxes, then use the Save current settings… options at the bottom of this list.
Add Custom Programmatic Tags
Optional: define extra placeholders for this run, or check Save to add them permanently to a Programmatic tab.
Tag name becomes an internal token key (shown as […_token]).
Separate tokens with commas; phrases can include spaces.
Use
Save
Tag name
Tokens
Step 9: curated path labels for microclusters (embedding match → mapping_docs/microcluster_outline_map.csv). One format only: a paths array. Each path object may include t1, t2, and/or t3 — at least one per path. Open Sample formats and click Use this sample.
Loads an outline into the paste box below. Upload outline JSON… fills it from a .json file with a paths array; each path may include t1, t2, and/or t3. Edit it, then use the Save current settings… options at the bottom of this list to keep it.
Leave empty to auto-generate a paths outline on the server (OpenAI) from your microcluster names after Step 8. Use Use this sample or upload JSON for your own outline. Invalid paste is cleared automatically and OpenAI is used instead.
Presets for config profile. Change the fields below, then use the Save current settings… options at the bottom of this list.
Controls Step 7 clustering settings. Auto and Traditional use the standard settings; Questions and Extreme long tail are tuned for question-heavy or very long-tail keyword lists.
Status
Step 1: Clean Keywords
Pending
Step 2: Content Inventory
Pending
Build PUMA + COIL. Crawls only with Crawl URLs (always for Keyword Discovery).
Step 3: Score Keywords to URLs
Pending
PASS — match keywords to crawled pages when crawl was enabled; otherwise soft-skips
Step 4: Keyword Discovery
Pending
Finalize keyword→URL mapping (KLU/PASS); AI gap-fill in the Keyword Discovery option
Step 5: Tag Keywords
Pending
Tag rule matches, programmatic token matches, n-grams, KEGGER
Step 6: Assign to Campaign
Pending
Campaign name, campaign relevance, brand score for the Step 5 tagged keywords
Step 7: Organize Keywords (Clustering)
Pending
L1 → L2 → L3 clustering
Step 8: Micro Clusters
Pending
Step 9: Map to Outline
Pending
T1/T2 on microclusters (optional)
Download All Results
Use the Download Deliverables button on the main tab after the workflow completes.
One tag per line. Save for this run applies only to the next campaign.
Save permanently overwrites the shared list.
Restore default puts the factory list back.
Save permanently
Add this custom tag set to a Programmatic tab so it stays available for future jobs.