# AI Chat
Source: https://docs.wisepim.com/en/ai/ai-chat
Chat with WISEPIM AI to analyze catalog performance, understand the numbers behind your store, and turn insights into one-click actions.
WISEPIM AI Chat is your conversational copilot for product information management. It has live access to your catalog, analytics, customers, and search data, so it can answer questions in plain language, show you the numbers behind the answer, and propose the exact changes that fix what it finds. You stay in control: nothing is applied to your catalog until you approve it.
AI Chat integrates with your product catalog and **[Knowledge Library](/en/other-features/knowledge-library)**, so the AI understands your products, brand voice, and business context when generating content.
You can customize AI Chat behavior (personality, response style, tool access, and more) in **[Settings > AI Chat](/en/settings/ai-chat)**.
## Getting started
### Open AI Chat
Navigate to **AI Chat** from the main sidebar. The first time you open it, you will see an empty conversation headed **How can I help you today?** with starter cards to get you going quickly.
Click **AI Chat** in the main navigation sidebar.
Enter your question or request in the message input at the bottom of the screen, or click a suggested prompt to pre-fill one.
Press **Enter** or click the send button. The answer streams in as it is written, so you can start reading straight away. Above it you see each action the assistant takes while it works, such as fetching your quality scores or looking up the products behind a number.
Read the answer, any charts or tables it returns, and any proposed actions. Copy it, approve an action, give feedback, or continue with a follow-up question.
### Chat beside your products
You can also open the assistant as a sidebar next to the [Products](/en/essentials/managing-products) table. The conversation sits beside your catalog, so you can ask about the products you are looking at and apply the fix it proposes without switching screens.
### The message toolbar
A few tools sit below the message input:
* **Attach** (paperclip): add images, PDFs, or spreadsheets for the AI to read. See [Attaching files and images](#attaching-files-and-images).
* **Dictate** (microphone): speak your message instead of typing, and WISEPIM transcribes it in your language.
* **Load prompt**: open the [Prompt Library](#prompt-library) of curated and saved templates.
* **AI Enhance**: rewrite a rough prompt into a clearer, more specific one. See [AI prompt enhancer](#ai-prompt-enhancer).
### Suggested prompts
A new conversation opens with starter cards grouped by the job you want to do:
* **Analyze**: a full store performance report, or compare this period to the last one
* **Control quality**: run a data health check, find issues to fix, or select a set of products and fix them
* **Plan strategy**: surface keyword opportunities, or find content and SEO gaps
* **Create**: write in your brand voice, or build a marketing copy kit
A row of quick ideas sits just above the input, covering common starting points: quality score overview, revenue and top products, customer segments, brand-aligned descriptions, homepage hero copy, and promo banner copy. Click any card to drop a ready-made prompt into the input, then send it as-is or edit it first.
## What you can do
AI Chat is built around four jobs. Because it reads your live data and can act on it, each one goes from question to finished change in the same conversation.
Revenue and order trends, conversion funnels, customer segments, product rankings, and search performance, returned as charts and tables you can read at a glance.
Quality scores and grades, field coverage, channel readiness, and a prioritized roadmap of the fixes that move the needle most.
Product descriptions, optimized titles, short descriptions, SEO meta, and marketing copy kits, all written in your Knowledge Library voice.
Filter the catalog, enrich products, run bulk edits, change product visibility in bulk, and translate for new markets, proposed as actions you approve without leaving the chat.
## Ask about your live data
The AI queries your catalog and business data in real time. When you ask something like "What are my top products by revenue?" or "Show me products missing descriptions," it fetches the live numbers, shows its working, and presents the result as an interactive chart, table, or product list.
You can control which data the AI may use in **[Settings > AI Chat](/en/settings/ai-chat)** under **Tool Access**. The available data categories are:
* **Quality & Catalog**: quality scores, field coverage, catalog stats, improvement roadmap
* **Analytics & Revenue**: revenue, top products, conversion funnel, marketing analytics
* **Customers**: customer segments (RFM) and customer analytics
* **Search & SEO**: site search analytics and Google Search Console performance
* **Operations**: task statuses and integration sync health
Turn on **Always fetch live data** in settings (the default) so answers reflect your real catalog instead of general knowledge. When a number looks surprising, ask the AI to show the breakdown or the products behind it.
## Read the results: scores, charts, and tables
AI Chat does not bury numbers in a wall of text. It renders results as the same charts, scores, and tables you see across WISEPIM, so you can understand them quickly and know what to do next.
### How results are shown
| Format | What it is used for |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ |
| **KPI row** | Headline metrics such as revenue, orders, and average order value, each with the trend versus the previous period. |
| **Gauge** | A single score, like your overall quality grade. |
| **Funnel** | The path from sessions to purchases, with the drop-off at each step. |
| **Line chart** | A metric over time, like daily revenue. |
| **Bar or donut** | A breakdown, like revenue by channel or category. |
| **Sortable table** | Ranked lists, like top products. Click any column header to re-sort. |
| **Product cards** | The actual products behind a number, with quick links to open them. |
Prefer a plain answer? Say "no charts" or "just tell me in words" and the assistant leaves the chart and table cards out of that reply. Suggested actions still appear. Chart titles, column labels and series names follow the language of the reply, so if you ask for an answer in French the visuals are labelled in French too.
### Make sense of the key numbers
The point of the numbers is the decision they lead to. Here is how to read the ones AI Chat reports most often, and what each one should prompt you to do.
| Metric | What it tells you | How to act on it |
| -------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Quality score & grade** | How complete and channel-ready your catalog is, on an A to F scale. | A grade below B usually means missing or thin fields. Ask for the prioritized fix list and start at the top. |
| **Field coverage** | The percentage of products that have each key field filled. | Low coverage on description, images, or price blocks channels. Enrich the gaps for the affected set. |
| **Revenue, orders & AOV** | Sales performance, with the percentage change versus the previous period. | Rising orders with flat revenue means smaller baskets. A falling average order value points to discounting or product mix. |
| **Conversion funnel & drop-off** | Where shoppers leave between session and purchase. | The largest drop-off is your largest opportunity. Fix that step before anything else. |
| **Returns rate** | The share of orders sent back, often broken down by quality grade. | High returns on low-graded listings usually mean the content overpromises or underspecifies. Tighten those descriptions first. |
| **Customer (RFM) segments** | Who buys, who is loyal, and who is slipping away. | Target at-risk and high-value segments with tailored copy and offers. |
| **Search & Search Console** | What shoppers search for and where you rank. | Terms you rank just outside the top are quick wins. Optimize the products behind them. |
Notice how the answer above does the interpreting for you: it states the change (revenue down 9.4%), names the two drivers (returns climbing on low-graded listings, and stock-outs in one category), recommends the quickest win, and offers a one-click way to dig into the breakdown. That is the pattern to expect: a number, the reason behind it, and a next step.
## Turn answers into action
When the AI spots something it can fix, it proposes an action right inside the chat. You review it and approve, and nothing touches your catalog until you do.
### How a proposed action works
Each proposed action appears as a card under **Suggested actions**:
* The card shows **what will change**, the type of action, and roughly **how many products it affects** (for example, `~128 products affected`).
* **Preview** shows the effect on the page without committing anything.
* **Show details** expands the **Scope** (which products), the **Configuration** (the exact settings), and **Sample products**, so you can verify before running.
* **Edit** lets you adjust the action first. **Dismiss** removes it.
* **Approve** runs a safe, read-only action immediately. **Review & approve** opens a catalog-changing action so you can confirm it in full first.
The assistant only proposes what it can actually run. A filter condition the engine cannot evaluate is dropped and the action is re-proposed without it, and if you name a field the project does not have, it says so and suggests the closest existing fields instead of proposing an action on a field that does not exist.
### Types of actions
| Action | What it does | Confirmation |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| **Apply filter** | Narrows your product list to the exact set you discussed. | One click |
| **Open page** | Jumps to the right screen, such as a dashboard or settings page. | One click |
| **Enrich** | Generates descriptions, titles, SEO meta, or translations. | Review & approve |
| **Bulk edit** | Runs a catalog operation, such as find and replace, a price change, or switching product visibility across a selection. | Review & approve |
| **Run command** | Triggers a built-in WISEPIM workflow. | Depends on the command |
The simplest of these is **Apply filter**. Ask which products have a problem, and the AI answers with the count and a one-click filter that narrows the catalog to exactly that set.
### Multi-step plans
For bigger jobs, the AI lays out an ordered plan. Each step is its own reviewable action, and **Approve all in order** runs them top to bottom, pausing if a step needs your attention.
Review every action before approving it, especially bulk edits and deletions. Open **Show details** to check the **Scope** and **Sample products** so you change exactly what you intend.
You can preview any proposed action for free. Applying catalog changes from chat may require a plan upgrade. If so, you will see an **Upgrade to apply** prompt on the action.
### From question to result
Putting it together, here is how a single question becomes a finished change:
| You ask | The AI shows | You approve | The result |
| ------------------------------------------ | --------------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------- |
| "Which products are missing a main image?" | A count and a sample, with a filter action | Apply filter | The catalog narrows to those products so you can fix them in one place. |
| "My titles are inconsistent, fix them" | What is wrong today plus a recommended title format | Rewrite the titles | Consistent, keyword-first titles for higher marketplace click-through. |
| "We are launching in Germany next month" | A localization shortlist for the launch | Translate to German | Names, descriptions, and SEO meta translated in your tone, with brand terms preserved. |
| "Revenue dipped last week, why?" | The drivers, such as rising returns and stock-outs | Open returns by quality grade | A ranked view of what to fix to recover the lost revenue. |
| "Clean up brand names and prices" | A two-step plan with affected counts | Approve all in order | Standardized brand casing and consistent charm pricing across the catalog. |
## Prompt Library
The Prompt Library gives you access to a set of professionally engineered curated prompts plus your own saved prompts. Click **Load prompt** in the input toolbar (or press **Cmd/Ctrl + Shift + P**) to open the library, then search either tab to find a template.
### Curated Prompts
Curated prompts are ready-to-use templates organized into five categories. Each prompt is designed to pull the right data and produce actionable output.
#### Product Content
| Prompt | What it does |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| **Write Product Descriptions** | Finds your top products by revenue and generates brand-aligned descriptions using your Knowledge Library voice. |
| **Optimize Product Titles** | Rewrites your top product titles for SEO: under 70 characters with keyword placement best practices. |
| **Create Short Descriptions** | Generates 160-character descriptions perfect for category pages and meta descriptions. |
| **A/B Test Copy Variants** | Creates 3 description variants per product (feature-focused, benefit-focused, story-focused) to test which converts best. |
| **Cross-Sell & Upsell Copy** | Generates "Pairs well with" and "Upgrade to" copy using frequently bought together data. |
| **Product FAQ Generator** | Creates pre-purchase Q\&A sections with 5 questions covering specs, shipping, use cases, care, and alternatives. |
| **Email Flow Copy Kit** | Writes copy for abandoned cart, welcome series, and post-purchase email sequences with subject lines and CTAs. |
#### Analytics & Performance
| Prompt | What it does |
| --------------------------------- | --------------------------------------------------------------------------------------------------------- |
| **Revenue & Performance Report** | 30-day overview with top products, revenue by channel, conversion funnel, and actionable recommendations. |
| **Traffic & Conversion Analysis** | Conversion funnel with drop-off rates, cart abandonment, revenue by source, and time-of-day patterns. |
| **Customer Segment Analysis** | RFM segmentation with segment sizes, revenue contribution, and specific retention tactics. |
| **Product Performance Ranking** | Top and bottom products by revenue with recommendations to improve underperformers. |
| **Weekly Performance Digest** | A concise 7-day snapshot with key metrics and quick-win recommendations. |
#### SEO & Marketing
| Prompt | What it does |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **SEO Content Audit** | Finds missing fields, thin content, and quality gaps across your catalog, prioritized by SEO impact. |
| **Marketing Copy Kit** | Email subject lines, Instagram captions, homepage hero copy, and Google Ads for your top products. |
| **Keyword Strategy** | Primary keywords and long-tail variations based on your catalog categories with internal linking opportunities. |
| **Category Page Content** | SEO-optimized category descriptions, H1 tags, and meta descriptions in your brand voice. |
| **Seasonal Campaign Planner** | Content calendar with product promotions and email themes for the next quarter. |
| **Search Performance Insights** | Analyzes site search and Google Search Console data to find content gaps and CTR opportunities. |
#### Data Quality
| Prompt | What it does |
| ----------------------------- | ------------------------------------------------------------------------------------------------ |
| **Product Data Health Check** | Quality scores, field coverage, trends, and a prioritized list of fixes with the biggest impact. |
| **Find Incomplete Products** | Products missing descriptions, images, or prices with business impact analysis. |
| **Channel Readiness Audit** | Checks if products meet requirements for Google Shopping, Amazon, and marketplaces. |
| **Quality by Product Family** | Compares quality scores across product families to find which need the most attention. |
| **Improvement Roadmap** | Prioritized action plan showing which fixes will have the biggest quality score impact. |
#### Strategic
| Prompt | What it does |
| ------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Catalog Strategy Review** | Category distribution, pricing analysis, cross-sell opportunities, and expansion recommendations. |
| **Content Quality Scorecard** | Rates your product content against ecommerce best practices with a maturity score. |
| **Pricing Intelligence Report** | Price distribution, top-revenue products, and 3 pricing recommendations (quick win, test, strategic). |
| **Content ROI Analysis** | Correlates quality scores with revenue to prove content investment impact. |
### My Prompts
The **My Prompts** tab shows prompts you have saved from previous conversations. You can save any message as a reusable prompt by hovering over it and clicking the **Save** icon.
## Managing Chat Sessions
AI Chat organizes your conversations into sessions. Each session maintains its own message history, so you can revisit previous conversations at any time.
### Chat History Sidebar
The sidebar on the left displays all your chat sessions. From here you can:
* **Create a new chat**: start a fresh conversation
* **Switch between sessions**: click any session to load its messages
* **Rename a session**: give conversations meaningful names for easy reference
* **Delete a session**: remove conversations you no longer need
WISEPIM automatically generates a smart title for each session based on your first message. You can rename it at any time from the sidebar.
## Working with Messages
### Copying Responses
Hover over any message to reveal action buttons. Click the **Copy** button to copy the message content to your clipboard. A checkmark confirms the copy was successful.
You can also use the keyboard shortcut **Cmd/Ctrl + Shift + C** to copy the most recent AI response without hovering.
### Regenerating Responses
If you are not satisfied with an AI response, click the **Regenerate** button (circular arrow icon) on the last assistant message. The AI will generate a new response to your most recent question.
### Providing Feedback
Each AI response includes **thumbs up** and **thumbs down** buttons. Use these to indicate whether the response met your expectations. This feedback helps improve future responses.
### Stopping Generation
If the AI is taking too long or you want to cancel a response mid-generation, click the **Stop generating** button that appears below the chat, or press the **Escape** key.
## Attaching Files and Images
You can attach files and images to any chat message. The AI reads the content and uses it directly in its response. This is useful for asking questions about a specific spreadsheet, having the AI describe or audit a product image, or sharing a plain-text reference.
### How to attach
* **Paperclip button**: click the paperclip icon in the input toolbar to open the file picker.
* **Drag and drop**: drag files from your desktop and drop them onto the chat input area.
After you select files, each attachment appears as a chip above the input. Images show a thumbnail preview; documents show a file-type icon and filename. A progress bar tracks the upload, and the chip shows **Ready** once the file is uploaded and ready to send. You can remove any attachment before sending by clicking the **×** on its chip.
### Supported file types
| Type | Formats |
| ---------------- | -------------------------------- |
| **Images** | PNG, JPEG, WebP, GIF, HEIC, HEIF |
| **Documents** | PDF |
| **Spreadsheets** | CSV, XLS, XLSX |
| **Text** | TXT (plain text) |
Each file can be up to **20 MB**. You can attach up to **10 files** per message.
You can send a message with attachments and no text, or add both. For images, ask the AI to describe, audit, or compare them. For spreadsheets, ask it to summarize, find patterns, or spot data issues.
## AI Prompt Enhancer
The **AI Enhance** feature helps you write better prompts. If you have a rough idea of what you want but are not sure how to phrase it effectively, the AI Enhance tool can refine your prompt for better results.
Write a draft of what you want to ask in the input field.
Click the **AI Enhance** button (magic wand icon) in the input toolbar.
The AI will generate an improved version of your prompt with better structure and specificity.
The refined prompt replaces your original input. Send it as-is or make further adjustments.
AI Enhance works even when the input field is empty. You can describe what you need in the enhancer modal, and it will generate a complete, well-structured prompt from scratch.
## Tips for Better Results
WISEPIM AI can make mistakes. Always review AI-generated content for accuracy before publishing it to your product catalog or marketing channels.
### Writing Effective Prompts
* **Be specific**: instead of "write a description," say "write a 150-word product description for a premium leather wallet targeting men aged 25-40"
* **Mention your brand voice**: include tone guidelines like "professional but approachable" or "playful and casual"
* **Set constraints**: specify word counts, character limits, or formatting requirements
* **Provide context**: reference the product category, target audience, or sales channel
* **Ask for data first**: start with "Show me my top products by revenue" then follow up with "Now write descriptions for these"
### Getting the Most from Conversations
* **Use follow-up messages**: refine the AI output by asking for adjustments in follow-up messages rather than starting over
* **Iterate on responses**: ask the AI to make the text shorter, more persuasive, or more SEO-focused
* **Combine data and content**: ask the AI to analyze your data first, then generate content based on the findings
* **Close the loop**: after the AI surfaces a problem, ask it to "fix that for me" so it proposes an action you can review and approve
* **Save successful prompts**: when a prompt produces great results, save it to your Prompt Library for reuse
* **Organize sessions by topic**: keep separate sessions for different projects or product categories
## Related
Set the personality, response style, tool access, and language for your copilot.
Add the brand voice, audience, and values the AI writes with.
Explore the dashboards behind the numbers AI Chat reports.
See the catalog operations the AI can propose and run for you.
# AI Attribute Extraction
Source: https://docs.wisepim.com/en/ai/attributes
Pull structured attributes like material, dimensions, and color out of unstructured product text with AI, so every product has complete, filterable specs.
Attributes are the structured specs that power filters, comparison tables, feeds, and faceted search, material, dimensions, color, weight, compatibility, and more. The problem is they are usually buried inside description text or missing entirely. Attribute enrichment uses AI to read each product's existing content and extract those specs into clean, structured attribute fields.
**What it enables:** make your catalog filterable and feed-ready. Structured attributes drive on-site faceted search, marketplace requirements, and the comparison data shoppers use to choose, all extracted automatically from text you already have.
Attribute enrichment costs **1 credit per product**. Extracted values are written to your product's attribute fields, mapped to the attributes defined for that product's family.
## When to use it
* **Specs live in description text** but not in structured fields, so shoppers can't filter on them.
* **A marketplace or feed requires specific attributes** (Google Shopping needs GTIN, color, size, material; Amazon has category-specific required fields).
* **Filters return incomplete results** because many products are missing the attribute being filtered on.
* **As part of [Auto-Fill](/en/ai/auto-fill)**, which extracts missing attributes using your default attribute prompt.
## How to run it
Check products individually, or filter (for example, by a missing key attribute) and select all matching results.
Click **Enrich with AI** in the toolbar.
Pick **Attributes** as the enrichment type.
Choose an attribute prompt from your [Prompt Library](/en/essentials/prompt-library). The prompt guides which attributes to look for and how to format values.
No prompt of your own yet? Open the **Curated Prompts** tab. These are written by WISEPIM and ranked for your industry, so the best fit is near the top. Use **Set as default** on the one you like and it is pre-selected for every attribute run from then on.
Click **Start Enrichment** and track it in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## How extraction works
The AI reads each product's title, description, and any existing data, then extracts values for the attributes defined on that product's **family**. It only fills attributes that exist in your structure, it does not invent new attribute types. Values are normalized to match your conventions where the prompt asks for it (for example, "Red" rather than "red", or units like "cm").
Attribute extraction is only as good as the source text. If descriptions are thin, run [Web Research](/en/ai/web-research) first to pull in specs from external sources, then extract attributes from the enriched data.
## What good looks like
* **Consistent value formatting.** "Stainless Steel" everywhere, not a mix of "stainless", "S/S", and "inox". Ask the prompt to normalize.
* **Units included and consistent.** Dimensions and weights carry their unit, in the same system across the catalog.
* **No invented values.** A blank is better than a guess. Tell the prompt to leave an attribute empty if the value isn't present in the source.
* **High coverage on filterable attributes.** The attributes shoppers filter on (size, color, material) should be populated on nearly every product.
## Act on what you find
Low coverage usually means the source text doesn't contain the specs. Run [Web Research](/en/ai/web-research) to fetch specs from external sources first, then re-extract. **Outcome:** attributes populated even where your own data was thin.
Add normalization rules to the prompt ("Capitalize color names; express all dimensions in cm"). Re-run. **Outcome:** clean, uniform values that group correctly in filters and feeds.
Confirm the attribute exists on the product family, then enrich. If the value genuinely isn't determinable from content, Web Research or a supplier import may be needed. **Outcome:** feed-ready products that pass marketplace validation.
Review extracted attributes in the [Data Quality](/en/analytics/data-quality) tab, which scores attribute coverage and flags suspicious values. **Outcome:** confidence that extracted specs are accurate before they go live.
## Related
Fetch specs from external sources when your own data is thin.
Track attribute coverage and catch suspicious values.
Overview of all 15 enrichment types.
Build and organize your attribute prompts.
# Auto-Fill Missing Data
Source: https://docs.wisepim.com/en/ai/auto-fill
Find every content gap across selected products and fill them all in one run: titles, descriptions, SEO metadata, and attributes.
Auto-Fill analyzes each product you select, finds every missing content field, and fills them all in one background job using your project's default prompts. Instead of running five separate enrichments for titles, descriptions, short descriptions, SEO meta, and attributes, you run one, and only the fields that are actually empty get filled.
**What it enables:** onboard a batch of new products and have all content generated before your next coffee. Run it after any import to turn skeleton records into fully written listings.
Auto-Fill reads your defaults from **Settings → Enrich Prompts**. If no default is set for a gap type, that type is skipped. Set your defaults first and Auto-Fill will handle the rest.
You pay **1 credit per product per field** that is actually generated. Fields that already have content are skipped, so they cost nothing.
## Auto-Fill or Bulk Enrich?
Both run several content fields in one go, but they treat existing content in opposite ways. Pick by what you want to happen to the words already on the product.
| | **Auto-Fill** | **Bulk Enrich** |
| ---------------- | ------------------------------------------- | ----------------------------------------------- |
| What it writes | Only the fields that are empty | Every field you pick, on every selected product |
| Existing content | Left alone | Overwritten |
| You choose | Which gap types to include | Which fields to regenerate |
| Use it when | New or half-filled products need completing | You want a fresh rewrite with better prompts |
So: Auto-Fill fills the holes, Bulk Enrich starts over. See [Enriching Products](/en/essentials/enriching-products) for both, side by side with the other enrichment types.
## The five gap types
| Gap type | What it fills | Default prompt source |
| ---------------------- | ------------------------------- | ---------------------------- |
| **Descriptions** | Full product description | Description default |
| **Short Descriptions** | Concise product summary | Description default (shared) |
| **Titles** | Product name / title | Titles default |
| **SEO Title & Meta** | Meta title and meta description | SEO default |
| **Attributes** | Extracted structured specs | Attributes default |
Each product is analyzed individually. A product that already has a description but is missing a title only receives a title, it is not re-enriched for fields that already have content.
## Set up your defaults first
Auto-Fill works best when all four default prompts are configured. Go to [Settings → Enrich Prompts](/en/settings/enrich-defaults) and pick a prompt for each type.
If you do not have prompts yet, create them in the [Prompt Library](/en/essentials/prompt-library) first, or use the AI Prompt Wizard to generate one.
## How to run Auto-Fill
Check the products you want to fill. You can select individual rows, apply filters and select all matching results, or select your entire catalog.
Click **Enrich with AI** in the toolbar.
Select **Auto-Fill Missing Data**: the second card in the **Start here** shelf at the top of the modal, right next to [Bulk Enrich](/en/ai/bulk-enrich).
Review the gap types, adjust prompt overrides if needed, and set the overwrite threshold if you want to regenerate low-quality content too.
Click **Start Enrichment**. The job runs in the background. Track progress in the [Process Tracker](/en/other-features/process-tracker).
## Configuration options
### Gap type selection
All five gap types are enabled by default. Uncheck any you want to skip on this run. A gap type shows as disabled (greyed out) if no default prompt is set for it and you have not picked a prompt override for it, set a default or choose an override to include it.
### Prompt overrides per type
Each gap type has a dropdown where you can override the project default for this one run. Choose **Project default** to use the default from Settings → Enrich Prompts, or pick any matching prompt from your library. Use overrides when you want to test a different prompt without changing the project default.
If a type has no prompt you like, open the **Curated Prompts** tab in the [Prompt Library](/en/essentials/prompt-library). These are written by WISEPIM and ranked for your industry. Use **Set as default** on the one you pick and Auto-Fill uses it from then on, with no override needed.
### Overwrite threshold
By default, Auto-Fill only fills fields that are **completely empty**. If you turn on the overwrite threshold, Auto-Fill also regenerates existing content whose quality score is below the percentage you set.
* **Off (default):** fill empty fields only.
* **On:** fill empty fields AND regenerate any field with a quality score below the threshold (0–100%, adjustable in 5% steps).
The overwrite threshold is useful after improving your prompts, you can use it to upgrade old low-quality content alongside new gaps in the same run.
Start with the overwrite threshold off on your first run to fill obvious gaps safely. Once you have confirmed the output quality, enable it at a low threshold (30–40%) to gradually upgrade weaker content.
## What happens during the run
Auto-Fill submits one enrichment task per product. Each task:
1. Checks which of the selected gap types are actually missing (or below the overwrite threshold) for that product.
2. Runs only the enrichers needed, no wasted credits on fields that already have content.
3. Writes the generated content into the appropriate reviewed/enriched fields.
### Following the run
Auto-Fill appears in the [Process Tracker](/en/other-features/process-tracker) as one parent task with its child tasks grouped underneath it. Open the parent to see how many products are done and how many are still queued, or expand it to follow an individual product.
Two actions matter on that parent task:
* **Stop** halts the parent and every child still running, so credits stop being spent immediately.
* **Resume** picks up where the run stopped and processes only the remainder. It costs no extra credits, because the original run already paid for those products.
Runs started before 28 July 2026 cannot be resumed. Start a fresh run from the products page instead.
## Act on what you find
A greyed-out gap type has no default prompt and no override selected for this run. Go to [Settings → Enrich Prompts](/en/settings/enrich-defaults) to set a default, or pick a prompt from the override dropdown directly in the Auto-Fill panel. **Outcome:** all five gap types enabled so nothing is skipped.
Run Auto-Fill immediately after the import to turn skeleton records into fully written listings. Select the newly imported products (filter by import date or "no description" status), open the Enrich modal, and start Auto-Fill. **Outcome:** new products are ready to review and publish without any manual writing.
Enable the overwrite threshold and set it to the quality score below which you want to regenerate. Start low (30%) and review a sample before running it on your full catalog. **Outcome:** weaker content is systematically replaced with your current best-practice prompts.
Check whether the products with weaker output have less source data (shorter existing descriptions, fewer attributes, no images). Auto-Fill works from what is already in the product record. Products with richer source data will produce better AI output. Improve source data first, then re-run. **Outcome:** consistent quality across the catalog.
Use the per-type prompt override in the Auto-Fill panel. This overrides the project default for this run only and does not change your Settings → Enrich Prompts configuration. **Outcome:** run a test prompt on a specific field without affecting the global default.
## Related
Set the default prompts Auto-Fill uses for each content type.
Overview of all 15 enrichment types and how to run them.
Create and manage the prompts used by Auto-Fill and all other enrichment types.
Monitor Auto-Fill progress and review results when the run completes.
# Bulk Enrich
Source: https://docs.wisepim.com/en/ai/bulk-enrich
Regenerate the fields you pick across every selected product in one run: titles, descriptions, SEO meta, and attributes, each with your chosen prompt.
Bulk Enrich regenerates the fields you pick across every product you select, overwriting what's there with freshly written content from your chosen prompts. It's the tool for "start over, but better": you improved a prompt, rebranded your tone of voice, or inherited a catalog whose copy isn't worth keeping.
**What it enables:** rewrite the titles, descriptions, and SEO of an entire product range in one run, instead of enriching field by field.
Bulk Enrich **always overwrites**. If you only want to fill what's missing, use [Auto-Fill](/en/ai/auto-fill) instead - same fields, same prompts, but it leaves existing content alone.
## Run a Bulk Enrich
Tick rows in the product table, or [filter](/en/products/filtering-products) to a set and choose **Select all** to run on every matching product across all pages.
In the toolbar. **Bulk Enrich** is the first card in the **Start here** shelf.
Choose which of the five fields to regenerate. Everything is pre-selected except **Attributes** - re-deriving attributes in bulk is rarely wanted, so it's opt-in.
Each field runs your project default prompt unless you pick another from the dropdown. Fields with no usable prompt are dimmed with "no prompt" - set defaults in [Enrich Prompts](/en/settings/enrich-defaults) first.
Check the credit estimate, then click **Start Bulk Enrich**. The run continues in the background - track it in the Process Tracker.
## The five fields
| Field | What gets written |
| ---------------------- | ---------------------------------------- |
| **Titles** | Product names / titles |
| **Descriptions** | Full product descriptions |
| **Short Descriptions** | Concise product summaries |
| **SEO Title and Meta** | Meta title, description, and keywords |
| **Attributes** | Custom attribute values (off by default) |
Other enrichment types - categorization, web research, translation, internal linking, image alt text - are separate actions in the same modal, not part of a Bulk Enrich run.
## Credits: the combine switch
**Combine into fewer calls** is on by default, and it's the main cost lever:
* **On**: titles, SEO, and short description are generated together in one call. The whole run costs **1 credit per product** for one field, **2 credits per product** for two or more - regardless of how many of the five you pick. Descriptions and attributes keep their own call but are included in that flat price.
* **Off**: each field is generated in its own AI call at **1 credit per product per field** - five fields would cost 5 credits per product.
The modal shows a live estimate ("About N credits for this run") against your balance before you start. Fields without a usable prompt are excluded from both the run and the bill.
Leave combine on. Separate calls only make sense when you want one field's output to be completely independent of the others - for example, a deliberately different angle in the short description than the description.
## While it runs
The run appears in the **Process Tracker** under the AI Enrichment filter: one parent **Bulk Enrich** task orchestrating a child task per field, with live progress over WebSocket.
* **Stop and resume**: you can stop a run at any point and resume it later - resume picks up exactly where it left off and **never re-charges credits** for the remainder.
* **Failures**: if a run fails partway, the same Resume button runs the unprocessed items once the cause is fixed. If a run can't be queued at all, the upfront credits are refunded in full.
* When it finishes you get a recap: how many products were enriched and how long it took.
Existing values in the selected fields are overwritten - that's the point of Bulk Enrich, but it means running it on the wrong selection rewrites content you wanted to keep. Check the product count in the modal header before starting, especially in "all matching products" mode.
## Bulk Enrich elsewhere
* **After scraped imports**: the [Import by Scraping settings](/en/settings/import-by-scraping) can chain Bulk Enrich onto every import, optionally after [web research](/en/ai/web-research) has merged verified facts first.
* **In Automations**: Bulk Enrich is available as an [automation action](/en/automations/action-nodes), so a schedule or trigger can regenerate content without anyone clicking.
## Related
Same fields, but only fills gaps - existing content stays.
Set the default prompt each field runs with.
Write and manage the prompts Bulk Enrich can use.
All enrichment types side by side.
# AI Categorization
Source: https://docs.wisepim.com/en/ai/categorization
Automatically assign products to your existing category tree with AI, with a confidence threshold you control, so nothing lands in the wrong place.
AI Categorization reads each product's content and assigns it to the right categories in **your existing category tree**. It does not invent categories, it places products into the structure you already have, and it only commits an assignment when its confidence clears the threshold you set.
**What it enables:** categorize a freshly imported catalog in minutes instead of days, keep categories consistent as you add products, and fix the uncategorized "Other" bucket that quietly hurts navigation and merchandising.
AI Categorization is **promptless**, it needs no prompt from your library. It costs **1 credit per product**. It assigns your existing categories and never creates new ones.
## When to use it
* **After an import** where products arrive with no category, or a flat supplier category that doesn't match yours.
* **To clear the "Uncategorized" bucket** that builds up over time.
* **When category assignment is inconsistent**, similar products scattered across different branches.
* **As an [Automation](/en/automations/overview) step**, so new products are categorized the moment they're created. The step has its own maximum-categories setting.
## How to run it
Check products individually, or filter (for example, "uncategorized") and select all matching results.
Click **Enrich with AI** in the toolbar.
Pick **AI Categorization** as the enrichment type.
Adjust the confidence threshold and how many categories each product can receive (see below).
Click **Start Enrichment** and track it in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## Configuration options
### Confidence threshold
The AI scores how sure it is about each category match. It only assigns a category when that score clears your threshold.
* **Default: 75%.** A balanced setting that assigns confidently in most catalogs.
* **Range: 0–100%, in 5% steps.** Raise it for accuracy, lower it for coverage.
* **Higher threshold** = fewer assignments, but the ones made are more reliable. Products it isn't sure about are left for you to place manually.
* **Lower threshold** = broader coverage, but review the edge cases.
Start at the **default 75%** for a first pass. Then lower the threshold to 60–65% and run again on whatever is still uncategorized, you get the safe, confident assignments first, and only review the genuinely ambiguous products.
### Category count per product
* **Auto-assign (recommended):** the AI decides how many categories fit each product, some belong in one, some in several.
* **Manual maximum:** turn auto-assign off and set a cap of **1–10** categories per product. Use this when your merchandising rules limit how many categories a product may appear in.
## What good looks like
* **The uncategorized count drops sharply** after the first run at the default threshold.
* **Assignments match your merchandising logic**, products appear where shoppers would look for them.
* **A small, reviewable remainder** stays uncategorized, the genuinely ambiguous products, which you place by hand or by lowering the threshold.
## Act on what you find
Your threshold may be too high for this catalog, or your category names may be ambiguous. Lower the threshold to 60–65% and re-run on the remainder, and consider clarifying vague category names. **Outcome:** higher coverage without sacrificing the confident first-pass assignments.
A misplacement usually traces back to thin product content, the AI had little to go on. Enrich the [title](/en/ai/titles), [description](/en/ai/descriptions), and [attributes](/en/ai/attributes) first, then re-categorize. **Outcome:** accurate placement driven by richer product data.
Turn off auto-assign and set a manual maximum (for example, 2–3). **Outcome:** category counts that match your merchandising rules.
Add AI Categorization as a step in an [Automation](/en/automations/overview) triggered on product creation or import. The automation step takes a maximum number of categories per product, so the same merchandising cap applies to automatic runs. **Outcome:** new products are categorized the moment they enter the catalog, with no manual run.
## Measure the impact
Better categorization improves navigation and the relevance of category-level merchandising. Review structure and category health in [Category Insights](/en/analytics/category-insights), and watch how category pages perform in [Search & Discovery](/en/analytics/search-discovery).
## Related
Analyze category structure, health, and revenue.
Extract the specs that help the AI categorize accurately.
Categorize new products automatically on import.
Overview of all 15 enrichment types.
# AI Product Descriptions
Source: https://docs.wisepim.com/en/ai/descriptions
Write full product descriptions with AI, structured, benefit-led, and scannable, from each product’s existing data and your brand voice.
The description is where a product is sold. Description enrichment uses AI to write complete, structured product copy from each product's existing attributes, title, and category, guided by the prompt you choose and your [Knowledge Library](/en/other-features/knowledge-library) context.
**What it enables:** replace empty or copy-pasted supplier text with unique, benefit-led descriptions for every product, written in your brand voice, at a scale no copywriting team could match by hand.
Description enrichment costs **1 credit per product**. Output is written to the **Enriched Description** field, your original description is preserved, so you always have the source to compare against.
## When to use it
* **Products have no description**, or only a one-line supplier blurb.
* **Descriptions are duplicated** across variants or copied from the manufacturer (which hurts SEO).
* **You're rebranding or repositioning** and need consistent voice across the catalog.
* **As part of [Auto-Fill](/en/ai/auto-fill)**, which writes missing descriptions automatically using your default description prompt.
## How to run it
Check products individually, or filter (for example, by "no description") and select all matching results.
Click **Enrich with AI** in the toolbar.
Pick **Descriptions** as the enrichment type.
Choose a description prompt from your [Prompt Library](/en/essentials/prompt-library). The prompt sets the structure, length, and tone.
No prompt of your own yet? Open the **Curated Prompts** tab. These are written by WISEPIM and ranked for your industry, so the best fit is near the top. Use **Set as default** on the one you pick and it is pre-selected for every description run from then on.
A description prompt carries a target size, so you do not have to spell the length out in words.
| Target size | Roughly |
| ------------------ | --------------------------------------------------- |
| **Auto** (default) | The AI decides, based on the product and the prompt |
| **Compact** | \~80 words |
| **Standard** | \~150 words |
| **Detailed** | \~300 words |
| **Comprehensive** | \~500 words |
| **Custom** | The length you type in |
Click **Start Enrichment**. Track the job in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## What a great description prompt produces
The best AI descriptions are not walls of text, they are structured and scannable. Encode that in your prompt:
* **Open with the core benefit.** Lead with what the product does for the shopper, not its spec sheet.
* **Use short paragraphs and a bullet list.** Shoppers skim. Ask the prompt for a 2–3 sentence intro followed by a bullet list of key features.
* **Translate specs into benefits.** "2000 mAh battery" becomes "all-day power on a single charge." Give the AI the specs and ask it to explain why they matter.
* **Write for the audience, not the algorithm.** Natural, helpful copy that happens to include keywords beats keyword-stuffed text. For search-query-driven rewrites, use [Search Intent](/en/ai/search-intent) instead.
* **Stay truthful.** Tell the prompt to only use facts present in the product data, so it does not invent specs.
Fill your [Knowledge Library](/en/other-features/knowledge-library) with brand voice, target audience, and tone guidance. Every description run reads it, so the output sounds like your brand instead of generic AI copy.
## Act on what you find
Generic copy comes from a generic prompt or thin source data. Write category-specific prompts ("B2B industrial fasteners" vs "fashion accessories") and enrich [Attributes](/en/ai/attributes) first so the AI has real specs to work from. **Outcome:** distinctive copy that reflects each product.
Add a guardrail to the prompt: "Only state facts present in the provided product data. Do not infer or invent specifications." Re-run. **Outcome:** accurate descriptions you can publish without fact-checking each one.
Set the target size for length (Compact, Standard, Detailed, Comprehensive, or a Custom value) and use the prompt for structure ("one intro paragraph, then 4–6 feature bullets"). Test on a small batch in [Prompt Lab](/en/essentials/prompt-lab) before the full run. **Outcome:** consistent structure and length across every product.
Use [Search Intent](/en/ai/search-intent) enrichment instead, it rewrites descriptions using the real queries driving traffic from Google Search Console. **Outcome:** copy aligned to demonstrated demand, not guesses.
## Measure the impact
After enriching a representative batch and collecting a few weeks of sales, open [Enrichment Impact](/en/analytics/enrichment-impact) to see revenue lift attributed to description work. If descriptions consistently produce the biggest lift, that is your signal to roll them out catalog-wide.
## Related
Give the AI your brand voice, audience, and product context.
Build and organize your description prompts.
Rewrite descriptions to match real search queries.
Measure the revenue lift from better descriptions.
# Image Alt Text
Source: https://docs.wisepim.com/en/ai/image-alt-text
Use AI vision to write descriptive alt text for every product image that has none, optimized for screen readers and image search.
Image Alt Text uses AI vision to look at each product image and write a concise, accurate description, up to 125 characters, for every image that has no alt text yet. It uses both what it sees in the image and what it knows about the product (name, primary category, attribute values) to write copy that is accurate rather than generic.
**What it enables:** pass accessibility audits (ADA/WCAG), give visually impaired shoppers accurate image descriptions via screen readers, and improve image search indexing so your products appear in Google Image results for relevant queries.
Image Alt Text costs **1 credit per product**. It only fills images that have **no alt text at all**, and never overwrites alt text you have already written or that came in via an import. Run it freely without worrying about losing existing work.
## Why alt text matters
Alt text does two jobs:
**1. Accessibility.** Screen readers read alt text aloud for visually impaired shoppers. Without it, they hear "image", no product information. With good alt text, they hear a meaningful description. Empty alt text on product images is one of the most common accessibility failures on e-commerce sites.
**2. Image SEO.** Search engines cannot see images, only their alt text. Descriptive alt text tells Google what each image shows, which helps your products appear in image search results for relevant queries. A product image with no alt text is invisible to image search.
The 125-character limit is the widely accepted sweet spot: long enough to be descriptive, short enough not to feel like keyword stuffing and to avoid truncation by screen readers.
## What the AI uses
For each image, the AI combines:
* **Visual analysis**: what the image actually shows (product type, color, shape, composition, quantity)
* **Product name**: the title for context and brand/model accuracy
* **Primary category**: vertical context (electronics, fashion, home, etc.)
* **Attribute values**: color, material, size, and other structured data to validate visual findings
The AI prioritizes what it can verify visually. If the image clearly shows a blue product but the attributes say red, the alt text will describe what it sees and note the discrepancy, it does not invent facts.
## How to run Image Alt Text
Choose the products whose images you want to fill. The run only processes images with no alt text, so it is safe to select everything.
Click **Enrich with AI** in the toolbar.
Select **Image Alt Text** from the enrichment type grid. No prompt or configuration is needed.
Click **Start Enrichment**. The run processes in the background. Each product image is analyzed individually. Track progress in the [Process Tracker](/en/other-features/process-tracker).
## What good alt text looks like
Good alt text is:
* **Specific.** "Black leather men's wallet with RFID blocking, card slots visible" not "wallet image".
* **Under 125 characters.** Enough to describe; short enough to stay within screen reader comfort zones.
* **Not keyword-stuffed.** Written as a description, not as a list of search terms.
* **Free of "image of" or "photo of."** Screen readers already announce "image" before reading the alt text.
Review 5–10 outputs after the first run to confirm the AI is describing your product type accurately. Products with unusual photography (flat lay, lifestyle, close-up detail shots) may produce descriptions that focus on the composition rather than the product itself, that is expected behavior for those image types.
## Act on what you find
Supplier imports almost never include alt text. After any import, select the newly added products and run Image Alt Text immediately. **Outcome:** zero images with empty alt text from the start, no manual writing required.
Empty alt text on product images is one of the most common accessibility failures. Running Image Alt Text across your catalog is one of the fastest ways to close that gap. After the run, use your audit tool of choice to verify coverage. **Outcome:** catalog that passes basic accessibility requirements for image content.
This usually happens when the image is a lifestyle or composition shot rather than a product-on-white image. The AI describes what it sees, a lifestyle image of a sofa in a living room will produce a room description, not a sofa spec. For lifestyle images, consider writing alt text manually or adding a note to your photo brief to include one clean product shot per SKU. **Outcome:** consistent alt text quality across product and lifestyle images.
Gallery images added after the initial run start empty again. Run Image Alt Text again on the affected products to fill the new images. **Outcome:** alt text coverage is maintained as your image library grows.
Open the product in the product editor, go to the image gallery, and edit the alt text field directly. Changes made there are preserved, Image Alt Text only ever fills empty entries. **Outcome:** AI-generated alt text as a starting point, refined to your exact standards.
## Related
Overview of all 15 enrichment types.
Manage and organize your product images.
Track overall catalog health, including image coverage.
Catch image vs. data mismatches using AI vision across your catalog.
# Internal Linking
Source: https://docs.wisepim.com/en/ai/internal-linking
AI reads each product description and adds contextual links to related products and category pages, passing SEO equity across your catalog.
Internal Linking reads each product's description and adds 3–5 contextual links to related products and category pages. It anchors links to relevant phrases already in the copy, so the additions read naturally rather than feeling appended.
**What it enables:** build a well-connected catalog where every product points shoppers toward related options, spread link equity from high-authority pages to the rest of your catalog, and reduce bounce rates on product pages.
Internal Linking costs **1 credit per product**. It writes into the product description. Products need an existing description for this to work. Run a description enrichment first if your products do not have descriptions yet.
## How the AI picks link targets
The AI scans your product and category catalog for pages with live URLs.
If you have a Google Search Console integration, pages with more impressions and clicks are weighted higher as link candidates. Higher-traffic pages pass more SEO value when linked.
For each product, the AI matches candidate targets by category overlap, semantic similarity, and attribute overlap (same brand, similar materials, same product family).
The AI identifies phrases in the existing description that naturally anchor a link, and rewrites those phrases to include the link while keeping the sentence readable.
## Optional: pre-select link targets
By default, the AI auto-discovers targets from your catalog. You can pre-select specific categories or pages to prioritize, the AI uses your chosen targets first and fills remaining slots with auto-discovered candidates.
Use the **Link Targets** picker in the Internal Linking configuration panel to add specific category pages before starting the run. This is useful when you are launching a new category and want all related products to link to it, or when you want to drive traffic to specific high-margin pages.
## How to run Internal Linking
Choose the products whose descriptions you want to link. Descriptions must exist, products without descriptions are skipped.
Click **Enrich with AI** in the toolbar.
Select **Internal Linking** from the enrichment type grid.
Open the link targets picker and select any specific categories or pages you want to prioritize. Leave it empty to let the AI discover targets automatically.
Click **Start Enrichment**. The run processes in the background. Check the [Process Tracker](/en/other-features/process-tracker) for progress.
## What good results look like
* Links appear as natural anchor text within existing sentences, not as a list appended at the bottom.
* Each product description has 3–5 links pointing to genuinely related pages.
* Anchor text is descriptive (e.g., "noise-cancelling headphones" not "click here").
* No product links to itself or to irrelevant pages.
Spot-check 5–10 products after the first run to confirm the links are relevant and the sentences still read naturally. If a product's description is very short (one or two sentences), there may not be enough anchor points for the full 3–5 links, longer descriptions yield better results.
## Act on what you find
If the auto-discovered targets are off, pre-select your link targets next time to give the AI a better starting pool. Also check whether the product's category assignment is correct, the AI uses category context for relevance matching. **Outcome:** more accurate, useful links.
Add that category to the link targets picker before running. The AI will prioritize linking there from every product in the run where it makes semantic sense. **Outcome:** controlled link equity distribution toward the pages you care about most.
The link target pool reflects your catalog at run time. After launching a new category, re-run Internal Linking on relevant products so the new category pages start accumulating links. **Outcome:** new pages gain internal link equity from day one.
Run a Descriptions enrichment on those products first, then run Internal Linking again. **Outcome:** full catalog coverage once descriptions are in place.
Pair Internal Linking with [Search Intent](/en/ai/search-intent) for the most impact: use Search Intent to align descriptions with real query intent, then use Internal Linking to connect those optimized pages to each other. Check [SEO Analytics](/en/analytics/seo) before and after to measure the traffic shift. **Outcome:** an interconnected, intent-matched catalog that performs better in organic search.
## Related
Rewrite descriptions to match real search queries before linking them.
Overview of all 15 enrichment types.
Track impressions, clicks, and position to measure the link impact.
Enrich product content with web-sourced data before linking.
# Search Intent
Source: https://docs.wisepim.com/en/ai/search-intent
Use real Google Search Console data to see how shoppers find each product, then rewrite descriptions to match that intent and win more clicks.
Search Intent analyzes the real queries people use to find each product in Google, classifies the intent behind those queries, and rewrites the product description to match what searchers are actually looking for. A product ranking for "best noise-cancelling headphones under 200 euros" should read like a buying guide, not a spec sheet. Search Intent makes that happen automatically, at scale.
**What it enables:** improve CTR on products that are already ranking but not converting, align your copy with real search behavior instead of guesswork, and lift organic traffic to products with high impression share but low click-through.
Search Intent costs **1 credit per product**. It requires a connected and synced **Google Search Console** integration. The AI reads per-product query data directly from your GSC account. Without the integration, Search Intent is not available. Follow the [connection guide](/en/integrations/google-search-console) to set it up in two minutes.
## How it works
For each product, WISEPIM fetches the top search queries that drove impressions and clicks over the past 90 days from your Google Search Console account.
The AI classifies the dominant intent behind those queries:
* **Informational**: shoppers want to learn (e.g., "what is a standing desk")
* **Commercial**: shoppers are comparing options (e.g., "best standing desks 2024")
* **Transactional**: shoppers are ready to buy (e.g., "buy electric standing desk")
The AI rewrites the product description to lead with the content format that matches the dominant intent. An informational-intent product gets educational framing. A commercial-intent product gets comparison language and key differentiators. A transactional-intent product gets direct, confident buy-focused copy.
## When to use it
The strongest candidates for Search Intent enrichment are products that:
* Have **high impressions but low CTR** (more than 100 impressions per month, less than 2% CTR in GSC)
* Already rank on **page 1 or 2** for relevant queries but are not converting
* Have descriptions that were written for internal use or supplier-style spec listings rather than search-driven buyer copy
You can find these products in [SEO Analytics](/en/analytics/seo), filter for high impressions and sort by CTR ascending. Those are your highest-upside candidates.
## How to run Search Intent
Check [Integrations](/en/integrations/supported-platforms) to make sure Google Search Console is connected and has synced recent data.
Choose the products you want to optimize. Focus on high-impression, low-CTR products for the biggest return.
Click **Enrich with AI** in the toolbar.
Select **Search Intent** from the enrichment type grid. No prompt configuration is needed.
Click **Start Enrichment**. The run processes in the background. Track progress in the [Process Tracker](/en/other-features/process-tracker).
## What good results look like
* Descriptions open with the content format that matches the query intent (educational prose for informational, side-by-side differentiators for commercial, confident direct copy for transactional).
* Key search terms from the top GSC queries appear naturally in the copy.
* The content still reads like it was written for a human buyer, not stuffed with keywords.
Review a sample of 5–10 products after the first run. Compare the rewritten descriptions against the original GSC queries and check whether the copy now feels aligned with what those queries imply the shopper wants.
## Measuring the impact
Check GSC data 4–6 weeks after running Search Intent to see whether CTR has improved for the updated products. Use [SEO Analytics](/en/analytics/seo) to compare impressions, clicks, and position before and after. Products that moved from below 2% to above 3% CTR at the same average position represent a direct Search Intent win.
## Act on what you find
If a product has no query data in Search Console (very new, very niche, or never ranked), Search Intent cannot run for it, there is no intent signal to act on. Focus Search Intent runs on products that already have some organic presence. **Outcome:** every product in the run has real query data to work from.
Check whether the intent classification matched what you would expect. A transactional rewrite on a product whose main traffic is informational may have shifted the copy away from what ranked it in the first place. Re-run with the original copy restored, or use the Descriptions enrichment with a custom prompt to find a middle ground. **Outcome:** description that satisfies both the ranking query and the buyer's intent.
Search Intent acts on the dominant intent across all queries. For fine-grained control over a specific query you are targeting, use the [Prompt Lab](/en/essentials/prompt-lab) to craft a description prompt that incorporates that query, then run it via the Descriptions enrichment type. **Outcome:** description tailored to a single high-priority keyword.
Run Search Intent first to align descriptions with real search behavior, then run [Internal Linking](/en/ai/internal-linking) to connect those optimized pages to each other. Together they improve both the relevance signal and the internal link equity for each product. **Outcome:** a catalog where intent-matched copy and internal links reinforce each other.
## Related
Find high-impression, low-CTR products, your best candidates for Search Intent.
Connect intent-matched pages to each other to spread link equity.
Overview of all 15 enrichment types.
Ask the AI copilot to surface high-impression, low-CTR products for you.
# AI SEO Title & Meta Description
Source: https://docs.wisepim.com/en/ai/seo-meta
Generate optimized meta titles and meta descriptions with AI, the snippet that decides whether a shopper clicks your result in Google.
The meta title and meta description are what Google shows in search results, the blue headline and the grey snippet beneath it. They are often the first impression a shopper has of your product, and they directly affect click-through rate. SEO enrichment uses AI to generate both, optimized for length and keywords, from each product's content.
**What it enables:** give every product a search snippet that fits Google's display limits and earns the click, without writing thousands of meta tags by hand.
SEO enrichment costs **1 credit per product**. It writes to the **Meta Title** and **Meta Description** fields (and meta keywords where used). These are separate from your on-page title and description, so enriching SEO meta does not change your storefront copy.
Generated meta titles land within **50–60 characters** and meta descriptions within **140–160 characters** - the same ranges the [Data Quality SEO settings](/en/settings/data-quality#seo) score as optimal by default. Those are the lengths Google shows in full, so your snippets are not cut off mid-sentence.
## When to use it
* **Meta fields are empty**, so Google is guessing your snippet from page content.
* **Meta titles are duplicated** across variants, which dilutes their SEO value.
* **Snippets are getting truncated** in search results because they are too long.
* **As part of [Auto-Fill](/en/ai/auto-fill)**, which fills missing SEO meta using your default SEO prompt.
## How to run it
Check products individually, or filter and select all matching results.
Click **Enrich with AI** in the toolbar.
Pick **SEO Title and Meta Description** as the enrichment type.
Choose an SEO prompt from your [Prompt Library](/en/essentials/prompt-library). Defaults from [Settings → Enrich Prompts](/en/settings/enrich-defaults) are pre-selected.
No prompt of your own yet? Open the **Curated Prompts** tab. These are written by WISEPIM and ranked for your industry, so the best fit is near the top. Use **Set as default** on the one you pick and it is pre-selected for every SEO run from then on.
Click **Start Enrichment** and track it in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## What a great SEO prompt produces
Search snippets live or die by length and relevance. Encode the rules in your prompt:
* **Meta title: 50–60 characters.** Longer titles get cut off with an ellipsis in results. Front-load the primary keyword and brand.
* **Meta description: 140–160 characters.** Write a compelling one-or-two-sentence pitch that includes the keyword naturally and gives a reason to click (benefit, range, or differentiator).
* **One primary keyword per product.** Match the term shoppers actually search, then support it with the product's distinguishing detail.
* **Each snippet unique.** Duplicate meta tags compete with each other. Use [Content Logic](/en/workflows/content-logic) variables so every product's snippet is built from its own data.
* **Lead with value, not boilerplate.** "Free shipping" at the end is fine, but the first words should be about the product.
For products that already rank but get few clicks, [Search Intent](/en/ai/search-intent) enrichment uses your real Google Search Console queries, the perfect input for meta copy that matches demonstrated demand.
## Act on what you find
New runs already stay within 50–60 characters for titles and 140–160 for descriptions. Re-run the affected products to replace older, longer meta copy. **Outcome:** full snippets display without being cut off.
Add the distinguishing attribute (size, color, model) to the title formula using a [Content Logic](/en/workflows/content-logic) variable. **Outcome:** unique, non-competing snippets for every variant.
[Connect Google Search Console](/en/integrations/google-search-console) and check the [SEO](/en/analytics/seo) and [Search & Discovery](/en/analytics/search-discovery) reports to see which queries already drive impressions, then target those keywords in your SEO prompt. **Outcome:** meta copy aligned to real search demand.
## Measure the impact
Meta changes show up as click-through-rate movement before they show up in revenue. After enriching, watch the [SEO](/en/analytics/seo) report for impressions and CTR on the enriched products, then [Enrichment Impact](/en/analytics/enrichment-impact) for the downstream revenue lift.
## Related
Track impressions, clicks, and CTR for your products.
Rewrite content using real search queries.
Build and organize your SEO prompts.
Measure the revenue lift from better search snippets.
# AI Short Descriptions
Source: https://docs.wisepim.com/en/ai/short-descriptions
Generate concise product summaries with AI, the one or two lines that sell a product in grids, listings, and feed snippets.
The short description is the elevator pitch, the one or two lines that appear in category grids, quick-view cards, comparison tables, and feed snippets where there is no room for the full description. Short Description enrichment uses AI to distil each product down to its most compelling, scannable summary.
**What it enables:** give every product a punchy summary line, so grid and listing views sell, instead of showing a truncated full description or nothing at all.
Short Description enrichment costs **1 credit per product**. Output is written to the **Enriched Short Description** field, your original is preserved.
## When to use it
* **Your storefront or feed shows a short description** in grids and cards, and it is empty or just a clipped version of the long description.
* **You publish to marketplaces** that use a separate short-description or "highlights" field.
* **You want consistent length** across every card so grids look tidy.
* **As part of [Auto-Fill](/en/ai/auto-fill)**, which fills missing short descriptions using your default prompt.
## How to run it
Check products individually, or filter and select all matching results.
Click **Enrich with AI** in the toolbar.
Pick **Short Descriptions** as the enrichment type.
Choose a short-description prompt from your [Prompt Library](/en/essentials/prompt-library). Default prompts from [Settings → Enrich Prompts](/en/settings/enrich-defaults) are pre-selected.
No prompt of your own yet? Open the **Curated Prompts** tab. These are written by WISEPIM and ranked for your industry, so the best fit is near the top. Use **Set as default** on the one you pick and it is pre-selected from then on.
The prompt carries a target size, so length is a setting rather than a sentence you have to write.
| Target size | Roughly |
| ------------------ | --------------------------------------------------- |
| **Auto** (default) | The AI decides, based on the product and the prompt |
| **Compact** | \~80 words |
| **Standard** | \~150 words |
| **Detailed** | \~300 words |
| **Comprehensive** | \~500 words |
| **Custom** | The length you type in |
For short descriptions, **Compact** or a small **Custom** value is usually the right call.
Click **Start Enrichment** and track it in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## What a great short-description prompt produces
A short description is a discipline in editing. Bake the constraints into the prompt:
* **Set a hard length budget.** One or two sentences, or a character ceiling (commonly 120–160 characters) that fits your card layout.
* **Lead with the single biggest benefit.** There is only room for one hook, make it the one that matters most to the shopper.
* **Include one distinguishing detail.** A key spec or use case helps the product stand out in a grid of similar items.
* **No repetition of the title.** The card already shows the title, the short description should add new information, not echo it.
If you are also writing full descriptions, generate them first. A good prompt can ask the AI to summarize the existing description into a short one, which keeps the two fields consistent.
## Act on what you find
Drop the target size to **Compact**, or set a **Custom** size, and re-run a small batch to confirm. **Outcome:** summaries that fit every grid and card cleanly.
Add a rule: "Do not repeat the product title. Add a benefit or use case the title does not mention." **Outcome:** cards that give shoppers a reason to click beyond the name.
Point the prompt at your [Knowledge Library](/en/other-features/knowledge-library) brand voice, or copy the voice rules from your full-description prompt. **Outcome:** consistent tone across short and long copy.
## Related
Write the full product descriptions that pair with these summaries.
Overview of all 15 enrichment types.
Build and organize your short-description prompts.
Set the default prompt used by Auto-Fill.
# AI Product Titles
Source: https://docs.wisepim.com/en/ai/titles
Generate or rewrite product titles with AI, front-loaded with the keywords shoppers search for and consistent across your whole catalog.
The product title is the single most-read field in your catalog. It appears in search results, category grids, feeds, and marketplace listings, often before any image or description. Title enrichment uses AI to write clear, consistent, keyword-aware titles from each product's existing data and your chosen prompt.
**What it enables:** turn raw supplier names like `BSH-SMS6ZCI00E` into shopper-ready titles like `Bosch Serie 6 Dishwasher, 14 Place Settings, Stainless Steel`, across thousands of products at once, with a consistent structure you define.
Title enrichment costs **1 credit per product**. The generated title is written to the **Reviewed Name** field, your original product name is never overwritten, so you can compare and roll back.
## When to use it
* **After an import** where titles are supplier codes, manufacturer part numbers, or inconsistent free text.
* **Before publishing to a marketplace or feed** that has its own title conventions (Amazon, Google Shopping, Bol.com).
* **When titles read inconsistently**, some have the brand first, some don't, some include the size, some don't.
* **As part of [Auto-Fill](/en/ai/auto-fill)**, which fills missing titles automatically using your default title prompt.
## How to run it
Check individual products, or filter and select all matching results. Filtering by "no title" or by supplier helps you target the products that need it.
Click **Enrich with AI** in the toolbar.
Pick **Titles** as the enrichment type.
Choose a title prompt from your [Prompt Library](/en/essentials/prompt-library). The prompt defines the structure, tone, and length. If you set a default in [Settings → Enrich Prompts](/en/settings/enrich-defaults), it is pre-selected.
Starting from scratch? Open the **Curated Prompts** tab. These are written by WISEPIM and ranked for your industry, so the strongest match sits near the top. Use **Set as default** on the one you pick and every future title run starts with it.
Click **Start Enrichment**. The job runs in the background, track it in the [Process Tracker](/en/other-features/process-tracker). If a run stops early, use **Resume** there to finish only the products that were not processed yet, at no extra credit cost.
## What a great title prompt produces
A strong title prompt encodes a repeatable formula. A common, high-performing structure is:
```
Brand + Product line + Product type + 1–2 key specs + Variant
```
For example: `Philips Hue White and Color Ambiance Smart Bulb E27, 1100 lumens`.
Good practices to bake into your prompt:
* **Front-load the keyword.** Put the words shoppers actually search for near the start, search engines and grid views truncate the end.
* **Keep brand placement consistent.** Decide whether the brand leads every title, and stick to it across the catalog.
* **Include the distinguishing spec.** Size, color, capacity, or material is often what separates two variants in a results list.
* **Set a length ceiling.** Around 60–70 characters reads well in most grids and feeds. State it in the prompt.
* **No marketing fluff.** "Amazing", "best-in-class", and "premium" waste characters that a keyword could use.
Use [Content Logic](/en/workflows/content-logic) variables in your prompt, like `{{product.brand}}` and `{{category.name}}`, so the AI always has the right structured data to build the title from, even when the source name is messy.
## Act on what you find
Edit the prompt to state an explicit character limit (for example, "Keep titles under 65 characters"). Re-run on a small batch to confirm, then apply to the full set. **Outcome:** titles that fit your grid and feed without truncation.
Add a rule to the prompt, "Always start the title with the brand name, then the product type." Use a [Content Logic](/en/workflows/content-logic) variable `{{product.brand}}` so the AI uses the correct brand field. **Outcome:** a uniform title structure across the catalog.
Generic output usually means thin source data. Enrich [Attributes](/en/ai/attributes) first so the AI has specs to draw from, then re-run titles. **Outcome:** titles that include the distinguishing details shoppers compare on.
Run the new prompt on 5–10 products and review the **Reviewed Name** output before approving. Because originals are preserved, nothing is lost if you decide not to keep it. **Outcome:** confidence in a new title formula before a catalog-wide run.
## Measure the impact
Better titles change click-through and conversion. After enriching a batch and giving it a few weeks of sales, check [Enrichment Impact](/en/analytics/enrichment-impact) to see the revenue lift, and [Search & Discovery](/en/analytics/search-discovery) to see whether more shoppers are finding and clicking the products.
## Related
Overview of all 15 enrichment types and how to run them.
Build and organize your title prompts.
Test a title prompt on real products before running it in bulk.
Measure the revenue lift from better titles.
# Web Research
Source: https://docs.wisepim.com/en/ai/web-research
Automatically gather product specs, descriptions, and market prices from the web with AI research. Enrich your catalog without manual data entry.
Web Research is an AI-powered feature that automatically searches the web to find and enrich your product data. It scans multiple trusted online sources, cross-references the information for accuracy, and structures the results into your product catalog. This saves you hours of manual data entry.
**What acting on it enables:** thin supplier imports turn into complete listings, missing barcodes and part numbers get filled in, and you get a live read on what the market charges for each product.
Web research costs **5 credits per product**. Products that were already researched inside your freshness window are skipped and cost nothing. If you select variants together with their parent, WISEPIM collapses the variants onto the parent and researches once, so you pay for one product instead of many.
Web Research results appear in the **Web Research** tab on a product's edit page. The tab shows up once research has run for that product. You can review, approve, or discard the findings before they are applied to your catalog.
## How Web Research Works
WISEPIM's Web Research follows a four-step process to ensure accurate, high-quality product data:
The AI searches across trusted online databases, manufacturer sites, and product directories using the best available identifier for each product.
Data found across multiple sources is compared and validated to reduce errors and eliminate conflicting information.
The verified information is organized and formatted to match your product data model, filling in missing attributes, specifications, and pricing signals.
You review the research results and decide which data to apply to your products. Nothing changes in your catalog until you approve it.
## Starting Web Research
### Selecting Products
You can run Web Research on individual products, a selection of products, or your entire filtered catalog.
Go to your main **Products** overview.
Check the boxes next to the products you want to research. Alternatively, use filters to narrow down your catalog and select all matching products.
Click the **Enrich with AI** button in the toolbar.
From the enrichment type selection, choose **Web Research**.
### Research a single product
You do not have to go through the Products table. Open any product's [edit page](/en/products/editing-products) and start web research straight from there. This is the quickest way to test your settings on one product before you run a batch.
### Choosing a Product Identifier
After selecting Web Research, you choose which product identifier the AI should use to search the web. The picker starts on the **Default identifier** you set in [Settings](#settings-for-web-research), so most of the time you can leave it alone. WISEPIM prioritizes the most reliable identifier available: EAN/GTIN first, then MPN, then Brand + Name. The identifier determines how accurately the AI can locate your products online.
European Article Number (EAN) or Global Trade Item Number (GTIN). Globally unique, delivers the most accurate results. **Recommended** for most use cases.
Universal Product Code (12 digits). The standard barcode format used primarily in the United States.
The manufacturer's model identifier. Useful for electronics, appliances, and industrial products.
Your internal product code. Works best when your SKU matches the manufacturer's or is widely recognized.
A combination of the brand name and product name. Good fallback when barcodes are not available.
Brand name combined with the Manufacturer Part Number. Effective for technical and industrial products.
EAN/GTIN barcodes deliver the most accurate results because they are globally unique identifiers. Whenever possible, use these for Web Research. Results are also biased toward your project's market and locale, so local pricing and regional sources are prioritized.
### Running the Research
Once you have selected your identifier type, click **Start Web Research**. A confirmation toast will appear, and the research process begins in the background.
You can continue working in WISEPIM while Web Research runs. The process does not block any other actions, and you will be notified when results are ready.
The run shows up in the [Process Tracker](/en/other-features/process-tracker) right away. Web research tasks support all three recovery actions:
* **Resume** picks up only the products that were never processed. It costs no extra credits.
* **Restart** runs the whole original selection again and is charged as a new run.
* **Retry failed** re-runs just the products that errored.
### Product images
Web Research can also bring back product images. The enrich modal has an **Also import product images** toggle, on by default. With it on, up to 3 images found during research are saved to your [media library](/en/products/media-library), and the first one becomes the main image if the product has none. Switch it off and only text data is researched. The same default applies to research that runs after an import and inside automations.
Images are filtered for relevance: WISEPIM only keeps an image when it comes from a source the research answer actually cited. Anything else is dropped, because a missing image is better than a wrong main image. If a search by barcode finds no image that passes the filter, one extra search by product name is tried through the same filter. Image import costs no extra credits; it rides on the credits of the research run itself.
## Applying Web Research to Your Catalog
### Apply to Selected Products
Select specific products using checkboxes, then start Web Research. This is ideal when you want to enrich a targeted batch of products, for example new arrivals or products with missing specifications.
### Apply to All Filtered Products
If you want to research a larger set, apply filters first (by category, brand, status, or any other criteria) and then choose to apply Web Research to all matching products. You do not need to manually select each product.
Running Web Research on a large number of products at once may take significant processing time. Consider starting with a smaller batch to verify the results meet your expectations before scaling up.
## Settings for Web Research
Every run reads your project settings, so set them once and each future run behaves the way you want. Go to **Settings > Web Research**, in the **AI & Content** group.
### General
| Setting | What it does |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Research focus** | Free text, up to 500 characters. Tell the AI what matters in your catalog: the specs you care about, the markets you sell in, the detail you always want. |
| **Default identifier** | The identifier every run starts with. Pick **EAN** (recommended), **UPC**, **Model number**, **SKU**, **Brand + product name**, or **Brand + MPN**. |
| **Research freshness window** | How many days a result counts as fresh. Default is **30**. A product researched inside that window is skipped, so you never pay twice for the same answer. Set it to **0** to always re-research. |
| **Automatically apply results to products** | On by default. Findings are written to your products as soon as research finishes. Turn it off when you would rather review everything first. |
| **Overwrite existing content** | Off by default. Research only fills fields that are empty. Turn it on when you want researched data to replace what you already have. |
Leave the freshness window at 30 days while you are enriching a big catalog. Re-running the same selection then only costs credits for the products that were never researched.
### Sources
Decide where research is allowed to look.
* **All sources**: the open web. The default, and the widest coverage.
* **Only these sites**: a list you trust. Research reads nothing outside it. Good when a manufacturer or distributor site is your source of truth.
* **Exclude these sites**: everything except the domains you name. Good for keeping a competitor or a low-quality aggregator out of your data.
You can list up to **10 domains**.
### Identifiers to discover
Research can also find the identifiers a product is missing: **EAN/GTIN**, **UPC**, **MPN**, and **Model number**. Switch each one on or off. Two extra switches let WISEPIM calculate a **UPC from an EAN** and an **EAN from a UPC**. Those are pure conversions, so they need no source at all.
Identifiers follow stricter rules than everything else, whatever the rest of your settings say:
* They are only ever written to **empty** fields. **Overwrite existing content** does not apply to them.
* Every value is checksum-validated before it is stored, so a malformed barcode never lands in your catalog.
* If research finds a value that conflicts with the one you already have, the conflict is flagged for you and your value stays.
A wrong identifier is worse than an empty one. A bad barcode gets a listing rejected, or matches your product to somebody else's. That is why WISEPIM flags conflicts instead of overwriting.
### Fields to update
Nineteen switches decide which product fields research may fill, grouped under **Content**, **Product data**, and **Compliance & shipping**. Turn on only what you want touched.
Six are **off by default**, because they carry legal or logistics weight and usually deserve a human check:
* Warranty
* Certifications
* Dangerous good
* Fragile
* Handling instructions
* Long name
Turn them on when you trust your sources and want the compliance fields filled too. Research picks up warranty terms and certifications from product pages and manufacturer sites the same way it picks up specs.
### Pricing strategy
Research reads the prices it finds across retailers and can turn them into a recommended price per product. Nothing is calculated until you pick a strategy.
| Strategy | What you get |
| --------------------- | --------------------------------------------------------------------------------- |
| **No recommendation** | The default. You still see market prices, but no recommended price is calculated. |
| **Match average** | Sit at the average of the prices found. |
| **Match lowest** | Match the cheapest price found. |
| **Undercut lowest** | Price below the cheapest price found. |
| **Undercut average** | Price below the average. |
| **Premium** | Price above the market to signal quality. |
Then tune the result:
* **Adjustment %** shifts the recommendation up or down from the strategy's base number.
* **Rounding** keeps the output tidy: whole numbers, or charm prices ending in .99 or .95.
* **VAT handling** tells WISEPIM whether the prices it found include or exclude VAT, and at what rate, so it compares like with like.
* A live example shows what your settings produce before you save.
Guardrails stop a strategy from doing something you would regret:
* **Minimum margin** keeps the recommendation above a margin floor based on your cost price.
* **Minimum price** and **Maximum price** cap the range.
By default the recommendation is a number you look at, nothing more. Turn on **Write recommended price to product** to have it saved, and choose whether it goes to the **Regular price** or the **Sale price (special price)**. WISEPIM warns you before it overwrites a price you set yourself.
**Split prices per variant** is on by default. For a configurable product, every variant gets its own market prices and its own recommendation instead of one number for the whole family.
This is not the same feature as [Pricing & Margins](/en/settings/pricing). Web research suggests a price from what the market charges, and can save it onto the product. Pricing & Margins never changes your stored price: it applies markups and margins at export time, per channel. You can run both, and they never touch each other's numbers.
## Reviewing Results
Web Research results appear in the **Web Research** tab on a product's edit page (the tab shows up once research has run). From there you can review all the data the AI gathered from the web, compare it with your existing product data, and decide what to apply.
At the top of the results panel you will see the **Market Price Intelligence** summary, followed by the full research findings.
From there you can:
* **Review gathered data**: see the specifications, descriptions, and attributes the AI found online
* **Check market pricing**: see the min, max, and average market price surfaced across sources, with the currency used
* **Compare with existing data**: check how the researched data differs from what you already have
* **Approve or discard**: accept the findings to update your product, or dismiss them if they are not relevant
### Quality Control Best Practices
* **Spot-check a sample first**: before approving results in bulk, review a handful of products manually to ensure accuracy
* **Verify technical specifications**: cross-reference critical specs like dimensions, weights, and material composition
* **Check brand consistency**: ensure imported descriptions align with your brand voice and tone
* **Review imported images**: open the media library for a few researched products and confirm the first image really shows that product before it goes out as the main image
## Market Price Intelligence
When Web Research completes, WISEPIM extracts market pricing signals from the sources it finds. You will see a **Market Price Intelligence** widget at the top of the research panel showing:
* **Min price**: the lowest price found across all scraped sources
* **Max price**: the highest price found
* **Avg market target**: the average across all price points, highlighted as a quick reference
* **Currency**: the currency reported by the sources (ISO 4217, e.g. EUR, USD, GBP)
* **Sources**: clickable badges for each website the price was found on
Market pricing is sourced from the web at the time the research runs. It reflects publicly available retail and marketplace prices, not your own pricing. Use it as a reference point for positioning and pricing decisions.
Prices are computed dynamically from the individual source data WISEPIM scrapes. If a product has prices from multiple retailers, you get the full spread. Results are biased toward your project's locale, so local market prices are weighted first.
## Best Practices
### Choosing the Right Identifier
| Scenario | Recommended Identifier |
| -------------------------- | --------------------------- |
| Products with barcodes | EAN/GTIN or UPC |
| Electronics and appliances | Model Number or Brand + MPN |
| Products without barcodes | Brand + Name |
| Internally coded products | SKU (if widely recognized) |
### Maximizing Research Quality
* **Ensure identifiers are accurate**: incorrect EANs or model numbers will return irrelevant results
* **Clean up product data first**: fill in brand names and basic identifiers before running research so the AI has more to work with
* **Use the most specific identifier available**: a barcode will always outperform a generic brand + name search
* **Start small and scale**: test with 5-10 products to validate result quality before researching your full catalog
### When to Use Web Research
You have just imported a batch of products with only SKUs and names. Web Research can fill in descriptions, specifications, attributes, and market pricing automatically.
You want to identify and fill missing attributes across your existing catalog without manually researching each product.
You want a market price reference to inform your pricing strategy, sourced from live web data at the time of research.
You need to understand where your products sit in the market before publishing to a sales channel.
## Troubleshooting
### No Results Found
If Web Research returns no data for a product, it usually means:
* The identifier is incorrect or not recognized online
* The product is too new or niche to have public data available
* The identifier type does not match what is used for that product
**Solution**: Try a different identifier type. If EAN returns nothing, try Brand + Name or Model Number.
### Inaccurate Results
If the AI returns data that does not match your product:
* Double-check that the identifier (EAN, SKU, etc.) is correct in your catalog
* Verify that the product has not been confused with a similarly named item
* Discard the incorrect results and try with a more specific identifier
### No Market Price Shown
If the Market Price Intelligence widget does not appear, the sources WISEPIM found did not include extractable pricing data. This can happen for:
* Niche or B2B products with prices available on request only
* Products where the web sources found do not publish retail prices publicly
* Very new products not yet widely listed online
**Solution**: There is nothing to fix. The widget only appears when pricing data is available. The rest of the research results are still usable.
### Slow Processing
Web Research speed depends on the number of products and the complexity of each search. If processing seems slow:
* Check the **[Process Tracker](/en/other-features/process-tracker)** for current task status
* Avoid running multiple large research batches simultaneously
* Consider breaking very large batches into smaller groups
### A Run Stopped Halfway
Open the task in the [Process Tracker](/en/other-features/process-tracker) and choose **Resume**. It processes only the products that were never handled, and costs no extra credits. Use **Restart** only when you want the whole selection researched again, which is charged as a new run.
## Related
Watch a research run, read what it did, and resume it if it stopped early.
Export-time markup and margin rules. Separate from the price web research recommends.
Turn the specs research found into structured attributes on your products.
Start research on a single product and merge the findings field by field.
# WISECHAT Analytics
Source: https://docs.wisepim.com/en/ai/wise-chat-analytics
See what shoppers ask your storefront AI assistant: top questions, gaps where it had no answer, most-asked products, and conversation trends.
WISECHAT is the AI shopping assistant you embed on your storefront. This dashboard is where you see how it is doing: every question shoppers asked, where it had a good answer and where it did not, which products they ask about most, and how conversation volume is trending. It turns real customer questions into a to-do list for better product content.
**What acting on it enables:** answer the questions that actually lose sales, close the knowledge gaps the assistant keeps hitting, and learn what your shoppers care about straight from their own words.
This is the analytics view inside WISEPIM, not the widget itself. You need the WISECHAT widget installed and enabled on your storefront first (set it up in [WISECHAT settings](/en/settings/wise-chat)). Until it has handled a few conversations, the page shows a short "install and wait for your first conversation" checklist.
## The headline numbers
Four cards summarize the period:
| Metric | What it tells you |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Conversations** | How many shoppers engaged the assistant, with this week's count. |
| **Questions asked** | Total questions across all conversations. |
| **Answer rate** | The share of questions the assistant answered confidently. Green is healthy (≥ 90%), amber is worth attention, red means it is failing too often. |
| **Avg response time** | How quickly the assistant replies. |
A conversation-trend chart plots daily volume, so you can tie spikes to launches, campaigns, or seasonal demand.
## What you can dig into
A searchable, paginated table of every question, the assistant's reply, whether it was answered, and how fast. Filter to "unanswered only" to go straight to the problems.
The unanswered questions, most recent first. Each one is a chance to improve: **Add to Knowledge** writes an answer the assistant will use next time, and **Find related product** searches your catalog for the product the question is about.
The products shoppers ask about most, ranked by mention count. Click through to open the product and strengthen its content while it has attention.
## Reading the results
* **A high answer rate with a long unanswered list** still matters: even a handful of repeated unanswered questions points to one missing piece of content (a size guide, a compatibility note, a returns policy).
* **The same question appearing repeatedly** in Knowledge Gaps is the clearest signal of all. It is a specific thing your shoppers want to know and your listings do not say.
* **A product near the top of Top Products with thin content** is a priority: shoppers are interested, so every improvement compounds.
* **A volume spike in the trend chart** is a moment to make sure the assistant is well-fed, because more shoppers are relying on it.
## Act on what you find
Open Knowledge Gaps, click **Add to Knowledge**, and write a clear answer. The assistant uses it immediately, so the next shopper who asks gets a confident reply. **Outcome:** your answer rate climbs and a recurring drop-off point closes.
From Top Products, open the product and enrich the fields shoppers are asking about (specs, compatibility, what's in the box). Use [Enriching Products](/en/essentials/enriching-products) to do it fast. **Outcome:** the assistant can answer from the listing itself, and the same content improves the product page for everyone.
Use **Find related product** to jump to the matching product, then add the missing detail or link it into the knowledge base. **Outcome:** the assistant connects shopper intent to the right product instead of giving a generic reply.
A falling answer rate usually means new questions the assistant has not been taught yet (often after a product launch or a campaign). Work through the Knowledge Gaps list and feed the recurring ones back in. **Outcome:** the assistant keeps pace with what shoppers are actually asking.
## Related
Install the widget, set its tone, and manage what it can access.
The answers and facts the assistant draws on.
The in-app assistant for your own catalog work.
Turn shopper questions into richer product content.
# Analytics Alerts
Source: https://docs.wisepim.com/en/analytics/alerts
Set rules that watch revenue, orders, returns, stock-out losses and Search Console clicks every night, and read the feed of what changed while you were away.
Alerts watch your numbers while you are not looking. You write a rule once, WISEPIM checks it every night against the last complete day, and anything that trips lands in a feed the whole project shares. Google Merchant Center drift and other automatic findings land in the same feed.
**What this page enables:** you stop opening five reports every morning to see whether something broke. The feed tells you, with the measured value next to the threshold, and one click takes you to the report to investigate.
**Where to find it:** open **Analytics** and click **Alerts** in the sidebar. The page has two tabs, **Feed** and **Rules**.
Rules belong to the project and everyone on it shares them. Alerts show up in WISEPIM and as an **Analytics Alert** [notification](/en/settings/notifications). Email delivery is not available yet.
## Create a rule
On the Alerts page, switch to **Rules** and click **New rule**. A project can hold up to 50 rules; the counter next to the button shows how many you have used.
Give it a **Rule name** you will still recognise in a month, such as "Revenue floor". Under **Watch**, choose one of:
* **Daily revenue**
* **Daily orders**
* **Return rate**
* **Lost revenue from stock-outs**
* **Daily Search Console clicks** (needs a connected [Search Console property](/en/integrations/google-search-console))
Under **Alert me when it**, pick **Falls below** or **Rises above** a threshold, or **Deviates from its own baseline**. Threshold rules also work as a percentage change against the previous period or the same period last year.
The baseline option compares the metric with its own recent history and fires when it moves more than a number of **Standard deviations** away. 3 is calm, 2 is jumpy. Stock-out loss has no day-by-day history, so it only supports thresholds.
* **Window (days)**: how many days back the rule looks each night, 1 to 365, default 7.
* **Severity**: **Critical**, **Warning**, **Opportunity**, **Positive** or **Info**. These are the same levels [Smart Insights](/en/analytics/smart-insights) uses.
* **Cooldown (hours)**: how long the rule stays quiet after firing, 0 to 720, default 24. At 0 it can tell you every day the condition holds.
Leave **Start watching right away** on and click **Create rule**. The rule is checked for the first time in the next nightly run.
For revenue and orders, a threshold is compared against the **daily average** over the window, not the total. With a 7-day window, "below 500" fires when the average day came in under 500. Return rate is compared against the rate across the whole window, in percentage points.
### Manage rules
The **Rules** table lists every rule with its summary, severity, cooldown and when it last fired. Use the **On** switch to pause a rule without deleting it. A rule in cooldown shows **Quiet right now**. Deleting a rule stops it immediately; alerts it already raised stay in the feed.
## Read the feed
Rules run every night at 06:45 against yesterday, the last complete day. The **Feed** tab shows what they found, newest first, with a freshness line such as **Rules last ran today**. Filter by **Status** and **Severity**; the date range control is disabled here because alerts are not filtered by date.
Each alert card shows:
* **What was measured** against the **Threshold**, or the **Deviation** from the **Baseline** for baseline rules, plus the products involved when the rule scoped them.
* **Rule: name** for alerts raised by your rules, or **Raised automatically** for system findings such as **Channel drift**.
* An impact chip when WISEPIM can estimate it: an amount **recoverable**, **at risk** or **upside**.
* **Seen 3x** when the same condition held on several nights. A re-run never raises a duplicate; it bumps the count.
### Statuses
| Status | Meaning |
| ------------- | ------------------------------------------------------------------------------ |
| **New** | Nobody on the project has looked at it yet |
| **Read** | Someone clicked **Mark read** |
| **Dismissed** | Someone clicked **Dismiss**. This clears the alert for everyone on the project |
| **Resolved** | WISEPIM set this itself when the condition recovered |
**Mark all read** in the header clears the unread badge in one go.
### Channel drift alerts
Alerts titled "Google is serving different data for " come from the nightly [Merchant Center drift scan](/en/analytics/integration-health), not from a rule. Their **Intended vs live** panel shows the **Title**, **Price** and **Availability** as they are **In WISEPIM** and **Live on Google Merchant Center**, plus the probable cause: the last sync failed, your change is waiting for the next sync, or the snapshot is too old to tell.
## Investigate an alert
Click **Investigate** on any alert to jump into the report behind it with the same date window, comparison and filters already applied. From there you can save the view as an [investigation](/en/analytics/overview#saved-investigations) so teammates see exactly what you saw, and attach the rule to that investigation to keep monitoring it.
## Act on what you find
Either the threshold is too tight or the condition is real and nobody fixed it. Raise the **Cooldown** so it stops repeating, or switch the rule to **Deviates from its own baseline** so it only fires on unusual days rather than on every day below a fixed number.
Check the **Last fired** column and the freshness line on the feed. If rules ran today, the condition simply did not hold. Remember that revenue and order thresholds compare against the daily average of the window, so a single bad day inside a 30-day window rarely trips it. Shorten the window to react faster.
The rule watches a metric the project cannot read. Connect [Google Search Console](/en/integrations/google-search-console) first, or delete the rule.
Fix the export first in [Integration Health](/en/analytics/integration-health), then re-export. Drift alerts resolve themselves on the next nightly scan once Google serves the right values again.
## Related
Findings WISEPIM raises on its own, using the same severity levels.
Sync status per channel and the Merchant Center drift scan.
Turn the Analytics Alert notification on or off.
The report behind daily revenue and order alerts.
# Category Insights
Source: https://docs.wisepim.com/en/analytics/category-insights
See which catalog categories drive your revenue, how market share is spread, and where to focus your merchandising effort.
Category Insights fuses two views of your catalog into one report: how categories perform commercially, and how well the product data inside them is maintained. Use it to find which categories drive your business and where to invest next.
The report's primary payoff is prioritisation: it shows you exactly which categories deserve enrichment effort right now, the ones that already sell but have content gaps that are holding back conversions and search rankings, versus categories that are already healthy or too small to act on first.
Categories come from your product data in WISEPIM. Products with no category show up under "Uncategorized", the count of those products is shown as a CTA at the top of the report.
## Metrics at a glance
The top of the report shows four numbers for the period you selected:
| Metric | What it tells you |
| ---------------------- | --------------------------------------------------- |
| **Total Revenue** | Combined revenue across all categories. |
| **Active Categories** | How many categories made at least one sale. |
| **Total Orders** | Order count across all categories. |
| **Top Category Share** | The share of total revenue from your best category. |
If your top category is more than 50% of revenue, your business is concentrated. Invest in content and marketing for mid-tier categories to balance your catalog.
## What good looks like
| Metric | Concerning | Acceptable | Healthy |
| ------------------------ | ---------------------- | ---------- | --------- |
| **Completeness %** | Under 60% | 60–80% | Above 80% |
| **Quality score** | Under 50 | 50–75 | Above 75 |
| **Top category share** | Above 60% | 40–60% | Under 40% |
| **Description coverage** | Under 40% | 40–70% | Above 70% |
| **Empty categories** | More than 10% of total | 5–10% | Under 5% |
These are directional thresholds, not absolutes. A high-volume commodity category can sustain lower quality scores because buyers compare on price. A premium or considered-purchase category needs higher completeness to convert.
## Health vs Revenue lens
The category table can be read in two ways. Toggle between the two lenses using the switch above the table.
**Catalog Health lens (default)** focuses on the quality of your product data:
| Column | Meaning |
| ------------------ | ------------------------------------------------------------------------------------------ |
| **Completeness %** | Share of required fields filled in across all products in the category. |
| **Quality score** | Weighted content quality based on description length, image count, and attribute coverage. |
| **Worst field** | The single field with the lowest fill rate, your quickest fix. |
**Revenue lens** focuses on commercial performance:
| Column | Meaning |
| ----------------------- | -------------------------------------------------------------------------------- |
| **Revenue** | Total revenue for the category in the selected period. |
| **Market Share %** | The category's share of total revenue. |
| **Orders** | Orders that include a product from this category. |
| **Units Sold** | Total quantity of items sold. |
| **Average Order Value** | Average revenue per order in this category. |
| **Period change** | Revenue difference versus the previous comparable period, shown as a percentage. |
Switching between lenses keeps the same rows and sort order, only the columns change. This makes it easy to spot a category that earns well but has weak data, or one with excellent content but no sales traction yet.
The most actionable combination: sort by Revenue (descending) in the Revenue lens, then toggle to the Health lens without changing the sort. You now see your top-earning categories ranked by revenue, with their completeness and quality scores visible side by side. Any row with high revenue and low completeness is an immediate priority.
## Read the charts
Three views help you compare categories from different angles.
Shows each category's share of total revenue. The fastest way to see how balanced your revenue is across the catalog. A very thin slice (under 2%) that has a high product count often signals a category that is poorly merchandised or positioned, products are there but buyers aren't finding or choosing them.
Ranks categories by revenue, highest first. Compare it with the donut to see both absolute values and relative share. A long, flat tail of similar-sized bars is healthy. A steeply descending bar chart where the first bar dwarfs the rest signals concentration risk.
Lists one row per category. Sort any column to find your strongest and weakest categories. Click a row to open the detail drawer. Sorting by **Period Change** in the Revenue lens highlights categories that are growing or shrinking fastest, useful for spotting emerging trends or early warning signs.
## Priority matrix
The priority matrix plots every category as a scatter point, with completeness on the horizontal axis and revenue on the vertical. The four quadrants each suggest a different move:
* **High revenue, high completeness**: healthy; maintain.
* **High revenue, low completeness**: urgent: missing data could be costing you rankings and conversions.
* **Low revenue, high completeness**: good data, but the category needs marketing attention.
* **Low revenue, low completeness**: lowest priority unless it has strategic importance.
Click any scatter point to open that category's detail drawer.
## Category detail drawer
Clicking a category, in the table, the matrix, or the bar chart, slides open a detail drawer with four sections:
* **Field coverage**: a bar for each product attribute showing what percentage of products in this category have it filled.
* **Meta status**: whether the category's own name, description, and SEO fields are complete.
* **Industry tips**: field recommendations tailored to your project's industry (see below).
* **Bulk-enrich CTA**: opens the AI enrichment flow pre-filtered to this category, so you can fix gaps in one step.
## Catalog structure
The Catalog Structure card at the top right summarises the shape of your taxonomy at a glance:
| Indicator | What it means |
| -------------------------- | -------------------------------------------------------------------------------------- |
| **Empty categories** | Categories that exist but have no products assigned. Safe to archive or merge. |
| **Overloaded categories** | Categories with an unusually high product count, which may hurt navigation. |
| **Max hierarchy depth** | The deepest nesting level in your category tree. Very deep trees can confuse shoppers. |
| **Description coverage %** | Share of categories that have a written description, important for SEO and context. |
## Industry tips
WISEPIM recognises which industry your project is in (set during onboarding) and surfaces recommended fields specific to that vertical. A fashion project, for example, is reminded to fill size guides and materials; an electronics project is shown advice on technical specs and compatibility data. These tips appear both on the Catalog Structure card and inside each category's detail drawer.
## Concentration insight chips
Above the main table, insight chips call out patterns that need attention:
* A chip reports when the top three categories account for more than a set share of revenue (for example: "Top 3 categories = 74% of revenue"), signalling concentration risk.
* A second chip shows the count of uncategorized products and links directly to a filtered view in Products so you can assign them.
## Act on what you find
Match what you see to the right move.
This is your most urgent fix. The category already converts, every missing description, thin title, or absent image is lost revenue on top of existing sales. Click the category row to open the detail drawer, find the worst field, then use the **Bulk-Enrich CTA** inside the drawer to open the AI enrichment flow pre-filtered to that category. See [enriching products](/en/essentials/enriching-products) for the full workflow. Outcome: improved descriptions and images directly lift conversion rate and organic search rankings for a category that is already generating demand.
Open the category detail drawer and check the Period Change column. If the drop is sharp, go to [Product Performance](/en/analytics/product-performance) filtered to this category to identify which specific products are losing traction. Refresh stale product content first, outdated descriptions and missing images are the most common cause of organic ranking drops. Outcome: re-optimised content can recover lost rankings within a few indexing cycles.
Products sell often but at low prices. Use [Product Performance](/en/analytics/product-performance) to check whether your higher-priced items in the category are underperforming on views or add-to-cart rate. If so, improve their content and make sure they appear in cross-sell positions. Outcome: lifting the AOV of a high-volume category has a compounding effect on total revenue.
Strong completeness but low revenue points to a marketing or discovery gap rather than a content problem. Check [SEO analytics](/en/analytics/seo) to see whether the category's products rank for relevant queries. If organic visibility is low, review meta titles and use automations to push products to channels where demand exists. See [Automations](/en/automations/overview) for channel-push workflows. Outcome: distribution fixes tend to unlock latent demand faster than further content work on already-healthy categories.
Concentration above 60% is a risk, a seasonal dip, a supplier issue, or a platform policy change can hit total revenue hard. Use the Priority Matrix to find categories that sit in the "high completeness, low revenue" quadrant, these have the content foundation to grow with marketing investment. Outcome: even moving one secondary category from 3% to 8% of revenue meaningfully reduces dependence on the top category.
Empty categories waste crawl budget and confuse shoppers. Go to [Products](/en/products/filtering-products) filtered to the relevant category to confirm it has no products, then archive or merge it. If nesting goes beyond three or four levels, flatten the structure, deep trees push product pages further from your homepage in the crawl graph, which hurts SEO. Outcome: a cleaner taxonomy improves both site navigation and search engine indexability.
Uncategorised products are invisible in category-level analytics and harder for shoppers to find via navigation. The chip at the top of the report shows the count and links directly to a filtered [Products](/en/products/filtering-products) view. Assign categories in bulk using the products list, or set up an [Automation](/en/automations/overview) to categorise incoming products on import. Outcome: categorising products makes them visible in this report and improves their discoverability through category browsing.
## Related
Drill down from categories to individual products.
See the full revenue picture across categories and channels.
Compare category performance across your sales channels.
Fix the field-level gaps the category detail drawer flags.
# Channel Analytics
Source: https://docs.wisepim.com/en/analytics/channels
Compare revenue, orders, and efficiency across Shopify, WooCommerce, Magento, and every connected sales channel in one view.
The Channels report puts your connected sales platforms side by side. Compare Shopify, WooCommerce, Magento, and any other channel you sell on, all in one view. No more checking each platform on its own.
The report's primary payoff is comparative efficiency: it shows not just which channel earns the most, but which earns the most *per order*. That distinction often changes where you invest, a smaller channel with a high AOV can be worth more than a high-volume channel with thin margins.
Channel data comes from your connected e-commerce integrations. Each platform shows as its own channel. Connect more platforms in [Integrations](/en/integrations/supported-platforms) to get the full comparison.
## Metrics at a glance
The top of the report shows four numbers for the period you selected:
| Metric | What it tells you |
| ------------------- | --------------------------------------------------- |
| **Primary Channel** | Your highest-revenue channel for the period. |
| **Active Channels** | How many connected channels had at least one order. |
| **Total Revenue** | Combined revenue across all channels. |
| **Total Orders** | Combined order count across all channels. |
Do not compare revenue alone. Compare efficiency too. A channel with lower revenue but higher AOV and conversion can be worth more investment than a high-volume, low-margin one.
## What good looks like
| Metric | Concerning | Acceptable | Healthy |
| ---------------------------- | ----------------------------- | ---------- | ---------- |
| **Top channel share** | Above 70% | 50–70% | Under 50% |
| **AOV gap between channels** | 3× or more difference | 1.5–3× | Under 1.5× |
| **Active channels** | 1 only | 2–3 | 3 or more |
| **Trend indicator** | Declining 2+ periods in a row | Flat | Growing |
These thresholds are directional. A single dominant channel is not inherently bad, many successful stores sell primarily on one platform. The concern is *unplanned* concentration with no fallback.
## Lead insights
Two insight chips appear above the charts whenever there is enough data to generate them:
* **Channel concentration**: the top channel's revenue share as a percentage, flagged with a warning if that share is 50% or higher. A high concentration is not always bad, but it means a disruption on that platform, a policy change, an outage, or a fee increase, has an outsized effect on your total revenue.
* **Lead vs runner-up**: how far ahead the primary channel is from the second-highest channel by revenue, expressed as a euro or percentage gap. A large gap tells you the runner-up has significant room to grow; a small gap means the two channels are genuinely competitive.
Both chips update automatically when you change the date range.
## Read the charts
Three views help you compare channels from different angles.
Shows each channel's share of total revenue. Tells you at a glance how dependent you are on any single platform. When you have more than six active channels, the donut caps at the top six by revenue and groups the rest into an **Other** segment to keep the chart readable.
Compares order volume across channels. Pair it with the revenue donut to spot channels with many orders but low revenue per order, or the reverse.
Compares average order value (AOV) across channels. Big gaps can point to different customers, product mixes, or pricing per platform.
### Channel Performance table
The table lists one row per channel. The **primary channel** (highest revenue for the period) is marked with a badge so it is easy to identify. Every column is sortable, click a header to rank channels by **Revenue**, **Share %**, **Orders**, or **AOV**. Sorting by AOV rather than revenue often surfaces a smaller channel that punches above its weight on order value.
| Column | Meaning |
| ------------------- | ------------------------------------- |
| **Revenue** | Total revenue for the channel. |
| **Orders** | Number of orders. |
| **AOV** | Average order value. |
| **Units Sold** | Total items sold. |
| **Revenue Share %** | The channel's share of total revenue. |
Each row also shows a **trend indicator** for the period's revenue relative to the previous period, so you can see at a glance which channels are growing and which are softening without switching to another view. A consistently declining trend on a previously healthy channel is an early warning, investigate before the channel drops significantly in absolute revenue.
## Act on what you find
Match what you see to the right move.
Heavy dependence on a single platform creates fragility, a fee increase, algorithm change, or outage on that platform directly hits your overall revenue. Start by investing in the content and feed quality of your second-ranked channel. Use [Feed Hub](/en/essentials/feed-hub) to ensure product feeds to secondary channels are complete and up to date. Outcome: even a modest shift of 5–10% of revenue to a second channel meaningfully reduces platform risk.
That channel likely attracts bargain-seeking or lower-value buyers, or its product mix skews toward cheaper items. Check [Category Insights](/en/analytics/category-insights) filtered to that channel's primary categories to see which product types sell there. Consider whether you are surfacing high-value items prominently in that channel's feed, or whether pricing or bundle strategies can lift per-order value. Outcome: a 10% AOV improvement on a high-volume channel has the same revenue impact as a 10% increase in order count.
New channels usually underperform because product content is not optimised for their specific requirements, title lengths, image ratios, required attributes, or category mappings differ per platform. Open [Data Quality](/en/analytics/data-quality) and check completeness for the products assigned to that channel. Each platform has its own feed spec; use [Feed Hub](/en/essentials/feed-hub) to validate and fix compliance. Outcome: fully optimised channel feeds typically see a measurable improvement within one to two indexing cycles on the platform.
A large AOV gap, say, one channel averaging twice another, usually reflects a different customer profile, a different product assortment, or deliberate pricing differences. Check [Customer Insights](/en/analytics/customer-insights) to see if channels that look similar in order count actually differ in LTV. If one channel has high AOV and low order count, it may reward more marketing investment. Outcome: understanding AOV by channel guides where to shift spend for the best return.
Two or more consecutive declining periods on a previously healthy channel is a signal worth investigating before revenue drops further. Go to [Category Insights](/en/analytics/category-insights) and filter to the affected channel's categories to see if specific product types are pulling back. Check whether a recent feed change, price update, or platform policy change coincides with the timing. Outcome: catching a decline early gives you time to act before it compounds.
## Related
See the combined revenue picture across channels and categories.
See which marketing efforts drive sales to each channel.
Compare category performance to see what sells best on each channel.
# Competitor Intelligence
Source: https://docs.wisepim.com/en/analytics/competitors
Add up to 10 rivals, let WISEPIM scrape them, and see where they beat you on specs, copy, languages and search visibility. Close each gap in one click.
You know who your rivals are. What you usually do not know is *where* they are actually beating you. Competitor Intelligence answers that. You name up to 10 competitors, WISEPIM scrapes their shops, and it compares them to your catalog on four things you can control: filled specs, product copy, language coverage, and search visibility.
Every finding comes with a button. You do not leave the page with a report to read, you leave it with fixes applied.
**What acting on it enables:** match the specs shoppers filter on, replace flat copy with selling points, open the markets your rivals already serve, and stop losing clicks on keywords they own.
Competitor Intelligence is part of Analytics and needs the **Growth** plan or higher. You can add up to **10 competitors** per project.
Finding, scraping, and analyzing competitors costs **no AI credits**. Credits are only used when you apply an AI fix, at the normal enrichment rate for whatever is being written.
The date-range picker at the top of the page is switched off here. Competitor analysis always reflects the latest scrape, not a historical window.
## Add your competitors
Find **Competitor Intelligence** in the Analytics sidebar. Before your first run you see the starting screen: "Know exactly where your competitors beat you".
Click **Suggest my competitors**. WISEPIM researches the web and comes back with suggested shops, each with a short reason why it thinks that shop competes with you. Click **Add** on the ones you agree with, ignore the rest.
Click **Add a competitor manually**, paste the shop's address (for example `competitor.com`), and click **Add**.
**Your competitors** shows everyone you have added with an n/10 counter, so you always know how much room is left.
Click **Run competitor analysis**.
Ten slots go fast. Spend them on the shops you actually lose deals to, not the biggest names in your market. A giant marketplace will always look strong and will not tell you much you can act on.
## Run and re-run the analysis
Scraping several shops takes time, so the analysis runs in the background. You see "Analyzing your competitors" and a progress bar, and the page updates itself while it works. A full run usually takes a few minutes, and can take up to about ten for larger sets.
You can leave the page and come back. When it finishes, the tabs appear: **Overview · Teardowns · Attribute Gaps · Copy Efficacy · Localization · SEO & ad spend**.
Use **Re-run analysis** in the Overview header whenever you have changed your catalog or added a competitor.
If a competitor blocks scraping, you still get results for the rest and a "Partial results" message telling you which shops could not be read. Try that competitor again on the next run, or replace it.
## The Overview
The Overview is the page you read first. It answers one question: what should I do today?
* **Threat score** sits at the top, from 0 to 100, with a **Threat · High / Moderate / Low** label. Higher means your competitors are further ahead of you on the things measured here. Treat it as a single number to watch, not a verdict on your business.
* **Start here** is the card that matters most. It names your highest-impact move right now, with an impact chip and an effort chip so you can judge it in a second, then gives you **Fix with AI** and **View details**. **Next up** shows what comes after it.
* **What changed since last analysis** lists the moves your rivals made since your previous run.
* **Share of voice** is a scatter chart. Content completeness runs along the bottom, SEO visibility up the side, which splits the field into four quadrants: **Leaders**, **Hidden gems**, **Vulnerable**, and **At risk**. Click any marker to open that competitor's teardown.
* **Threat trend** plots your score over time. It needs at least two completed runs before it appears.
* **Assortment white space** shows product areas your rivals cover and you do not.
* **Price positioning** places you and each rival in **Budget**, **Mid-market**, or **Premium**, so you can see whether you are priced where you think you are.
* **Competitors at a glance** is the roster. Click a row to open its teardown.
* **Four pillar cards** summarize the deep tabs: **Attribute gaps**, **Copy efficacy**, **Localization gaps**, and **SEO & wasted ad spend**. Each one carries **Fix with AI** and **View details**.
Also in the header: **Manage competitors** to add or remove shops, and **Re-run analysis**. **Export audit** is visible but not active yet, a downloadable PDF audit is on the way.
If you only have five minutes, use the **Start here** card and stop. It is picked for impact against effort, so it is almost always a better use of your time than browsing the tabs.
## Teardowns
A teardown is a full read of one competitor: how they position themselves, who they sell to, and what they are good and bad at. Open one from a teardown card, a roster row in **Competitors at a glance**, or a marker in the **Share of voice** chart.
The drawer holds:
| Section | What you get |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Their strategy** | How the shop presents itself, plus the target audience it seems built for. |
| **Scored dimensions** | A card and score for Positioning, Brand voice, Styling & UX, SEO & content, CTA & conversion, Merchandising, and Pricing strategy. |
| **What they do well** | The things worth learning from. |
| **Where they're weak** | The openings you can take. |
| **How to beat them** | Concrete moves, with AI-Fix buttons built into the list. |
| **Detected stack** | The platform and tools the shop appears to run on. |
| **Analysed pages** | The pages the scrape actually read, so you can check the source. |
At the bottom: **Close**, **Download battlecard**, and **Close the gaps**.
**Download battlecard** builds a PDF of the teardown on the spot, named after the competitor's domain. It is the file to hand your sales team before a pitch, or to drop into a meeting where nobody has a WISEPIM login.
## Attribute Gaps
This tab is a table: **Attribute**, **You**, **Rivals avg**, **Gap**, **Action**. It shows which specs your competitors fill that you leave empty.
Missing specs cost more than they look. Shoppers filter on them, marketplaces require them, and comparison sites rank on them. Sort by the biggest gap, then click **Fill specs** on the rows that matter for your category.
## Copy Efficacy
Here you get a card per competitor comparing how they write product copy against how you write it. Each shop is labelled **Benefit-driven** or **Dry / factual**, and a bar chart shows selling points per product across the field.
If your rivals are benefit-driven and you are dry, that is a conversion gap, not a style preference. Click **Generate stronger product stories** to rewrite your copy with AI.
## Localization
A table of markets: **Market**, **Status** (**Behind**, **You're ahead**, or **On par**), **You localize**, **Rivals here**, **Missing**, **Action**.
**Missing** is the useful column. It does not just say "not translated", it names what is absent: **Local keywords**, **Units (cm/inch)**, or **Meta descriptions**. A market where three rivals sell and you have no presence is a market someone already proved is worth entering. Click **Localize** to close it.
## SEO & ad spend
Two red stat cards open this tab with the problems costing you the most, each with its own action: **Fix meta titles** and **Rewrite duplicate copy**.
Below them, **High-intent keyword gaps** lists the searches your rivals show up for and you do not, weighted toward buying intent rather than raw volume. The ad-waste card points at products you are paying to send traffic to while their listings are too thin to convert, with **Lift low-health products** to fix them. Links to your sitemap tools sit at the bottom.
This tab compares you against the competitors you added. For your own organic performance from Google Search Console, including sitemap coverage and cannibalization, use [SEO & Search](/en/analytics/seo).
## Fix with AI
Every **Fix with AI** button, in the pillar cards, the tab tables, and the teardown drawer, opens the same Fix Review drawer used across Analytics. Nothing is applied until you say so.
The drawer shows you the projected impact, who is affected and how many products, and exactly what is about to happen including the credit estimate against your balance. You can run **Test on one** first to see a before-and-after on a single product without saving anything. Only then do you apply to all.
Credits are charged when a fix is applied, at the standard rate for the content being written. Testing on one product and browsing the analysis cost nothing.
## Staying ahead automatically
You do not have to remember to check.
* WISEPIM re-analyzes your competitors **every Monday**, so each week starts with fresh numbers.
* Your threat score is kept as history, which is what makes the **Threat trend** chart and **What changed since last analysis** possible.
* When a competitor makes a significant move, you get an alert in the app and by email.
Make Monday the day you open the page and act on **Start here**. Ten minutes a week compounds faster than one big audit a quarter.
## Act on what you find
Do not try to fix everything. Open **Start here**, apply that one fix, then re-run the analysis and watch the score. A high score usually comes from one or two systemic gaps, most often empty specs or missing meta titles, that touch thousands of products at once. **Outcome:** the biggest possible drop in threat for the least work.
Low content completeness and low SEO visibility together means shoppers cannot find you, and when they do the listing does not convince them. Fix content first, since search visibility follows better pages. Start with **Attribute Gaps**, then **Copy Efficacy**. **Outcome:** you move right on the chart first, then up.
Your content is strong but nobody sees it. Skip the content tabs and go straight to **SEO & ad spend**: fix meta titles, rewrite duplicate copy, and work the high-intent keyword gaps. **Outcome:** the catalog you already built starts earning traffic.
Open **Attribute Gaps**, sort by the largest gap, and use **Fill specs** on the attributes your category actually filters on. Check the result in [Data Quality](/en/analytics/data-quality) afterwards, since attribute coverage feeds your catalog score too. **Outcome:** your products start appearing in filtered results and comparison tables where they were invisible before.
Sort **Localization** by **Behind** and look at the **Rivals here** count. Several rivals in one market is evidence that the market pays. Use **Localize** to translate and adapt, including the local keywords and units the table flags as missing. **Outcome:** you enter a proven market without guessing whether it is worth it.
Open that competitor's teardown, read **Where they're weak** and **How to beat them**, then click **Download battlecard**. The PDF works on its own, so the person carrying it into the meeting does not need a WISEPIM account. **Outcome:** your team walks in knowing the other side's soft spots.
## How it relates to the other analytics tools
* **[SEO & Search](/en/analytics/seo)** measures your own organic performance using Google Search Console, and can track competitor sitemaps for coverage gaps. Competitor Intelligence is broader: it scrapes and scores full rival shops on content, copy, language, and search together.
* **[Data Quality](/en/analytics/data-quality)** tells you what is missing against your own standard. Competitor Intelligence tells you what is missing against the market. A field nobody in your category fills is not urgent, a field everyone fills is.
* The **Fix with AI** flow is the same one used in Data Quality, Channel Readiness, Grow Sales, and Reduce Returns, so anything you learn about reviewing fixes carries across.
## Related
Your own search performance, sitemap coverage, and competitor sitemap gaps.
The always-on catalog health score behind most attribute fixes.
The AI writing that powers every Fix with AI action here.
Score your own listings the way a demanding customer would read them.
# Conversions
Source: https://docs.wisepim.com/en/analytics/conversions
See how many visitors turn into buyers. Track your funnel from session to purchase, spot where shoppers drop off, and find what to fix to sell more.
The Conversions report shows how many visitors turn into buyers. It maps your full funnel, from the moment someone lands on your store to the moment they pay. Use it to find where shoppers drop off and what to fix to win more sales.
The payoff is concrete: most stores have significant, addressable leakage at one or two funnel stages. Finding the biggest drop-off in this report and fixing the root cause, poor product content, checkout friction, or a missing payment method, is one of the highest-return actions available, because it lifts revenue from traffic you are already paying for.
The order-based funnel needs session and checkout data from a connected commerce platform. The behavioral funnel needs a connected [Google Analytics 4 property](/en/integrations/google-analytics) with standard ecommerce events. WISEPIM shows either source independently when the other is unavailable.
## Metrics at a glance
These four numbers tell you how well your store turns traffic into sales.
| Metric | What it tells you |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Conversion rate** | The share of sessions that end in a purchase. Your single most important efficiency number. A benchmark chip shows whether your rate falls in Poor, Average, Good, or Excellent range. |
| **Add-to-cart rate** | The share of sessions where a visitor adds at least one item to their cart. |
| **Cart abandonment rate** | The share of shoppers who add items but leave before checkout. A benchmark chip shows how your rate compares. |
| **Checkout abandonment rate** | The share of shoppers who start checkout but never finish. A benchmark chip shows how your rate compares. |
Small conversion gains have an outsized payoff. Going from 2% to 2.5% is a 25% lift in sales from the same traffic.
## Conversion-rate benchmark scale
Your current conversion rate is plotted on a four-band scale so you can see at a glance where you stand and how far you are from the next tier.
| Band | Range | What it means |
| ------------- | -------- | ------------------------------------------------------------------------ |
| **Poor** | 0–1.5% | Well below typical e-commerce. Likely a funnel or traffic-quality issue. |
| **Average** | 1.5–2.5% | In line with most stores. Meaningful room to improve. |
| **Good** | 2.5–4% | Above average. Incremental optimisation will move you toward Excellent. |
| **Excellent** | 4%+ | Top-quartile performance. Focus on protecting and scaling. |
The same benchmark chip appears under the cart-abandonment and checkout-abandonment KPIs so you can benchmark each stage independently.
## Checkout health
A dedicated row surfaces the health of your checkout process in three numbers:
* **Abandoned cart value**: total revenue sitting in abandoned carts during the period. Recovering even a fraction has a direct bottom-line impact.
* **Cart-to-purchase rate**: how many carts actually turn into completed orders.
* **Checkout success rate**: how many started checkouts reach payment confirmation.
## The order-based funnel
The funnel shows each stage in sequence: sessions → product views → add to cart → checkout started → purchase completed. Each stage lists its count and the percentage drop-off to the next. The largest single drop is where you lose the most shoppers, start your optimisation there.
Below the funnel, three insight chips surface the most actionable signals automatically:
* **Biggest drop-off stage**: the step with the steepest fall, so you know where to look first.
* **Biggest lever**: the stage where the most sessions are lost in absolute terms. Fixing this delivers the largest raw recovery.
* **Cart-to-purchase rate**: a direct read on how effectively your checkout converts carts into orders.
## Google Analytics 4 ecommerce events
The GA4 event view requires a connected [Google Analytics 4 property](/en/integrations/google-analytics). After connecting or changing a property, wait for the background sync to complete before expecting the funnel to populate.
When Google Analytics 4 is connected, a **Google Analytics 4 ecommerce events** section sits alongside the order-based funnel. Its subtitle says what it is: **Independent event totals, not unique shoppers or carts.** It counts how often each ecommerce event fired, and one shopper can fire an event more than once. Zeroes are useful too: they can reveal missing ecommerce instrumentation.
| KPI | GA4 event |
| ------------------------- | ------------------------------------------------ |
| **Product-view events** | `view_item`, a visitor viewed a product page |
| **Add-to-cart events** | `add_to_cart`, they added an item to their cart |
| **Checkout-start events** | `begin_checkout`, they entered the checkout flow |
| **Purchase events** | `purchase`, they completed the transaction |
Below the counts, **GA4 event ratios** divide one event total by another. They are directional ratios between independent event counts, not user conversion or cart-abandonment rates:
| Ratio | What it is | What it is not |
| ------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------- |
| **Purchase / cart events** | Purchase-event count divided by add-to-cart-event count. | Not the share of carts that converted, because events repeat. |
| **Purchase / checkout events** | Purchase-event count divided by begin-checkout-event count. | An instrumentation ratio, not a shopper completion rate. |
| **Purchase / view events** | Purchase-event count divided by product-view-event count. | Not a visitor conversion rate. |
Because the counts are event-driven, they expose earlier, harder-to-observe stages than completed orders alone. Use them as directional evidence, then investigate the affected product pages or checkout flow. When GA4 is connected but no shopping events came in for the period, the section says **GA4 funnel not ready yet** and points you to check the property's events or start a sync.
## Act on what you find
Visitors are not convinced to act. The most common cause is weak product content: thin descriptions, few or poor images, and unclear pricing. Open [Data Quality](/en/analytics/data-quality) to find the products with the lowest quality scores, then run [AI enrichment](/en/essentials/enriching-products) to fill the gaps. Cross-reference with [Search & Discovery](/en/analytics/search-discovery) to confirm these products are surfacing in relevant searches. **Outcome:** more visitors taking the first step into your purchase funnel, which lifts every downstream metric.
Shoppers added items but left before checkout. The top killers are surprise shipping costs, missing payment methods, and checkout friction. Review your checkout configuration on the relevant platform. In parallel, check [Product Performance](/en/analytics/product-performance) to see if the abandoned products have pricing issues, if your average selling price is out of line with the category, that also drives abandonment. **Outcome:** recovery of revenue that was already signalled by a cart add, with no extra traffic spend.
Intent was established, the shopper entered checkout but did not finish. The problem almost always lies in the checkout flow itself: payment errors, required account creation, unexpected fees, or a slow/broken payment step. This is a platform-level fix, but you can validate which products or price points are most affected by checking the [Revenue & Sales](/en/analytics/revenue-sales) top products table for patterns. **Outcome:** closed checkout-stage leakage on shoppers who had already committed to buy.
If sessions are high but conversion rate is in the Poor band, the problem is systemic. Check the funnel to see where the largest single drop-off sits: if it is sessions → product views, your landing pages are not connecting visitors to relevant products (see [Search & Discovery](/en/analytics/search-discovery)). If it is product views → add-to-cart, content quality is the lever, use [AI enrichment](/en/essentials/enriching-products) on your highest-traffic, lowest-converting products. **Outcome:** improvement in conversion rate from the same traffic, compounding into a significant revenue lift.
If shoppers who start checkout almost always complete it, but your headline conversion rate is still low, the leakage is happening before checkout, at the product page or cart stage. Focus enrichment effort on [AI enrichment](/en/essentials/enriching-products) and review product pricing with [Bulk Edit → Change price](/en/essentials/bulk-editing/change-price) on products with high view counts but low add-to-cart. **Outcome:** targeted work on the funnel stages that actually need it, rather than a blanket audit.
## Compare against benchmarks
| Metric | Average | Good | Excellent |
| ------------------------ | ------- | ------ | --------- |
| **Conversion rate** | 2–3% | 3–5% | 5%+ |
| **Cart abandonment** | 70% | 60–70% | \<60% |
| **Checkout abandonment** | 25% | 15–25% | \<15% |
| **Add-to-cart rate** | 5–8% | 8–12% | 12%+ |
Benchmarks shift a lot by industry and price point. Treat them as direction, not hard targets. Compare against your own history first.
## Related
See where your visitors come from and how they behave on your site.
See how conversion gains turn into revenue growth.
See how customers find products and clear the path to purchase.
# Cross-sell & Bundles
Source: https://docs.wisepim.com/en/analytics/cross-sell-bundles
Find the products customers buy together. Use affinity analysis to spot the strongest bundle and cross-sell opportunities, then turn them into larger orders.
The Cross-sell & Bundles report finds products your customers buy together. Acting on it lets you build bundles and cross-sell offers grounded in real purchase behavior, grow average order value without acquiring new customers, and identify the anchor products that lift your entire catalog's basket size when featured in "frequently bought with" widgets.
This report needs orders that contain more than one product. If most of your orders hold a single item, the data set for affinity analysis will be small.
## Key metrics
Four numbers at the top of the report give you an immediate read on the opportunity:
| Metric | What it tells you |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Pairs found** | The total number of product pairs that appear together in your orders, with the total co-occurrence count shown as context. |
| **Multi-item orders** | The count of orders with more than one product, and the share of all orders that number represents. This is your baseline for basket-size improvement. |
| **Average confidence** | Across all pairs, the average probability that buying one product leads to buying the other. |
| **Average lift** | The average lift across all pairs. Lift above 1.0 means products pair more than chance; above 2.0 signals a genuinely strong bond. |
### What good looks like
| Metric | Concerning | Typical | Strong |
| -------------------------------- | ---------- | ------- | ------ |
| **Multi-item order share** | \<10% | 15–30% | >30% |
| **Average lift** | \<1.2 | 1.5–2.0 | >2.0 |
| **High-lift pairs (lift > 2.0)** | 0–2 | 3–10 | 10+ |
| **Confidence on best pair** | \<20% | 20–40% | >40% |
A low share of multi-item orders is not always bad, your products may simply be standalone purchases. But it does mark clear room to grow basket size with targeted bundles and cross-sell offers.
### Quick stats panel
Below the four KPIs, three summary stats reinforce the opportunity size:
* **High-lift pairs**: count of pairs with lift above 1.5, which represent your strongest bundle candidates.
* **Cross-sell rate**: the share of orders that include a product from a known high-lift pairing.
* **Estimated bundle revenue**: a directional revenue estimate for the top pairs. Use it to size the opportunity, not as a precise forecast.
## Bundle opportunity cards
Below the quick stats, the top bundle opportunities are shown as recommendation cards. Each card highlights one product pair and labels it with an opportunity badge:
* **High Opportunity**: strong lift and high co-occurrence; a proven pairing worth featuring prominently.
* **Quick Win**: high confidence in one direction with a modest lift; easy to implement on a product page.
* **Growing**: a newer pairing whose co-occurrence is trending upward over the selected period.
Each card shows the lift, confidence, co-occurrence, and the revenue already generated by orders containing that pair.
## Affinity charts
Two bar charts sit above the full table and give you a quick visual read:
* **Most frequently bought together**: the top pairs ranked by co-occurrence count. High volume here means a common real-world pattern.
* **Strongest associations**: the top pairs ranked by lift score. A high-lift pair with modest co-occurrence is a real behavioral signal that just hasn't had many chances yet; a low-lift pair with high volume is mostly explained by both products being popular.
## Affinity table
The product pair affinity table lists all pairs that appear in your order data, with one row per pair.
| Column | What it means |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Product A + Product B** | The two products in the pair. Click either product name to activate the product focus filter, the table instantly narrows to only pairs that include that product. Click the chip to clear it. |
| **Co-occurrence** | How many times the pair was bought together. |
| **Confidence** | If a customer buys Product A, how likely they are to also buy Product B, shown as a percentage. Note that confidence is directional, it measures A→B, not B→A. |
| **Lift** | How much more often the pair sells together than random chance would predict. Lift above 1.0 means a real link; the higher, the stronger the bond. |
| **Revenue** | Combined revenue from orders containing both products. |
| **Opportunity Score** | A composite score that weighs lift, confidence, and revenue together. Use it to rank pairs when you can only act on a few. |
Here is what those numbers look like in plain language:
* **Co-occurrence = 45**: the pair appeared in the same order 45 times.
* **Confidence = 32%**: 32% of customers who bought Product A also bought Product B.
* **Lift = 3.2**: the pair sells together 3.2 times more often than chance predicts.
**Reading the table:** sort by Lift to find the strongest behavioral bonds. Sort by Revenue to find where bundle value is already concentrating. A pair with both high lift and high revenue is your best bundle candidate, act on it first.
### Filter chips
Four chips above the table let you narrow the list without touching the search field:
* **All**: every pair in the data set.
* **High Lift**: pairs with a lift score above 2.0.
* **High Confidence**: pairs where confidence exceeds 40%.
* **Quick Wins**: pairs with high confidence but modest lift; the easiest to act on.
### Product focus filter
Click any product name in the table to activate the product focus filter. The table immediately narrows to show only the pairs that include that product. This is the fastest way to answer "what should I cross-sell alongside this specific item?" Click the active product chip to clear the filter and return to the full table.
## Category affinities
Below the pair table, the Category Affinities section aggregates the same signal at a higher level. It shows which category pairs appear together most often in multi-item orders. Use it to find cross-category bundle ideas, for example, if "Cables" and "Adapters" always co-occur with "Laptops", that points to a natural accessory bundle.
## Top products ranking
The top-right panel ranks individual products by how often they appear in high-lift pairs. A product that appears in many strong pairs is a natural anchor for cross-sell recommendations, surfacing it in a "frequently bought with" widget on other product pages can lift basket size across your whole catalog.
## Act on what you find
This is a proven pairing worth featuring prominently. Open the product editor for Product A (linked directly from the bundle opportunity card) and add Product B as a cross-sell recommendation on the Relationships tab. If your platform supports bundles, create a formal bundle offer. **Outcome:** customers who discover Product A are prompted to add the natural companion, directly growing average order value.
The link runs one way: customers who buy Product A frequently also buy Product B, but not the reverse. Show Product B on Product A's page only, adding a reverse recommendation would clutter Product B's page with an irrelevant suggestion. **Outcome:** a directional cross-sell placed at the right point in the customer's decision captures the companion purchase without confusing shoppers who start with Product B.
This product is a natural bundle anchor. Feature its top companions in a "frequently bought with" widget on this product's page, and consider surfacing this product in widgets on its companion pages too. Use [Product Families](/en/products/product-families) to formalize the relationship and make it maintainable. **Outcome:** a cross-sell anchor lifts basket size across multiple product pages simultaneously.
Dig into why customers buy these items together. You may have uncovered a use case you had not merchandised, which can guide new bundle ideas, category structures, or even new product additions. **Outcome:** acting on an unexpected insight before competitors notice it is a durable differentiation.
Most orders are single-item, which means there is significant room to grow basket size. Review whether your platform's product pages and cart surface any cross-sell recommendations at all. Even a basic "frequently bought with" section on your top 20 products can move this number. **Outcome:** every percentage point increase in multi-item order share compounds directly into revenue per order.
Customers do buy multiple items, but not in particularly meaningful combinations. This can mean your catalog has few natural companions or that existing cross-sell recommendations are not well-targeted. Use the Lift filter to find pairs with genuine statistical bonds and replace generic recommendations with specific ones. **Outcome:** replacing low-lift with high-lift recommendations increases the probability that a shown suggestion actually converts.
## Related
See per-product metrics to learn which items in a bundle drive the most value.
Track how your bundling moves shape average order value and revenue.
Explore cross-category affinities to find bundles across product lines.
# Customer Insights
Source: https://docs.wisepim.com/en/analytics/customer-insights
See who your customers are and how they behave over time. Track lifetime value, retention, and segments so you can focus on the customers that matter most.
The Customer Insights report shows who your customers are and how they behave over time. It looks past single transactions to reveal lifetime value, retention, and segments. Use it to focus on the customers that drive your business.
The most actionable output from this report is the RFM segmentation: it tells you not just how many customers you have, but which ones are drifting away, which ones are worth a VIP program, and which recent buyers have the potential to become loyal. Acting on those segments, with targeted outreach, retention campaigns, and product improvements, typically delivers more revenue than the same effort spent on acquisition.
This report needs order history with customer identifiers from your connected platforms. Anonymous and guest checkouts without an email address cannot be tracked across repeat purchases.
## Key metrics
The headline row shows your most important customer health numbers.
| Metric | What it tells you |
| ------------------------ | -------------------------------------------------------------- |
| **Total customers** | Unique customers who made at least one purchase in the period. |
| **Lifetime value (LTV)** | Average total revenue per customer across all their purchases. |
| **Retention rate** | Share of customers who come back for a second purchase. |
| **Repeat purchase rate** | Share of customers who have bought more than once. |
| **Churn rate** | Share of once-active customers who have stopped buying. |
A secondary KPI row surfaces four more signals that are easy to miss in the headline numbers:
* **New customers**: first-time buyers gained during the period. A healthy business keeps this growing.
* **Avg orders per customer**: how many times the average customer buys. Low numbers signal a one-and-done problem.
* **VIP customers**: customers in the Champions and Loyal segments combined. This is the group most worth protecting.
* **At-risk customers**: customers who bought before but show signs of lapsing. An early-warning number for churn.
Compare LTV to your customer acquisition cost (CPA). A healthy business keeps LTV at least 3x CPA. If your ratio is lower, cut acquisition costs or improve retention.
## Composition
Two donuts sit side by side and answer different questions about who your customers are.
The **new vs returning donut** shows the balance between first-time buyers and repeat purchasers in the selected period. A healthy store typically sees a mix that leans returning, it costs far less to keep a customer than to acquire one.
The **segments donut** groups your customers into named RFM segments based on how recently they bought, how often, and how much they spend. Each slice is a distinct behavioural cohort:
| Segment | Description |
| ------------------ | -------------------------------------------------------- |
| **Champions** | Bought recently, buy often, and spend the most. |
| **Loyal** | Buy regularly at solid spend levels. |
| **Potential** | Recent buyers with the profile to become loyal. |
| **New** | Made their first purchase recently. |
| **Promising** | Bought a few times with decent recency. |
| **Need Attention** | Above-average customers who are becoming less active. |
| **At Risk** | Once bought frequently but have not returned in a while. |
The size of each slice shows where your base currently sits and whether it is shifting in a healthy direction over time.
A healthy distribution leans toward Champions and Loyal (ideally 15–25% combined). A large At Risk or Need Attention slice means churn is outpacing retention effort, that is the segment to act on first. A large New slice relative to other segments suggests you are acquiring customers but not converting them into repeat buyers.
## Customer growth chart
A line chart tracks total and new customers over time. Steady new-customer growth means healthy acquisition. A flat or falling line means you need wider reach or new channels.
## Cohort analysis
The cohort section looks at groups of customers acquired in the same period and follows them forward.
* **Acquisition cohorts (stacked bar)**: each bar represents a cohort of customers who made their first purchase in a given month. The height shows the initial cohort size. Stacking lets you compare how large each intake was relative to others and how your acquisition volume has changed over time.
* **LTV by cohort (line chart)**: each line follows one cohort's cumulative revenue per customer as the cohort ages. Cohorts whose lines climb steeply are your best vintages. Cohorts that plateau early tend to be one-time buyers. Use this view to spot whether recent acquisition cohorts are tracking as well as older ones.
## Segment performance table and top customers
A **segment performance table** lets you compare cohorts side by side. For each named segment it shows customer count, share of total customers, average order value, and revenue share. Use it to see how Champions differ from Promising customers in concrete revenue terms.
A **top customers table** lists your ten highest-spending customers with their email address, total number of orders, and total amount spent. Use it as a quick starting point for VIP outreach or retention offers.
## Benchmarks
Use these ranges to judge where your metrics stand.
| Metric | Average | Good | Excellent |
| ------------------------ | ------- | ------ | --------- |
| **LTV to CPA ratio** | 2:1 | 3:1 | 5:1+ |
| **Retention rate** | 25–30% | 40–50% | 50%+ |
| **Churn rate (monthly)** | 5–7% | 3–5% | \<3% |
| **Repeat purchase rate** | 20–25% | 30–40% | 40%+ |
## Act on what you find
Your VIP segment is thin. Before investing in acquisition, focus on converting the Promising and Potential segments into repeat buyers. The most direct lever available in WISEPIM is product content: customers who had a good product experience are far more likely to return. Run [AI enrichment](/en/essentials/enriching-products) on the products your top customers bought most. If you see the VIP count grow in subsequent periods, the enrichment is closing the trust gap. **Outcome:** a bigger, self-reinforcing VIP base without additional marketing spend.
At Risk customers bought before but are showing signs of lapsing, act before they cross into churned. Check the **Top customers table** to identify the highest-value at-risk accounts. Then look at the products they purchased in the [Product Performance](/en/analytics/product-performance) report. If those products have declining quality scores or falling revenue trends, enrich them with [AI enrichment](/en/essentials/enriching-products) to ensure they still convert well on return visits. Set up a re-engagement campaign timed around the [Time Patterns](/en/analytics/time-patterns) peaks for this customer group. **Outcome:** preventing LTV from being cut short on customers you already paid to acquire.
You are filling a leaky bucket. The unit economics only work if each customer buys more than once. Check [Data Quality](/en/analytics/data-quality) to see whether the products that most new customers first purchase have quality scores above 80, a poor first product experience is a major churn driver. Use [AI enrichment](/en/essentials/enriching-products) to improve those entry-point products before spending more on acquisition. **Outcome:** a higher LTV per acquired customer, which makes the same acquisition budget generate more long-term revenue.
Rising churn is a compounding problem: the customers you lose now cannot contribute to LTV. Check whether the churn accelerated after a specific date, if so, cross-reference with [Time Patterns](/en/analytics/time-patterns) to see if there was a drop in repeat visit frequency around the same time. Look at [Product Performance](/en/analytics/product-performance) for the products churned customers purchased: a quality or availability issue on a popular product can trigger a wave of churn. Fix the root product issues via [AI enrichment](/en/essentials/enriching-products) or pricing adjustments. **Outcome:** stopping the churn bleeding at its source rather than trying to re-acquire customers you already lost.
When a recent cohort's LTV line on the cohort chart flattens sooner than older vintages, acquisition quality is declining. Check [Marketing Attribution](/en/analytics/marketing-attribution) to see which channels are driving the newer cohorts, if a new channel is producing lower-LTV customers, it should be deprioritised or the entry experience improved. Cross-check the products those cohorts first bought in [Product Performance](/en/analytics/product-performance) to see if a weaker product category is now attracting new customers. **Outcome:** spending acquisition budget on channels and products that produce customers who actually stick.
## Related
Optimize the path from visitor to first-time customer.
See which marketing channels bring your most valuable customers.
Find when your customers are most active and time your outreach.
# Data Quality Analytics
Source: https://docs.wisepim.com/en/analytics/data-quality
Grade, score, and fix your product data across Overview, Fix Issues, and Field Health views. Spot quick wins and track the impact of every improvement.
The Data Quality section measures how complete, accurate, and channel-ready your product data is. WISEPIM calculates a weighted quality score across four domains and gives you three focused sub-pages to understand the current state, fix issues, and drill into field-level health.
You need products imported into your project before quality metrics appear. If you see an empty state, [import your products](/en/essentials/importing-products) first.
## Three sub-pages
Switch between sub-pages using the tabs at the top of the section. Data loads once and is shared across all three tabs, so navigation is instant.
The main dashboard: your overall score, grade distribution, domain breakdown, trend charts, content coverage funnel, and action-impact history.
Issue-centric workspace: quick wins ranked by score impact, a filterable issues table, and the improvement roadmap.
Field-level coverage matrix across product families, duplicate detection, catalog freshness, and schema suggestions.
## The quality score
The hero metric at the top of the Overview shows your overall quality score on a 0–100 scale with a letter grade from A to F. It is a weighted average of four domain scores - Completeness, Channel Readiness, SEO Discoverability, and Conversion Potential, and updates automatically as you improve your data. Products in [ETIM-linked families](/en/products/classification) additionally carry an **ETIM Conformance** domain in their breakdown.
Alongside the score you can see:
* **Products needing attention**: products with high-priority issues
* **Issue breakdown**: counts by severity (high, medium, low)
* **Content coverage**: average percentage of key fields filled across your catalog
* **Score trend**: direction and size of change versus the previous period
Products that have not been scored yet are left out of the averages and the grade distribution rather than counted as zero, and the dashboard tells you how many products were scored versus not measured. Issue counts on large catalogs are extrapolated from a deterministic sample, so they stay stable between visits.
### What a healthy score looks like
These are the default grade thresholds. They are configurable in [project settings](/en/settings/data-quality) to match your team's standards.
| Score | Grade | What it means |
| -------- | ----- | ------------------------------------------------------------------------------- |
| 90–100 | A | Excellent, data is optimized for visibility and conversion across all channels |
| 80–89 | B | Good, minor improvements available, but the catalog is channel-ready |
| 70–79 | C | Needs work, gaps in SEO or conversion fields are likely suppressing performance |
| 60–69 | D | Poor, missing required fields are blocking channel listings or harming rankings |
| Below 60 | F | Critical, core fields are absent; enrichment is urgent |
**Aim for a B (80+) as your baseline.** Stores that maintain a B-or-above score consistently see lower return rates (fewer "not as described" issues) and better channel listing acceptance. An A (90+) is the target for high-competition categories where ranking differences are determined by content quality.
You can customize grade thresholds and domain weights in your [project settings](/en/settings/data-quality) to match your team's standards.
## Domain score breakdown
Your score is built from four domains:
How thoroughly your core fields are filled in: titles, descriptions, images, prices, categories, and brand.
Whether your products meet the data requirements of each connected sales channel (Shopify, Magento, WooCommerce, and others).
Meta titles, meta descriptions, and keyword optimization, so your products appear in search results.
Whether your data includes the elements that drive purchases: rich descriptions, multiple images, and compelling content.
Each domain score appears in a radar chart (shape comparison at a glance) and a bar breakdown (pinpoint which domain to prioritize).
**Reading the domain breakdown:**
* A **well-balanced radar shape** (all four domains roughly equal) indicates systematic quality work. A lopsided shape means one domain is the bottleneck, fixing it will raise the overall score faster than spreading effort evenly.
* **Completeness and Channel Readiness below 70** are the most urgent: they directly cause import failures and listing rejections on sales channels.
* **SEO below 70** suppresses organic traffic without an obvious "broken" symptom, products list fine but rank poorly.
* **Conversion Potential below 70** means your listings are technically complete but not optimized to close the sale.
## Overview charts
### Grade distribution
How your products spread across quality grades (A to F). Use this to see how many products are in excellent shape versus how many need work.
### Domain trend comparison
How each of the four domain scores has moved over time. See whether completeness is improving while SEO stays flat, and prioritize accordingly.
### Historical score chart
Your overall quality score trend across the selected date range (7 days, 30 days, 90 days, or 12 months).
### Content coverage funnel
The percentage of products that have each key field filled in: descriptions, short descriptions, meta titles, meta descriptions, categories, images, brand, and price. This funnel view shows where the biggest gaps are.
### Products that need attention
The **Products that need attention** table lists your 50 lowest-scoring products, 10 per page, lowest score first. Each row shows the score and issue chips for the fields it is missing, such as **No description**, **No image**, **No price** or **No meta title**, with a one-line reason why that field matters. **Open product** takes you to the product to fix it; **See all products, lowest score first** opens the full catalog sorted the same way.
If your score drops sharply, check the **Action Impact** chart. It shows whether the drop came from a bulk import, manual edits, or automated updates, so you can find the root cause fast.
## Fix Issues sub-page
The Fix Issues tab is where you go to act. It surfaces what to fix first and lets you navigate directly to the products that need work.
### Quick Wins
Quick Wins are the highest-impact, lowest-effort improvements available right now. Each suggestion shows:
* **Impact level**: high, medium, or low, plus an **effort estimate**
* **Number of products affected**
* **Potential score increase** from completing the fix (measured by simulating the change)
* A **Fix Products** button that takes you straight to the relevant filtered product list
Quick wins are named after the fix they hand off to: **Add product descriptions**, **Add a main image**, **Set missing prices**, **Generate meta titles**, **Generate meta descriptions**, **Assign categories**, **Add short descriptions** and **Add brand names**.
Start with high-impact, low-effort quick wins. Adding missing product images and generating meta descriptions are typically the fastest score gains.
### Preview before you fix
Select a quick win to open its detail drawer. It shows the exact products affected and the score lift you can expect, so you can confirm the fix is worth it before handing off to enrichment or a bulk edit.
### The Fix with AI review drawer
Every **Fix with AI** button opens the same review drawer. Nothing is written to your catalog until you say so. The drawer walks you through three phases.
The top of the drawer tells you what the fix is worth. **Projected impact** shows the lift to your catalog score and the points each fixed product gains. **Who's affected** lists how many products are involved, how many already have the field filled, and a sample of products you can open with **Edit in a new tab**. **Most affected families** shows where the gap is concentrated. **What's about to happen** shows the credit estimate next to your available balance, and lists the steps WISEPIM will run: filter and select the products that need the fix, pick the prompt that tells AI how to write it, generate the missing content, then review before applying.
Click **Test on one**. WISEPIM generates a sample for a single product and shows a **Before** and **After** diff. Nothing is saved at this stage, so you can read the result, decide whether the prompt is right, and try again if it is not.
Happy with the sample? Use **Apply to all** in the footer to run the fix across every affected product. **Open in Products** takes you to the filtered product list instead, if you would rather work through them by hand.
Each fix carries a severity (**Critical**, **Important**, or **Minor**) and a category (**SEO**, **Content**, **Commerce**, or **Media**), so you can tell at a glance how urgent it is and which part of your data it touches.
WISEPIM uses three separate scales, one per surface, and they don't map onto each other. Quick Wins rank *opportunities* by **impact** (high, medium, low) - how much score you gain by acting. The Fix with AI drawer rates *problems* by **severity** (Critical, Important, Minor) - how urgent the underlying issue is. And [Quality Guard](/en/quality-guard/rules) rules carry an *enforcement action* (**Block**, **Skip**, **Warn**) - what happens at export time when a product fails the rule.
This is the same drawer you get behind **Fix with AI** everywhere else in WISEPIM: Channel Readiness, [Competitor Intelligence](/en/analytics/competitors), **Grow sales**, and **Reduce returns**. Learn it once and every fix button works the same way.
### Issues table
A filterable, sortable table of every product with open data quality issues, grouped by severity. Click any product to open it and fix the issue inline.
### Improvement roadmap
Based on your current score, the roadmap lays out a phased sequence of improvements toward your target. It considers your coverage gaps, issue counts, and domain scores to give you a prioritized plan.
## Field Health sub-page
The Field Health tab gives you a field-by-field view of coverage across your [product families](/en/products/product-families).
### Field coverage matrix
See which fields are filled across each product family, which families have the lowest coverage for specific fields, and where to focus for the highest score impact. Click any cell to open the products missing that field.
Families and fields that have not been scored yet show **Not measured yet** instead of a percentage. They fill in after the next scoring run.
### SEO & Conversion deep dive
Character-limit compliance for meta titles and descriptions, plus which conversion-driving elements (images, rich descriptions) are present across your catalog.
### Channel Readiness matrix
Which of your active sales channels your products are ready for. Readiness is measured per product: each product is checked against the channel's own required fields, image minimum and identifier rule. The header shows **Products Checked**, **Channels tracked** and the **Overall score**, and each channel row reads **N of M products ready** with either **N blocked** or **All products ready**. Hover a channel to see what it asks for: its **Required fields**, **Recommended fields**, the minimum number of images and the product identifier rule. Requirements WISEPIM could not verify automatically are flagged **Not verified**, so the ready count for that channel may be optimistic.
### Duplicates, freshness, and schema suggestions
* **Duplicates**: products that appear to be duplicates based on content similarity.
* **Catalog freshness**: products that have never been enriched, never been reviewed, or have not been updated in over 30 or 90 days.
* **Schema suggestions**: attributes spotted in supplier feeds or on competitor pages that you have not added to your data model yet.
## Tracking progress
### Progress milestones
Visual milestones mark your journey from your starting score toward your target. Each threshold you cross unlocks the next milestone.
### Improvement activity calendar
A calendar heatmap shows your daily improvement activity. Days with more changes appear in darker shades.
### Issue resolution velocity
How quickly your team resolves quality issues over time. Use this to forecast when you will reach your target score.
### Achievements
Earn achievements as you hit data quality milestones.
## Family score comparison
If you organize products into families (for example, "Electronics" or "Clothing"), the Family Score Comparison lets you compare average quality and completeness scores across families to see which categories need the most attention.
## Benchmarking
See how your catalog quality compares to others in your industry category, including your percentile ranking and distance from the category average.
## Customizing quality scoring
Adjust how scores are calculated in your [project settings](/en/settings/data-quality):
* **Domain weights**: control how much each domain contributes to the overall score.
* **Grade thresholds**: define the score ranges for each letter grade.
* **Core field weights**: specify which fields matter most for completeness scoring.
* **Enabled platforms**: choose which sales channels count for channel readiness.
* **SEO character limits**: set your preferred character ranges for meta titles and descriptions.
## Scoring model v2: stricter, more accurate checks
WISEPIM has a second scoring model you can switch on. It is called **Stricter, more accurate checks** in [project settings](/en/settings/data-quality). It looks past "is this field filled in?" and asks whether the value is actually usable.
On top of everything v1 measures, v2 adds:
| Check | What it catches |
| ------------------------ | ----------------------------------------------------------------------------------- |
| **Placeholder values** | Filler text like "tbd" is counted as empty instead of complete. |
| **Attribute validity** | Attribute values that do not fit the attribute they belong to. |
| **Media completeness** | Whether the full image gallery is there, including per-platform image requirements. |
| **Translation coverage** | How much of your content actually exists in each of your languages. |
| **Content uniqueness** | Copy repeated across products, and titles or descriptions stuffed with keywords. |
**v2 is opt-in.** Every existing project stays on v1 until you turn v2 on yourself. Nothing changes in your scores until you switch.
Because v2 is stricter, expect your score to drop when you enable it. That is the point: the new number reflects the data a customer or a channel actually sees. Switch it on when you are ready to work against a tougher standard, and treat the first score after the switch as your new baseline rather than a regression.
Turn v2 on in a quiet week, not the day before a channel launch. Give yourself room to work through the new issues that appear in **Fix Issues** before anyone reads the score as a target.
## Act on what you find
Check the **Action Impact** chart on the Overview tab first. A sharp drop almost always traces to a bulk import, a batch delete, or an automated update that introduced empty or invalid values. Identify the event, fix the affected products in bulk, and watch the score recover. Outcome: understanding the root cause prevents the same drop from recurring.
Go to the **Fix Issues** tab and sort Quick Wins by impact. Fill the most common missing fields (descriptions, images, categories) with a targeted enrichment run via [Enriching Products](/en/essentials/enriching-products). For channel-specific missing fields, use the Channel Readiness matrix in Field Health to see exactly which fields each platform requires. Outcome: eliminating import rejections and channel listing failures, which translates to products becoming visible on channels they were previously excluded from.
Open the Field Health tab and check the SEO deep dive, it shows character-limit compliance for meta titles and descriptions. Meta titles should be 50–60 characters; meta descriptions 150–160 characters. Products outside these ranges can be batch-enriched via the Fix Products button. Outcome: improving meta content directly improves click-through rates from search results, even without changing rankings.
The funnel shows where the biggest drop-offs are. If 80% of products have a description but only 30% have a meta title, that is your highest-leverage fix, it affects the most products with the least effort per product. Use [Enriching Products](/en/essentials/enriching-products) with bulk generation to close the gap quickly. Outcome: a uniform baseline of content across the catalog, raising the floor score for all products.
Open the improvement roadmap at the bottom of Fix Issues. When quick wins are exhausted, the roadmap surfaces the next phase of work, typically medium-effort fixes like optional attributes, additional images, or cross-channel compliance. Outcome: a phased plan that keeps score momentum going without requiring a manual audit.
Use the Family Score Comparison to identify the outlier, then filter to that family in the issues table to see which specific fields are missing. Consider whether those fields have a standard answer you can apply in bulk, for example, setting a default brand, or adding a category mapping that covers the whole family. Outcome: lifting a low-scoring family to the catalog average often has a larger overall score impact than further optimizing already-strong families.
## Related
Return to the Hub for a birds-eye view of your store and Smart Insights.
Build a personalized dashboard that includes your most important quality metrics.
Trace returns back to the quality gaps that caused them, and fix them at the source.
# Enrichment Impact
Source: https://docs.wisepim.com/en/analytics/enrichment-impact
Prove the ROI of AI enrichment. See the revenue lift after you improved a product, broken down per SKU and by enrichment type.
The Enrichment Impact report answers the question every team asks: did improving our content actually pay off? It compares how products performed before and after enrichment, so you can prove the ROI and double down on what works.
**What acting on it enables:** build a data-backed case for catalog-wide enrichment, identify which type of improvement (title, description, specs, images, SEO content) moves revenue the most, and catch products where enrichment did not help so you can investigate further.
This report needs order history plus a record of which products were enriched and when. It becomes meaningful once you have enriched products and collected sales data from the period after enrichment. The comparison window is 30 days before versus 30 days after each enrichment event.
Only **mature** enrichments count in the summary, the trend, winners and regressions, and the per-action cohorts: the full after-window has to have elapsed. Recent enrichments are listed separately as **preliminary**, with the days observed and remaining, confidence capped at Low, and an early signal when there is one. When the control group of comparable, non-enriched products is too small, the report says **Market baseline unavailable** rather than showing a 0% market trend.
## Key metrics
The summary hero shows total net incremental revenue, the aggregate uplift across all enriched SKUs after removing market drift, and the headline net lift percentage.
| Metric | What it tells you |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Gross lift %** | The raw revenue change after enrichment, compared to the same length of time before. It does not yet account for wider market movement, so a rising market can flatter it and a falling one can mask a real win. |
| **Net lift %** | Gross lift after subtracting the **market baseline**: how comparable products that were *not* enriched moved over the same window. This isolates the share of the change that enrichment actually caused, and is the figure to trust. |
| **Net incremental revenue** | The absolute revenue gain attributable to enrichment, after removing that market baseline. Positive = enrichment added revenue beyond the general trend. |
| **Winners** | SKUs where net lift is positive, enrichment beat the market baseline. |
| **Regressions** | SKUs where net lift is negative, worth investigating. Note: low-confidence regressions are excluded as they lack sufficient sales data. |
| **Confidence** | How statistically reliable the before/after comparison is, based on the volume of sales data available: **High**, **Medium**, or **Low**. |
Because net lift removes the market baseline, a product can show a negative *gross* change but still be a **winner**: if the whole category dipped and your enriched SKU dipped less, the report flags it as "likely seasonal, not the enrichment" rather than a regression. Separately, each SKU's drawer tells you whether the enrichment has earned back the credits it cost, that payback check is about cost, not the lift calculation.
### What good looks like
There is no single benchmark for enrichment lift, because it depends on how incomplete the content was before enrichment. That said:
* A net lift of **+10 % or more** on a batch of products is a strong signal that content was the bottleneck for those SKUs.
* Even a **+5 % net lift** on high-revenue products represents meaningful incremental income.
* Products with **low confidence** need more sales data, check back after another 2–4 weeks.
* **Regressions** in high-confidence products are worth investigating: they may reflect seasonal effects, a price change, or content that set expectations the product could not meet.
## Revenue lift per product
The report shows the revenue change for products after they were enriched, and breaks the lift down by what you improved, titles, descriptions, images, specs, or SEO content, so you can see which kind of enrichment moves the needle most.
The **Revenue by enrichment action** bar chart shows cumulative incremental revenue per action type. If "description" consistently produces the biggest bars, that is where to focus your next enrichment run.
## Before and after, per SKU
Open any product row to see a side-by-side before-and-after: what changed in the content, how revenue shifted, and whether the enrichment has paid back its credit cost. Use it to build the business case for enriching the rest of your catalog.
## Reading the results
The report only compares complete windows of equal length: the full post-enrichment window against the same number of days before enrichment. A product whose after-window has not finished yet is not mixed into the headline numbers, so the summary never flatters itself with a partial month.
* **"N recent enrichments are still collecting data"**: this panel lists the preliminary products, each with its **days remaining**. They do not affect the result above. When the partial data already leans positive, the panel adds **Early positive signal (not final)** with the number of products that are up so far in equal-duration data. Treat it as a hint, not a result.
* **"Mature products with a positive signal: N"**: the winners in the mature cohort, with their observed positive change, the market-adjusted positive subtotal, and the strongest single signal. Declines still remain in the overall result. This is a positive observed association within the mature cohort, not proof that enrichment caused it.
* **Market baseline unavailable**: too few comparable non-enriched products exist to build a control group. Gross lift is still shown, but there is nothing to subtract, so read it with the market trend in mind.
* **Cumulative trend rising steadily**: enrichment is generating a compounding return as more SKUs mature and accumulate post-enrichment sales history.
* **Winners clustered in one action type**: the catalog had a specific weakness (e.g., all products lacked descriptions). Focus bulk enrichment runs on that action type across unenriched SKUs.
* **High-confidence regressions**: worth opening the drawer to check: did the product change price, category, or competitive context at the same time? A true regression on clean data may mean the new content set expectations the product could not meet.
* **No data yet / "No measurable enrichment impact"**: either no products have been enriched yet, or every enrichment is still preliminary. Enrich a batch of products that are already selling, wait for the after-window to complete, then check back.
Enrich a representative batch first, give it a few weeks of sales, then check this report. A proven lift on a sample makes the case for a catalog-wide rollout, and the report gives you the exact number to show stakeholders.
## Act on what you find
These SKUs prove the ROI. Use their action types (title, description, specs, images) as a template and run the same enrichment on unenriched products in the same category or price band. Go to [Enriching Products](/en/essentials/enriching-products) to run a bulk enrichment pass. **Outcome:** replicate proven revenue lift across more of the catalog.
If the "Revenue by enrichment action" chart shows descriptions or specs generating far more lift than other actions, prioritize that action in your next enrichment campaign. The report tells you which type of content work has the highest return. **Outcome:** better ROI per credit spent on enrichment.
Use this report's **Enrich products** shortcut (shown when there's no data yet), or go to the Products page and click **Enrich with AI** - see [Enriching Products](/en/essentials/enriching-products) - to filter products with missing descriptions, then enrich in batches. Focus on products that already have sales velocity, enriching slow movers is harder to measure and lower priority. **Outcome:** grow the set of SKUs contributing to the incremental revenue total.
Open each regressing SKU's drawer and review: did a price change, category move, or competitive shift coincide with enrichment? If the content itself set expectations the product could not meet, revise the copy or images. Consider re-enriching with different guidance via [Enriching Products](/en/essentials/enriching-products). **Outcome:** turn regressions into neutral or positive performers by refining the enrichment approach.
## Related
Run the AI enrichment that this report measures.
See sales and quality together, per product.
Track the content score that enrichment improves.
Find the next products worth enriching.
# Integration Health
Source: https://docs.wisepim.com/en/analytics/integration-health
Monitor sync reliability across every connected channel: last sync, success rate, error breakdown, and backlog, in one place.
The Integration Health report is the status board for your connections. It shows whether every channel is syncing reliably, when each last ran, and what is going wrong, so a broken sync never quietly costs you sales with stale prices or missing stock.
**What acting on it enables:** catch a failing sync before customers see outdated data, diagnose the root cause from the error message without digging through logs, and ensure your channel coverage is working as expected at all times.
This report reflects your connected channels and their sync history over the last 30 days. Connect your platforms under [Integrations](/en/integrations/supported-platforms) to populate it. The date-range selector is not available here, integration health is always shown for the rolling 30-day window.
## What you see
The four summary tiles at the top give an instant read on channel status across your account:
| Metric | What it tells you |
| ------------ | ----------------------------------------------------------------------------------------------- |
| **Channels** | Total number of connected integrations being monitored. |
| **Healthy** | Channels with a low failure rate, syncing reliably with no recent errors. |
| **Degraded** | Channels with occasional failures, still syncing but starting to show problems. |
| **Failing** | Channels with a high failure rate or no recent successful sync. These need immediate attention. |
### What good looks like
The per-channel failure rate is the key signal to watch. The report uses these thresholds to color the failure rate:
| Failure rate (30 days) | Signal |
| ---------------------- | ------------------------------------------------------------------------------------------------ |
| Under 3 % | Green, healthy sync, occasional transient errors are normal |
| 3 – 10 % | Warning (amber), investigate; errors are becoming frequent enough to cause data gaps |
| 10 %+ | Danger (red), syncs are failing at a rate that will cause stale or missing data on your channels |
**Items synced** is a secondary health check: a channel with a low item count relative to your catalog size may be syncing less data than expected, even if its failure rate is low.
A channel that has not synced recently, or a rising failure rate, usually means stale prices, stock, or content on your storefront. Customers see incorrect information and you may lose sales or receive orders you cannot fulfill. Treat a red or amber status as urgent.
## Per-channel detail table
The table shows every connected channel with:
* **Channel name and sync type**: import, export, or a specific data type (e.g., products, prices, stock).
* **Last sync**: shown as a relative timestamp ("2 hours ago", "3 days ago"). A last sync of "never" means the integration has not completed a run since it was connected.
* **Status chip**: Healthy, Degraded, or Failing, colored to match.
* **Items synced (30d)**: total records processed in the last 30 days. Use this to confirm syncs are moving the volume you expect.
* **Failure rate**: percentage of sync runs that produced an error. Color-coded by the thresholds above.
* **Last error**: the most recent error message, truncated. Hover to see the full message. This is the fastest way to diagnose what is wrong without logging into the platform.
The **Items synced by channel** bar chart ranks channels by volume, making it easy to see which integrations are your most active and which may not be pushing as much data as expected.
## Reading the results
* **One channel failing, others healthy**: the issue is isolated to that integration's credentials, configuration, or the destination platform. Start with the last error message and credential check.
* **Multiple channels degraded at the same time**: may indicate a network issue, a backend overload event, or a change in your catalog that caused widespread validation failures (e.g., a bulk import that added products with missing required fields).
* **Failure rate rising gradually**: token expiry is a common cause; many platforms rotate API keys on a fixed schedule. A gradual rise rather than a sudden spike is the typical pattern.
* **Items synced drops sharply**: a sync may have succeeded (low failure rate) but pushed fewer items than usual, which can happen if a filter changed or the product selection narrowed. Worth investigating even if status shows healthy.
## Merchant Center drift
For Google Merchant Center, WISEPIM does not only track whether the export ran. Every night it reads your listings back from Google and compares what Google is serving with what the exporter would send. Three fields are compared: **title**, **price** with its currency, and **availability**. The image Google holds and Google's own item-level issues are captured alongside so you can see them, but they are not compared.
A mismatch becomes a **Channel drift** alert in the [alert feed](/en/analytics/alerts), titled "Google is serving different data for ". The drift panel shows the value **In WISEPIM** next to the value **Live on Google Merchant Center** and the most likely cause: the last sync failed, a change is pending the next sync, or unknown. Price and availability drift are critical, title drift is a warning.
The scan runs for projects with a successful Merchant Center export in the last 14 days and covers up to 500 products per profile and 5 profiles per project per night. It waits while an export is running, and a value Google does not report counts as a match, so an empty field never shows up as drift.
## Act on what you find
Re-check the credentials for that integration and re-test the connection from the [Integrations](/en/integrations/supported-platforms) settings page. Expired tokens and rotated API keys are the most common cause of a sudden jump in failure rate. The last error message in the table usually confirms whether it is an authentication error (401/403) or a different type of failure. **Outcome:** restore a healthy sync and stop the channel accumulating stale data.
The channel is rejecting products that miss required fields, the last error message will usually name the offending field. Use [Quality Guard](/en/quality-guard/overview) to set channel rules that block non-compliant products before they sync, preventing the error from recurring. For a one-off fix, use bulk editing to fill the missing fields across the affected products. **Outcome:** eliminate recurring validation errors and keep the sync clean.
A stale last-sync timestamp means customers on that channel are seeing outdated product data. Check the [Process Tracker](/en/other-features/process-tracker) for a failed or stuck job, then re-trigger the sync manually from the integration settings page. If the problem recurs, schedule syncs more frequently with an [Automation](/en/automations/overview) and add a failure notification so you are alerted before the staleness compounds. **Outcome:** ensure channels stay up to date and customers see current prices and stock.
Review whether a product filter on the integration has changed, or whether a recent catalog change reduced the product selection. Open the integration settings under [Integrations](/en/integrations/supported-platforms) and verify the sync scope. If the filter is correct, the lower volume may reflect genuine catalog reduction rather than a sync problem. **Outcome:** confirm whether the drop is intentional or a misconfiguration.
## Related
Connect and manage your channels.
Stop non-compliant products before they sync.
Watch live import, export, and sync jobs.
Schedule reliable, off-peak syncs.
# Linguistic Review
Source: https://docs.wisepim.com/en/analytics/linguistic-review
Have AI proofread translations like a native editor: score each locale on six linguistic criteria and fix inconsistent terms in one click.
Machine translation is fast, but it drifts: the same term gets translated three different ways, meta descriptions blow past their character limit, and the tone reads slightly off for the local market. **Linguistic Review** is the editor that catches all of it. It evaluates your translations for one target locale across six criteria, flags the products that fall short, and offers one-click fixes for the inconsistencies.
**What acting on it enables:** launch a new language with confidence, catch translation errors before customers (or a channel) do, and keep terminology and brand voice consistent across the whole catalog.
A review runs for **one target locale at a time**, so add your locales first under **Additional Languages** in [General settings](/en/settings/general) (the "Run review" button stays disabled until at least one target locale exists). Reviews run in the background and are ready in a few minutes.
## Run a review
Find it in the Analytics sidebar, or run it straight from a product selection after [translating products](/en/products/translating-products).
Choose which language to review. The review compares each translation against its source and the expectations for that locale.
Set the flagging threshold (products scoring below it are flagged) and the meta-description character limit for SEO compliance.
Your current selection or everything matching your filters.
The review processes in the background. When it finishes, the dashboard fills with your scores, charts, term variants, and per-product results.
## The six criteria
| Criterion | What it measures |
| --------------------- | -------------------------------------------------------------------------------------- |
| **Completeness** | Are all translatable fields (name, description, meta) filled in for the target locale? |
| **Terminology** | Are industry terms and product-specific vocabulary translated accurately? |
| **Locale Quality** | Does the translation sound natural for the locale (spelling, grammar, tone)? |
| **Consistency** | Are the same terms translated the same way across all products? |
| **Format & Keywords** | Are formatting rules followed and important keywords preserved? |
| **Meta Compliance** | Do meta titles and descriptions meet character limits and SEO requirements? |
### What the scores mean
| Score | Status | Read it as |
| --------- | -------------- | --------------------------------------------- |
| 4.0 – 5.0 | **Good** | Ready to publish. |
| 3.0 – 3.9 | **Fair** | Usable, but worth a polish before a big push. |
| Below 3.0 | **Needs work** | Fix before this locale goes live. |
The overall score is the average across all six criteria. Each product also gets a **priority** (Critical to Pass), and the summary counts your **flagged products** and **consistency issues** so you know the size of the job at a glance.
Findings, observations, tips and terminology notes are written in the project owner's interface language, independent of the catalog language or the locale under review. Quoted evidence from your products stays verbatim.
## Reading the results
* **Overview** gives you the headline score, plus how many products are flagged and how many consistency issues were found, with auto-generated plain-language insights (your strongest and weakest criteria).
* **Charts** show the criteria radar, the score distribution, a priority breakdown, and (once you have two or more reviews) a trend line so you can see whether quality is improving over time.
* **Term Variants** is where the consistency fixes live: each inconsistent term lists how it was translated and how many products use each variant, with the recommended one highlighted.
* **Products** is a searchable, sortable table; open any row to see per-criterion scores, the reviewer's notes, and the key terms extracted from that product.
* **Term Glossary** is a quick reference of the most-used source-to-translation pairs across the reviewed products.
* **Recommended Settings** lists AI suggestions for tightening your project's translation settings.
## One-click fixes
* **Apply a term variant** to standardize an inconsistent translation across every affected product, and optionally **add it to the dictionary** so future AI translations always use the approved term.
* **Fix All** applies every auto-fixable consistency issue at once.
* **Apply** a recommended setting to update your project's translation rules.
* **Copy summary** puts the score breakdown on your clipboard for a Slack or email update, and **Excel report** downloads the full review.
## Act on what you find
Open Term Variants. Each issue shows the competing translations and how many products use each. Pick the recommended variant, toggle **Add to dictionary**, and apply. **Outcome:** terminology is unified now, and the dictionary keeps every future translation consistent, so the problem does not come back.
Translated meta descriptions often blow past the character limit or get truncated. Apply the recommended setting to align the locale's meta limit, then fix the flagged products. **Outcome:** your translated pages keep their full meta text in search results, protecting click-through in the local market.
Grammar, tone, or spelling reads off for native speakers. Open the flagged products, read the reviewer's per-criterion notes, and either edit the translation directly or re-run AI translation with a clearer instruction. **Outcome:** the copy reads like it was written for the market, not machine-translated into it.
Run a review on the full catalog for that locale, fix the flagged products and the consistency issues, and confirm the overall score is comfortably above 4 before you publish. **Outcome:** the new market launches on polished, consistent copy instead of raw machine output.
Use the review as a quality gate: run it right after the batch to see how the machine output scored, then fix the lowest-priority products before anything syncs to a channel. **Outcome:** translation errors are caught in-house instead of by a customer or a channel rejection.
## How it relates to the other quality tools
Linguistic Review is the language-quality counterpart to the **[AI Quality Review](/en/analytics/quality-review)**. Where AI Quality Review judges your *product data* (completeness, images, pricing, conversion signals), Linguistic Review judges the *translated copy* itself. A product can have perfect data and still read awkwardly in Dutch or French, so the two work best together: review the data, then review the language.
## Related
The product-data counterpart: 12 dimensions, one-click fixes and guard rules.
Translate your catalog with AI before (and after) you review it.
Tune translation behavior and the terminology dictionary the review writes to. Target locales themselves are added in [General settings](/en/settings/general).
Track overall product-data health alongside translation quality.
# Marketing Attribution
Source: https://docs.wisepim.com/en/analytics/marketing-attribution
See which channels and campaigns drive your revenue. Understand where sales come from so you can focus on what actually works.
The Marketing Attribution report connects your marketing activity to real sales. It reads UTM parameters and source tags attached to orders and shows which campaigns, channels, and mediums bring in revenue. Use it to understand where your sales originate and which sources are growing.
The report's primary payoff is double-sided: it shows you which channels to invest more in, and it exposes where tagging is broken, because every untagged order is attribution you have lost. Fixing tagging coverage is often the first action, and it makes every subsequent analysis more reliable.
Attribution is revenue-based and relies on UTM tags or source tracking on your orders. The more consistently your campaigns are tagged, the more complete the picture. Ad-spend metrics (ROAS, CPA) are not shown, this report tracks revenue, not cost.
## Metrics at a glance
The KPI row at the top shows four numbers for the selected period:
| Metric | What it means |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| **Attributed Revenue** | Total revenue from orders where a source, medium, or campaign could be identified. |
| **Attributed Orders** | The count of orders with a tracked source. |
| **Avg Order Value** | Average order value across attributed orders. |
| **Top Source** | The single source driving the most revenue, with its share of total attributed revenue shown alongside. |
Revenue that carries no UTM or source tag appears as "Direct / None". If this bucket is large, it often means campaign tagging is incomplete rather than that customers are coming in without a referral.
## Read the report
### Revenue by medium
A donut chart breaks attributed revenue into mediums, organic, email, cpc, referral, social, and so on. This is the fastest view for seeing which type of marketing channel is most valuable to your business overall.
Medium patterns and what they typically signal:
* **Organic dominant**: good long-term signal. SEO is working. Watch that you are not under-investing in paid channels that could accelerate growth.
* **CPC dominant**: paid search is driving revenue, but check whether organic is also growing. Heavy reliance on CPC with flat organic means stopping paid spend would expose a traffic gap.
* **Email over-indexed**: your existing customer base is buying, but new acquisition may be weak. Pair this with [Customer Insights](/en/analytics/customer-insights) to check whether new customer acquisition is healthy.
* **Referral significant**: often a sign of good partnerships or press coverage. Worth understanding who is referring and whether the relationship can be deepened.
* **Social under single digits**: common for most stores. Social rarely converts directly; it often assists. Consider this a top-of-funnel investment, not a bottom-of-funnel one.
### Top campaigns
A bar chart ranks your campaigns by attributed revenue, highest first. It complements the donut by showing individual campaign performance within and across mediums. A campaign with very high orders but low revenue per order, compared to others, often targets a low-value audience or runs on a discount-heavy angle that attracts one-time buyers.
### Campaign performance table
The table lists one row per campaign with the following columns:
| Column | What it shows |
| ------------ | ------------------------------------------------------------ |
| **Campaign** | The `utm_campaign` value from tagged orders. |
| **Source** | The `utm_source` value (google, newsletter, facebook, etc.). |
| **Medium** | The `utm_medium` value (cpc, email, social, etc.). |
| **Revenue** | Total attributed revenue for this campaign in the period. |
| **Orders** | Number of attributed orders from this campaign. |
Sort by Revenue to find your biggest earners, or by Orders to compare how efficiently each campaign converts volume.
## What good looks like
| Metric | Concerning | Acceptable | Healthy |
| -------------------------------- | ----------------- | ------------- | ----------- |
| **Direct / None share** | Above 40% | 20–40% | Under 20% |
| **Top source share** | Above 60% | 40–60% | Under 40% |
| **Number of attributed mediums** | 1 | 2–3 | 4 or more |
| **AOV across campaigns** | Varies 3× or more | Varies 1.5–3× | Within 1.5× |
A high Direct / None share is rarely genuine direct traffic, it almost always means UTM tagging is missing from email links, social posts, or paid campaigns. Getting that number under 20% is the single most impactful improvement you can make to the quality of this report.
## Source concentration
An insight chip above the table flags if a single source accounts for more than half of your attributed revenue. Heavy concentration on one channel is a risk: if that channel dries up or becomes more expensive, your attributed revenue can drop sharply. The chip links through to the table filtered to that source so you can see the full breakdown.
## Act on what you see
Your campaign tagging is incomplete. Start with the highest-ROI fix: audit UTM parameters on your email links, paid search ads, and social posts. Tools like UTM.io or Google's Campaign URL Builder make this quick. Add `utm_source`, `utm_medium`, and `utm_campaign` to every link you control. Once tagging improves, revenue that was "untracked" shifts into named sources and makes this report far more actionable. Outcome: better tagging coverage means every future campaign decision is based on real data rather than guesswork.
Concentration on a single source creates revenue fragility, changes to that platform's algorithm, costs, or policies can hit you immediately. Test other channels even at small budgets to diversify. Use [Traffic & Behavior](/en/analytics/traffic-behavior) to see whether sessions from other sources are arriving but not converting, a content or landing-page fix might unlock a channel that is already sending traffic. Outcome: building a second meaningful revenue source reduces dependence and creates redundancy.
The campaign is attracting low-value buyers, likely because the ad angle, audience, or offer appeals to bargain seekers. Check [Category Insights](/en/analytics/category-insights) to see which products those orders contain. If they cluster around your cheapest items, adjust targeting or creative to feature higher-value products. Outcome: shifting a high-volume campaign toward higher-value products lifts attributed revenue without requiring more spend.
First check whether tagging is in place for that medium, missing UTMs are the most common cause. If tagging is correct and revenue is genuinely low, consider whether that medium typically assists conversions rather than closes them. Use [Traffic & Behavior](/en/analytics/traffic-behavior) to see whether sessions from that medium have high engagement even if they don't convert on the first visit. Outcome: distinguishing an untagged channel from a genuinely low-performing one prevents you from cutting a channel that is actually contributing.
If organic search brings little attributed revenue, your products may not rank for the queries buyers use. Go to [SEO Analytics](/en/analytics/seo) to check keyword coverage and positions. Improving product titles, descriptions, and meta data is the fastest way to lift organic reach. See [enriching products](/en/essentials/enriching-products) for the workflow. Outcome: organic revenue is lower-cost than paid; even modest SEO improvements compound over time.
## Related
See how marketing-driven traffic behaves on your store compared to organic visitors.
Understand how marketing traffic converts through your purchase funnel.
Track whether marketing-acquired customers become repeat buyers with strong LTV.
Understand organic search visibility and improve the rankings that drive free traffic.
# Analytics Hub
Source: https://docs.wisepim.com/en/analytics/overview
Your birds-eye view of store health: key metrics, smart plain-language insights, enrichment impact, and quick links into every analytics report.
The Analytics Hub is your starting point. It summarizes what is happening across your store and product data, surfaces the most important signals to act on, and links you into every detailed report.
Analytics data comes from your connected e-commerce platforms. Make sure you have at least one integration set up to see real data. Want to explore first? Try the [interactive analytics sandbox](https://wisepim.com/analytics-sandbox) with demo data. No setup required.
**What the Hub lets you do:** catch a revenue dip or quality drop the same week it starts, before it compounds into a problem that takes months to reverse. The payoff is early visibility, not just retrospective reporting.
## Key metrics
Four hero metric cards sit at the top of the Hub:
* **Total Revenue**: overall revenue with a trend sparkline and period-over-period change.
* **Orders**: total order count with visual trend data.
* **Conversion Rate**: the share of sessions that result in a purchase.
* **Avg Order Value (AOV)**: revenue divided by order count.
Each card shows a comparison against the previous period so you can see at a glance whether performance is improving or declining. Hover any data point for the exact value and date breakdown.
### What healthy numbers look like
These are directional benchmarks for general e-commerce. Your own baseline is what matters most, use these to sense-check, not to grade yourself.
| Metric | Typical range | Concern signal |
| --------------- | ----------------------------------- | ------------------------------------------------------------ |
| Conversion rate | 1–4% for most online stores | Below 0.5%, or a drop of more than 0.5 pp period-over-period |
| AOV trend | Stable or rising | Falling while order count holds flat (margin erosion) |
| Revenue trend | Matches or beats order count growth | Revenue flat while orders rise (AOV is shrinking) |
### Reading the comparison arrows
* A **green** arrow means the metric improved versus the previous period.
* A **red** arrow means it declined.
* **Two metrics moving in opposite directions** is often the most useful signal. Orders rising while revenue falls signals a drop in AOV. Conversion rising while revenue falls signals fewer sessions overall, a traffic problem, not a content problem.
Use the date-range selector in the page header to switch periods. The comparison adjusts automatically.
## Revenue by period
A **Revenue by period** strip of five tiles gives you the calendar view the date-range selector does not: **Today**, **Yesterday**, **Month to date**, **This month (projected)** and **Last month**. Each tile shows revenue with its order count, and the strip notes **Order data up to ** so you know how fresh the numbers are. Click a tile to open the Revenue & Sales report for exactly that range.
**This month (projected)** is a linear run rate: this month's revenue per finished day, stretched over the whole month. It only appears once a minimum number of days have finished; before that the tile reads **Needs N finished days**. Hover it to see the daily rate and the days it is based on.
The projection assumes the rest of the month looks like the days so far. A promotion or a quiet week early in the month skews it, so read it next to **Last month** rather than as a forecast.
## Key insights
Below the hero cards, up to three insight chips surface the most important signals from across your store without requiring you to dig into individual reports:
* **Biggest KPI mover**: the metric that shifted the most versus the previous period, with a one-click link to the relevant report.
* **Data-quality grade**: your current overall score at a glance, so you know whether enrichment work is keeping pace.
* **Top revenue product**: the single product earning the most in the period.
Each chip includes an **Ask AI** button that opens the assistant pre-loaded with context for that signal, so you can ask follow-up questions or request a deeper explanation straight away.
### Ask AI about your numbers
The assistant opens in a sidebar next to the dashboard, so the chart you are asking about stays on screen. Ask in plain language ("why did revenue drop last week?") and it answers using your own data. You can watch it work: it streams its answer as it writes and shows you which data it is looking up along the way.
## Performance charts
The charts section shows revenue and orders as **separate views**: a revenue trend line and an orders trend line, so you can read each independently and spot divergences. Hover any data point for the exact daily value.
**Interpreting the patterns:**
| What you see | What it signals |
| ---------------------------------- | ----------------------------------------------------------------- |
| Revenue and orders rising together | Healthy growth, volume and value both up |
| Orders up, revenue flat | AOV shrinking, check average price, discounts, or product mix |
| Revenue up, orders flat | AOV growing, upsell or mix shift working, monitor it |
| Both declining together | Demand drop, check traffic sources and channel sync health |
| Weekend spikes that don't recover | Promotional dependency, base demand may be weaker than it appears |
### Expanded charts
Most charts across the analytics reports have an **Expand chart** button. The expanded view adds a few tools that work the same everywhere:
| Tool | What it does |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Overview** / **Concentration** / **Composition** | Three display modes. **Overview** shows exact values with their share of the loaded total. **Concentration** ranks rows biggest first and shows which ones form the core 80% and which are the long tail. **Composition** compares each row as a normalized 100% mix across its series. |
| **Selected insight** | Click a data point to pin it. The readout shows the exact value, its share of the row and of the loaded total, its rank and cumulative share. **Clear selection** removes it. |
| **Explore exact values** | A searchable, sortable table of the rows behind the chart, with **Download CSV**. |
| Legend | Click a series in the legend to hide or show it. At least one series stays visible. |
## At a glance
The snapshot panels give you a quick read on store health without opening a separate report:
* **Data-quality score**: your overall grade plus the four domain breakdowns, **Completeness**, **Channel Readiness**, **SEO**, and **Conversion Potential**. Hover any domain bar to see which product families are dragging it down.
* **Top 5 products by revenue**: the five highest-earning products in the selected period with revenue and trend arrow, directly linked to the Product Performance report.
* **Connected channels**: each active channel with its last-sync time, so you can spot a stalled integration at a glance.
## Data freshness
The **Data freshness** panel tells you exactly how current your analytics are. It shows:
* **Last-sync time** per connected platform, so you can see whether data is minutes or hours old.
* **Order count** included in the current data set for the selected period.
* **Per-platform sync status**: green means the last sync completed cleanly; amber or red flags an error you should investigate in [Integrations](/en/integrations/supported-platforms).
Use the **Fetch fresh data** button to pull the latest orders from all connected platforms on demand. This is useful before an important review or after a busy sales period when you want the most up-to-date numbers before diving into the reports.
Fetching fresh data triggers a sync for all connected platforms. It typically takes 30–90 seconds depending on order volume.
## Recent activity and improvement impact
Scroll down the Hub to see two more panels side by side: a **Recent activity** feed listing the latest product changes, enrichments, and automation runs; and an **Improvement impact ranking** showing which enrichment or fix actions produced the biggest measurable revenue lift.
## Smart Insights
The **Smart Insights** section (also reachable from the sidebar under *Insights*) generates plain-language signals ranked by impact across revenue, margin, returns, and data quality. Insights are organized into two groups:
* **Protect revenue**: issues that put current revenue at risk (stockouts, high return rates, quality drops).
* **Capture upside**: opportunities to grow (enrichment-driven lifts, cross-sell potential, SEO gaps).
Each insight shows a quantified impact, the top contributing products or segments, and a direct action link so you can act immediately.
The top insight is promoted to a featured card with a full contributor list. Start there for the highest-priority action of the week.
## Enrichment Impact
The **Enrichment Impact** report (under *Revenue Intelligence* in the sidebar) maps revenue lift to specific AI enrichment actions, per SKU. It answers the question: "Is our enrichment work actually moving revenue?"
You can see total revenue gained, revenue per enrichment credit spent, and which enrichment actions (image recognition, description generation, etc.) earned the most. Products where revenue declined after enrichment are flagged for QA.
## Returns & Refunds
The **Returns & Refunds** report shows your return rate, refunded revenue, and a correlation chart between data quality grade and return rate. Products with accurate descriptions, proper images, and complete specs set correct buyer expectations. They tend to come back less often.
## Act on what you find
Check whether orders also fell (traffic or demand problem) or held flat (AOV problem). If AOV dropped, open [Revenue & Sales](/en/analytics/revenue-sales) to see which categories or products shifted. If orders fell, check the Data freshness panel for a stalled integration before drawing conclusions.
A conversion drop without a traffic drop points to the product listing itself, content, images, price, or channel readiness. Open [Data Quality](/en/analytics/data-quality) and filter to the affected products. Adding missing images and generating meta descriptions are typically the fastest wins. Outcome: recovering even 0.5 pp of conversion on meaningful traffic volume translates directly to revenue without any ad spend.
Use the quality score panel on the Hub to identify which domain is dragging the score down, then go straight to [Data Quality, Fix Issues](/en/analytics/data-quality) for a ranked list of the highest-impact fixes. Outcome: higher quality scores correlate with lower return rates and better channel listing acceptance.
Open [Integrations](/en/integrations/supported-platforms) and inspect the failing platform. A stale sync means your analytics data is incomplete, metrics for that channel will be understated until the sync recovers.
Click the chip to open Smart Insights pre-loaded with the relevant context. From there, each insight links directly to the products or categories involved. Outcome: catching a quality drop in the same week it happens prevents it from compounding across a full sales period.
Check the [Enrichment Impact](/en/analytics/enrichment-impact) report. If the revenue-per-credit figure is falling, the most-impactful enrichment types have probably already been completed for your high-traffic SKUs. Focus enrichment effort on the next tier of products, or try a different enrichment type (for example, moving from descriptions to image recognition).
## Explore all reports
Revenue trends, order volumes, and sales performance across your catalog.
Which products drive the most revenue, which underperform, and where trends are emerging.
Funnel analysis, drop-off points, and conversion rate optimization.
Customer segments, lifetime value, and purchasing patterns.
Performance across your connected sales channels, side by side.
Quality scores, field health, quick wins, and issue resolution tools.
See how your catalog compares to rivals on specs, copy, languages, and search visibility.
Rules that check revenue, orders, returns and search clicks every night, plus the feed of what they found.
## Saved investigations
Every analytics report carries an **Investigations** button. It saves the exact place you are looking at, the report, its filters and the date range, so you or a teammate can come back to the same question later.
Set the filters and date range you want to keep, click **Investigations** and then **Save investigation**. Give it an **Investigation name** of up to 80 characters and, optionally, a **Description** that answers "what question or decision does this support?".
Under **Visibility**, pick **Private to me** or **Everyone in this project**. Only the owner can change visibility later or delete the investigation; project editors can update a shared one and comment on it.
Open the investigation and click **Copy project link**. Recipients have to select this project before the link opens. Private investigations stay visible to their owner only.
Opening a saved investigation shows a workspace with four tabs:
| Tab | What it holds |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Details** | Name, description and visibility |
| **Comments** | Annotations from anyone with access, up to 2,000 characters each. The author or the owner can delete one |
| **Activity** | A timeline of everything that happened: created, updated, visibility changed, comments, monitors attached or detached |
| **Monitor** | One enabled [alert rule](/en/analytics/alerts) attached to the investigation, so the question keeps being checked every night. A rule can belong to one investigation at a time |
Investigations you saved before your project synced them show as **Saved in this browser**. They live only in that browser, separate from the project, until they sync.
## Navigating Analytics
The sidebar groups reports into logical sections. You can reorder items by dragging them.
Top-level overview and Smart Insights. Start here every session.
Overview, Fix Issues, and Field Health sub-pages.
Revenue, conversions, product performance, category insights, traffic, and search analytics.
Enrichment Impact, Stock-Out Loss, Returns & Refunds, and Profitability.
[Competitor Intelligence](/en/analytics/competitors), cross-sell analysis, time patterns, channel comparison, marketing attribution, and customer insights.
[Alerts](/en/analytics/alerts): the rules that check your numbers every night and the feed of what they found.
The date range you picked travels with you: moving between reports through the sidebar or the report cards keeps the same range. Analytics data tables also remember their sort order and page per project, so a table opens the way you left it.
Collapse the sidebar to an icon-only view for more room when working with detailed charts.
## Time range controls
Most analytics pages share the same date-range selector. Available presets:
| Range | Description |
| ------------- | -------------------------------------- |
| **7 days** | Short-term trends and recent activity |
| **30 days** | Monthly performance overview (default) |
| **90 days** | Quarterly analysis |
| **12 months** | Year-over-year comparison |
You can also set a custom date range or compare against a previous period or year-over-year. The selected range is preserved when you move between reports.
Longer ranges (90 days or 12 months) take a few extra seconds to load for large catalogs with high order volumes.
## Getting started
If you see an empty state, your connected platforms have not synced order data yet.
Go to [Integrations](/en/integrations/supported-platforms) and connect at least one e-commerce platform.
Trigger an order sync from your integration settings to pull in historical data.
Return to the Analytics Hub to see your metrics populate with real data.
## Related
Monitor and improve your product data quality scores.
Build personalized dashboards with the metrics that matter most to you.
# Product Performance
Source: https://docs.wisepim.com/en/analytics/product-performance
Combine sales, quality, GA4 funnel metrics, and product-attributed Google Search data to see which products perform and which need attention.
The Product Performance report breaks your catalog down to the individual product. Instead of totals, you see which products sell the most, earn the most, and where you have room to adjust pricing.
The central insight this report enables is finding the overlap between revenue and quality: products that earn well but have weak content are your clearest short-term wins, because the demand is already proven. Products that are perfectly described but not selling point to a different kind of problem, pricing or visibility, that requires a different fix. Knowing which quadrant each product sits in tells you exactly where to spend your time.
Order data powers revenue and sales metrics. A connected [Google Analytics 4 property](/en/integrations/google-analytics) adds item views and funnel metrics, and a connected [Google Search Console property](/en/integrations/google-search-console) adds product-attributed search clicks, impressions, and positions. Products seen in GA4 can appear with zero synced sales, so high-traffic conversion gaps are not hidden.
## Metrics you get
Use the **Category** filter to scope the whole report to one category. Sales totals, top products, the previous-period comparison and the GA4 and Search Console facts then only count products that sit directly in that category. Subcategories are not included, so pick the leaf category you want to judge.
| Metric | What it means |
| ---------------------- | ------------------------------------------------------------------------- |
| **Products sold** | Distinct products with at least one sale in the period. |
| **Total units** | Total quantity sold across all products. |
| **Total revenue** | Combined revenue from all product sales. |
| **Total orders** | Orders that included at least one product. |
| **GA4 item views** | Synced `view_item` volume for products whose `item_id` matches their SKU. |
| **Unit purchase rate** | Synced purchased items divided by synced item views. |
Compare "Products sold" to your full catalog size. If only a small slice of your catalog sells, the rest may have visibility or pricing problems.
## GA4 product funnel
When GA4 is connected, WISEPIM combines commerce behavior with order and content-quality data. This exposes products that attract attention but fail to turn that attention into carts or purchases.
The product funnel includes item views, additions to cart, checkouts, purchased items, item revenue, unit cart rate, and unit purchase rate. These are **item-unit rates**, not visitor-session conversion rates.
Product attribution requires an exact, case-sensitive match between GA4 `item_id` and the WISEPIM SKU. See [Google Analytics 4](/en/integrations/google-analytics) for the tracking contract and troubleshooting steps.
The GA4 totals in the KPI cards are computed across **all** matched products in the date range, not just the rows currently visible in the table. Filtering or limiting the table does not change them.
## Google Search product performance
With [Google Search Console connected](/en/integrations/google-search-console), a **Google Search product performance** card appears below the KPI row. It shows the clicks, impressions, CTR, and average position attributed to your products in the selected period, along with how many products the metrics are attributed to.
Two provenance details keep the card honest:
* A **freshness chip** shows how far the data runs and its lag. Search Console data always trails by about 3 days; the card flags itself **Stale** when the lag grows beyond that.
* A **coverage line** breaks the catalog down by mapping status: matched, not in sitemap, ambiguous, and unmatched. Products are attributed by matching their URLs against your sitemaps, so a product missing from the sitemap contributes nothing. The [Sitemap gaps](/en/analytics/seo) view lists every affected product.
Totals are computed across all attributed products. Per-product query rows are detailed top rows and may not be exhaustive, because Google anonymizes low-volume queries.
## What good looks like
| Signal | Concerning | Average | Healthy |
| --------------------------------- | ----------------------------------- | ---------------------- | ---------------------------------- |
| **Products sold as % of catalog** | Under 20% | 20–40% | 40%+ |
| **Revenue concentration** | Top 10 products over 70% of revenue | Top 10 products 40–70% | Revenue spread across 30+ products |
| **Quality score on top earners** | Under 60 | 60–80 | 80+ |
| **At-risk product count** | More than 15% of catalog | 5–15% | Under 5% |
| **Revenue at risk** | Over 20% of total revenue | 5–20% | Under 5% |
Quality scores are calculated by WISEPIM's data-quality engine. A score of 80+ generally means a product has complete descriptions, images, and structured attributes. See [Data Quality](/en/analytics/data-quality) for how scores are derived and which fields carry the most weight.
## Revenue at Risk
The **Revenue at Risk** card sits at the top of the report and quantifies how much revenue is threatened. It aggregates products where revenue is declining period-over-period **and** the data-quality score is below the threshold needed to sustain strong conversion. The card shows the total revenue at risk and a count of the products contributing to it, so you have a business-case number before you start fixing content.
## Product Movers
The **Product Movers** section shows the biggest positive and negative shifts in revenue compared to the previous period. Risers are products gaining momentum, worth examining to understand what is working. Fallers are products losing ground, a prompt to check for content issues, stock problems, or new competition.
## Priority Matrix
The **Priority Matrix** is a scatter plot with revenue on one axis and data-quality score on the other. It makes the highest-priority products obvious: anything in the **high-revenue / low-quality** quadrant is earning well today but is fragile, a quality improvement there has the clearest ROI. Products in the **low-revenue / high-quality** quadrant are well-described but not selling, which points to a visibility or pricing issue rather than a content one.
## Read the report
### Best sellers
A horizontal bar chart ranking your top products by units sold. These are your volume leaders: the products customers buy most, whatever the price.
### Revenue by category
A donut chart showing how product revenue splits across your categories. Read it alongside the category bar chart on the Revenue & Sales page to compare volume against value.
### Recommended next step
Above the product table, a **Recommended next step** card turns the loaded rows into one action. Which card you get depends on what stands out:
| Card | When it appears | Button |
| ------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------ |
| **Improve N proven sellers before chasing new demand** | Products that already sell score below 60% on product data. | **Review at-risk sellers** opens those products. |
| **Investigate the revenue drop for ** | One product has the largest absolute decline in the loaded comparison. | **Open product details** opens its drawer. |
| **Use the leaders as your benchmark** | No quality or decline signal stands out. | **Explore revenue leaders** opens the explorer. |
The card only looks at the product rows loaded for the selected period, so it changes with the date range and the **Category** filter.
### Top products table
The **Top product performance** table covers **Sales, quality, GA4 views, and Search Console metrics for up to the 500 highest-ranked products**. Segment chips above it filter the rows:
| Segment | What it shows |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| **All** | Every loaded product with sales in the period. |
| **At risk** | Products with declining revenue and a quality score below the warning threshold. The chip shows the count. |
| **Rising** | Products with the strongest positive revenue trend. |
| **Falling** | Products with the steepest revenue decline. |
Each row shows the product name and SKU, **Revenue**, **Units sold**, **Δ vs prev** and **Quality**. **Δ vs prev** is revenue in this period measured against the comparison period, as a percentage of that baseline, with the absolute change underneath. Sort it ascending for the biggest declines; products without a baseline stay at the bottom. GA4 adds **GA4 views** and **Purchase / view** when product-level data is available, and Search Console adds **GSC clicks**, **GSC impressions** and **GSC position** for attributed products. Use **Show** to change how many rows load, search the loaded products, or sort any column to surface a different insight:
* **Revenue:** your highest-value products.
* **Units:** your highest-volume products.
* **GA4 views:** products attracting the most measured attention.
* **Purchase / view:** products that convert item views into purchased units.
* **GSC impressions:** products Google shows most in search results.
* **GSC position:** where each product ranks on average.
The CSV export includes every GA4 and Search Console column, plus each product's sitemap mapping status.
Analytics tables remember your sort order and page per project, so the table opens the way you left it.
**Clicking any row opens a detail drawer** with a per-product revenue trend, quality and completion scores, peer ranking, category mix, and the exact-SKU GA4 product funnel when available. With Search Console connected it adds a **Google Search performance** block: the product's clicks, impressions, CTR, and position, its top queries, search appearances, and Google's indexed-version evidence (index verdict, canonical mismatches, and rich-result issues). High-impression queries with weak clicks are flagged as candidates for a clearer product title and search snippet. The screenshot below shows an example drawer.
The drawer opens with a **Diagnosis** block. It compares this period with the previous period (or the same period last year, when the report is set to year-over-year) across five checks: **Search impressions**, **Average search position**, **Product page views**, **Purchases per view** and **Average selling price**. A check trips when the metric moved 15% or more, and the verdict tells you whether the product has a visibility problem, a buying problem, or both. Checks that need Search Console or GA4 show as **Not available** until you connect that source. Below the diagnosis you get the quality score, the sales trend, and shortcuts to add attributes, edit the product or open its image.
### Explore product performance
Click **Explore all** above the table to open the **Explore product performance** modal. It holds every product row loaded for the period, 25 per page, with a search box, a **Table** / **Chart** toggle and **Export this view** for a CSV of exactly what you are looking at.
First pick which products to list: **Revenue leaders**, **Volume leaders** or **All loaded**. Then pick which metrics to show:
| View | Columns |
| ---------- | --------------------------------------------------------------------- |
| **Sales** | Revenue, Δ vs prev, Units sold, Orders and Quality. |
| **Funnel** | GA4 views, Added to cart, Purchased, Cart / view and Purchase / view. |
| **Search** | GSC clicks, GSC impressions, CTR, GSC position and URL match. |
Segment chips narrow the list further:
| Segment | Definition |
| ------------------------ | ----------------------------------------------------------------------------- |
| **Winners** | The N products that together bring in X% of revenue. |
| **Needs content work** | Selling, but content quality under the threshold. |
| **Rising** / **Falling** | Revenue up or down by the threshold or more versus the previous period. |
| **Funnel leak** | Plenty of GA4 views, but under the threshold share of them end in a purchase. |
| **Search gap** | Shown on Google, but no matched URL or clicks under the threshold CTR. |
Highlight tiles at the top of the modal tell you how concentrated the view is (the share of revenue the top products drive), name the biggest riser and faller, and point you to a segment when it has products in it. **Show these products** applies that segment. The **Funnel** and **Search** views say so when none of the loaded products have GA4 shopping events or Search Console data yet.
Clicking a row in the modal opens a detail panel with a one-line revenue summary versus the comparison period and four sections: **From view to purchase** (the GA4 product funnel, with the biggest drop-off called out), **How it shows up on Google** (clicks, impressions, click-through rate, average position and top search terms), **Content quality** (score, completion and weakest fields) and **How it ranks** (its rank among peers in its category or family). **Open in catalog** takes you to the product itself.
### Orders by product
Below the period table, **Orders by product** is an all-time view: it counts every synced order, so the date range above does not apply. Click **Load complete catalog** when you need the all-time order report or its CSV. The summary then shows **Products ordered**, **Never ordered** and **Avg. orders per sold product**, and **Review never ordered** jumps to the products that have never sold. Switch between **Best performing** and **Worst performing** to rank the catalog, search within a segment, or **Export all products**.
Products that have never been ordered usually need a visibility, content, availability or assortment review. Open one to check whether weak content is keeping it invisible.
## Act on what you find
These are your clearest wins. The demand is proven, the content is holding them back. Open the product drawer to see exactly which fields are incomplete, then use [AI enrichment](/en/essentials/enriching-products) to fill the gaps. Work through the **At risk** segment in the table to prioritise by revenue at stake, or open **Needs content work** in the explorer. **Outcome:** recovering conversion on products that already have traffic, with no additional spend on acquisition.
High volume at low price can mean you have underpriced a strong product. Use [Bulk Edit → Change price](/en/essentials/bulk-editing/change-price) to test a 5–10% increase on your top-volume items. Monitor the **Falling** segment the following week to check whether unit sales hold. **Outcome:** higher revenue per unit from demand that already exists, without needing more traffic.
A top-heavy catalog is fragile. A single supply issue or competitor move on one of those products can hit revenue hard. Open [Category Insights](/en/analytics/category-insights) to find the categories where mid-tier products are not keeping up, then run [AI enrichment](/en/essentials/enriching-products) on the products sitting just below your top earners. **Outcome:** a wider revenue base that is resilient to individual product volatility.
Click the product row to open the detail drawer. Check whether the revenue trend has been declining for multiple periods (structural) or just the latest (possible stockout or one-off). If the quality score is low, enrich the product. If the score is high, the problem is likely external, check the [Channels](/en/analytics/channels) page to see if one channel has dropped off. **Outcome:** early diagnosis of decline before it becomes a revenue gap you cannot recover in the period.
Great content but poor sales points to a visibility or pricing problem, not a content one. Check the [Search & Discovery](/en/analytics/search-discovery) report to see whether these products appear in internal search results. Check [Channels](/en/analytics/channels) to see if they are listed on the right platforms. If the average selling price looks high relative to the category, try a limited price test with [Bulk Edit → Change price](/en/essentials/bulk-editing/change-price). **Outcome:** activating dormant inventory that is already well-prepared to convert.
## Related
See the big picture of your sales performance across all products and channels.
Find which products are frequently bought together and build bundle opportunities.
Zoom out from individual products to category-level performance patterns.
Connect GSC to add product-attributed search metrics to this report.
# Profitability
Source: https://docs.wisepim.com/en/analytics/profitability
Revenue is vanity, margin is sanity. See real gross profit and margin by product and category, and catch anything selling below cost.
The Profitability report shows the money you actually keep. It pairs your sales with product costs to reveal gross profit and margin by product and by category, so you can grow the lines that pay and fix the ones that do not.
**What acting on it enables:** find margin leaks before they compound, stop selling bestsellers below cost, and shift promotion budget toward the categories that actually generate profit.
This report needs order history **and** a cost price on your products. Set costs in the product editor or in bulk with [Cost & Margins](/en/essentials/bulk-editing/cost-margins). Products without a cost are excluded from margin math and shown as uncosted.
## Key metrics
| Metric | What it tells you |
| -------------------- | ---------------------------------------------------------------------------------- |
| **Gross margin %** | Gross profit as a share of costed revenue. The headline number to track over time. |
| **Gross profit** | Revenue minus cost of goods sold, in your currency. |
| **Revenue (costed)** | The share of revenue that has a cost set, shows how complete the picture is. |
| **COGS** | Total cost of goods sold across the period. |
### What good looks like
Gross margin benchmarks vary significantly by industry and business model, but these ranges give a directional sense:
| Gross margin % | Signal |
| -------------- | ---------------------------------------------------------------------------------------- |
| 50 %+ | Strong, typical for software, cosmetics, or high-end DTC brands |
| 30 – 50 % | Healthy, common in general e-commerce and branded goods |
| 15 – 30 % | Thin, margin pressure; worth reviewing pricing and supplier costs |
| Under 15 % | Concerning, typical for low-margin commodities; easily wiped out by returns or discounts |
| Below 0 % | Immediate action needed, products are selling below cost |
The report uses the same thresholds internally: the margin chip turns **warning** below 15 % and **danger** below 0 %.
If a large share of revenue has no cost set, the report flags it. Your margin is only as accurate as your cost data, fill the gaps first before drawing conclusions.
## Charts and tables
* **Revenue by margin band**: groups sales into margin buckets so you see how much revenue is high-margin versus thin. A healthy catalog has the bulk of revenue in the 30 %+ bands.
* **Gross margin % by category**: your most and least profitable categories at a glance. Use it to spot one category dragging down the blended average.
* **Profit by product**: a sortable table with revenue, units, unit cost, gross profit, and margin %. Products selling **below cost** are flagged in red so you can act immediately.
Sort the product table by gross profit, not revenue. Your best-selling product is not always your most profitable one, a high-volume SKU with a thin margin can actually be your biggest profit leak.
## Reading the results
* **A spike of revenue in the low-margin band** usually means a promotional period, a supplier cost increase, or a pricing error on a bestseller. Cross-reference with the date selector.
* **One category pulling the blended margin down** shows where to focus cost renegotiation or price adjustments first.
* **Products flagged in red** are selling below cost. Even a handful of these erases profit across the catalog if they are high-volume.
* **Low cost coverage** (many products missing cost data) means the margin figure is optimistic. The banner appears automatically when coverage drops below 80 %.
## Act on what you find
Open the flagged product in the editor and correct the cost or the price. If several SKUs from one supplier are affected, use [Cost & Margins](/en/essentials/bulk-editing/cost-margins) to update costs in bulk. A single mispriced bestseller can quietly erase profit across the catalog, act on these immediately. **Outcome:** stop the margin bleed on those SKUs within the same trading period.
Check whether the issue is cost price (negotiate with the supplier), selling price (test a price increase), or discount pressure (reduce promotions on these lines). Shift marketing spend toward your higher-margin categories. Use [Bulk Editing](/en/essentials/bulk-editing/cost-margins) to update margins across the category at once. **Outcome:** improve blended gross margin without needing to grow top-line revenue.
Import cost prices in bulk with [Cost & Margins](/en/essentials/bulk-editing/cost-margins) so the report reflects your whole catalog. Without costs, the margin figure is incomplete and you may be misreading where profit actually comes from. **Outcome:** a reliable margin view that covers the full catalog.
When the discount banner is active, it shows total promotion spend and the discount rate for the period. Review which products or categories are being discounted most heavily and evaluate whether the volume lift justifies the margin cost. You can automate conditional discounting rules with [Automations](/en/automations/overview). **Outcome:** smarter promotions that protect margin while still driving conversions.
## Related
The top-line revenue behind the margin.
Set cost prices across many products at once.
Returns eat into margin. See where they come from.
The profit you miss when bestsellers go out of stock.
# AI Quality Review
Source: https://docs.wisepim.com/en/analytics/quality-review
Let AI read your catalog like a demanding customer would, score every product across 12 quality dimensions, and hand you a ranked list of one-click fixes.
A rules-based score tells you a field is empty. The **AI Quality Review** tells you whether the content actually does its job: does the description read well, do the images match the attributes, is the price sane for the family, will the page convert? It reads each product across 12 dimensions, scores it 1 to 5, and turns the findings into a ranked list of fixes you can apply in one click.
**What acting on it enables:** ship cleaner listings faster, lift conversion on the products that need it most, cut returns caused by misleading content, and lock in the gains with guard rules so quality does not slip back.
A review runs on demand and analyzes the products you choose. Vision dimensions (checking images against your data) use AI credits, so the cost scales with catalog size and the dimensions you pick. Results are queued and typically ready in a few minutes; they never expire, so you can revisit any past run.
## Run a review
Find it in the Analytics sidebar under the quality section, or trigger it straight from a product selection in the [Products](/en/essentials/managing-products) table.
Review your current selection or everything matching your active filters. Start small (one family or category) if you just want a read on a specific area.
**Prelaunch** (all text dimensions), **SEO**, **Image** (turns on vision), or **Conversion**. Each preset selects the dimensions that matter for that goal. **Custom** lets you choose dimensions yourself.
Set an industry for vertical-specific expectations, add up to three buyer personas to simulate how different shoppers react, or add a freeform instruction for anything specific you care about.
The review processes in the background. When it finishes, the dashboard fills with your score, the dimension breakdown, and a prioritized list of issues to act on.
## The 12 dimensions
Each product is scored on these dimensions. The two image dimensions require vision and use additional AI credits.
| Dimension | What it checks |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Completeness** | Are the required fields (name, description, attributes, images) populated? |
| **Content Quality** | Does the copy read well, with appropriate tone, length, and structure? |
| **Image vs Data** *(vision)* | Do the images agree with the attributes (color, type, count)? |
| **Image vs Description** *(vision)* | Does the image show what the description and category claim? |
| **Attribute Coverage** | Are family-relevant attributes filled to a useful depth? |
| **Cross-field Math** | Are sizing, weight, volume, and units internally consistent? |
| **Semantic Consistency** | Do cross-field claims agree (material vs description, category vs department)? |
| **Pricing Sanity** | Are prices and stock values within a reasonable range for the family? |
| **SEO Compliance** | Do meta titles and descriptions sit within recommended character ranges? |
| **Consistency** | Are brand spelling, units, and formatting consistent across the catalog? |
| **Near-duplicates** | Are there products that look like the same SKU varying by one attribute? |
| **Conversion Readiness** | Are the conversion signals expected for this category present (size charts, what's-in-box, certifications)? |
### What the scores mean
| Score | Status | Read it as |
| --------- | -------------- | -------------------------------------------------- |
| 4.0 – 5.0 | **Good** | Solid. Spot-check, then move on. |
| 3.0 – 3.9 | **Fair** | Worth improving. There is upside here. |
| Below 3.0 | **Needs work** | Act first. These products are likely losing sales. |
Each product also gets a **priority** (Critical, High, Medium, Low) from its overall score, so you always know where to start. The dashboard compares your overall score against an **industry benchmark** and shows a **Still to fix** counter with the number of open items rated **N critical**. Those are the suggestions from this review you have not applied, snoozed or dismissed yet. WISEPIM does not predict the score you would reach by applying them: apply the fixes, then re-run the review to see what changed.
Findings, observations, tips and terminology notes are written in the project owner's interface language, independent of the catalog language or the locale under review. Quoted evidence from your products stays verbatim.
## Reading the results
* **The dimension radar** shows your shape at a glance. One spoke pulled toward the center is the dimension to fix first.
* **The Issues to fix** list is the heart of the page: every issue is ranked by how many products it touches and how severe it is, with a plain-language title and the affected count.
* **Confidence and consensus chips** tell you how sure the AI is. A suggestion flagged for review (consensus dissent) shipped anyway but deserves a human glance before you apply it in bulk.
* **The Insights tabs** add depth: priority breakdown, score trends across past runs, a conversion-readiness checklist, buyer-persona findings, and open-ended observations the AI surfaced outside the fixed dimensions.
* **The per-product findings table** lets you drill into any single product to see its per-dimension scores and the exact findings behind them.
## Fix it, or guard against it
Every issue offers two actions, and the difference matters:
* **Fix** applies the suggestion now. Depending on the issue that might create a Quality Guard rule, adjust a scoring setting, add a missing attribute to a family, or fill a value the AI derived from an image.
* **Add guard rule** creates a [Quality Guard](/en/quality-guard/overview) rule (left inactive for you to review and enable) so the same issue is caught automatically on every future import and edit.
Use **Fix** to clean up what is wrong today. Use **Add guard rule** to make sure it stays fixed. The strongest workflow is to do both: fix the current products, then guard the rule so the problem never silently returns.
## Act on what you find
Open the dimension radar and find the lowest spoke, then filter the Issues list to that dimension and work top-down by affected count. Apply the highest-impact fixes first, then re-run the review and compare the new score against this run. **Outcome:** the fastest possible lift, because you are fixing the issues that touch the most products.
A single weak dimension (often SEO Compliance or Attribute Coverage) is usually one systemic gap, not a thousand unique problems. Apply the matching suggestion (for example, raising the minimum description length or adding a missing attribute to a family) to fix it across the catalog at once. **Outcome:** a broad quality jump from a single action.
Recurring issues are a data-discipline problem, not a one-off. Use **Add guard rule** to create a [Quality Guard](/en/quality-guard/rules) rule that blocks it at import and edit time, then enable it. **Outcome:** the issue stops reappearing, so each future review starts from a cleaner baseline.
When the consensus pass disagrees with itself, the suggestion still ships but is flagged. Open the affected products and confirm before applying in bulk. These are the cases where AI is least certain and a human eye pays off most. **Outcome:** you keep the speed of automation without applying a wrong fix at scale.
Image-vs-data findings (a red product photographed in blue, three items shown for a single-unit listing) are common after supplier imports. Fix the attribute or the image, or fill the AI-derived value where it is confident. **Outcome:** images and data finally agree, which reduces returns and channel rejections.
The Conversion Readiness tab lists the signals buyers expect for your vertical (size charts, what's-in-box, certifications) and how many products are missing each. Add the missing attributes, starting with the signals marked critical. **Outcome:** listings carry the information that turns a browse into a purchase.
## How it relates to the other quality tools
* **[Data Quality](/en/analytics/data-quality)** is the always-on, rule-based health monitor: it tells you what is missing. AI Quality Review is the improvement engine on top: it tells you what is *wrong or weak* and how to fix it.
* **[Quality Guard](/en/quality-guard/overview)** is the enforcement layer. AI Quality Review discovers the rules worth having; Quality Guard keeps them enforced.
* **[Linguistic Review](/en/analytics/linguistic-review)** is the language-quality counterpart, focused on translation quality rather than product data.
## Related
The rule-based completeness score that runs continuously across your catalog.
Turn review findings into rules that block bad data before it lands.
The same idea applied to translation quality across your locales.
Fix the content the review flags with targeted AI enrichment.
# Returns & Refunds
Source: https://docs.wisepim.com/en/analytics/returns
See what gets returned, what it costs, and why, then cut the return rate by fixing the data quality issues that cause it.
The Returns & Refunds report shows what comes back, what it costs you, and the reasons behind it. Most importantly, it links returns to data quality, so you can stop returns at the source instead of just counting them.
**Where to find it:** open **Analytics** in the top navigation, then choose **Returns & Refunds** under **Performance** in the Analytics sidebar.
**What acting on it enables:** lower your return rate by fixing the content that causes mismatched expectations, identify which categories drain the most refunded revenue, and protect margin without changing your product range.
Trying to bring your return rate down? Follow the step-by-step guide: [Cut your return rate with better data](/en/guides/cut-your-return-rate).
This report needs order history with return or refund data from your connected platforms. Some platforms only expose order-level refunds; with item-level data you also get return reasons and per-product detail.
## Key metrics
| Metric | What it tells you |
| -------------------- | ---------------------------------------------------------------------------------- |
| **Return rate** | Share of orders that were returned in the period. The headline number to minimize. |
| **Returned orders** | Number of orders with a return or refund. |
| **Refunded revenue** | Total money refunded, the direct margin impact. |
| **Average refund** | The typical refund amount. High averages point to expensive items being returned. |
### What good looks like
Return rates vary widely by category and business model. These are directional benchmarks:
| Return rate | Signal |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| Under 5 % | Strong, typical for consumables, accessories, or well-described products |
| 5 – 15 % | Normal range for general e-commerce |
| 15 – 25 % | Elevated, investigate top reasons and quality of product content |
| 25 %+ | High, common in fashion/apparel, but in other categories this signals a content or product fit problem worth fixing |
A sudden spike, even within a normal range, is often more telling than the absolute level. Cross-reference with the trend chart.
## Fix the data, cut the returns
The standout chart is **return rate by data quality band**. Products with poor or missing content, wrong images, vague descriptions, or missing specs, are returned far more often, because customers receive something other than what they expected.
The bands run from A (score 90+) down to F (below 60). Typical patterns:
* Grade A and B products return at low rates because their content sets accurate expectations.
* Grade D and F products often return at 2–3x the rate of grade A products.
* The insight card surfaces your worst band and its return rate so you know exactly where to start.
The report calls out your worst-quality band and its return rate. Enriching those products is often the single biggest lever you have to lower returns and protect margin, the fix costs less than the refunds.
## Charts and tables
* **Return rate by data quality**: the WISEPIM differentiator. Bars ranked by return rate per quality grade (A through F). A steep gradient from left to right is the signal to enrich low-scoring products.
* **Return rate over time**: spot spikes and tie them to a launch, a supplier change, or a content issue.
* **Refunded revenue by category**: which categories cost you the most in refunds.
* **Top return reasons**: when item-level data is available, the reasons customers give, ranked by frequency. "Not as described" is the most actionable reason, it maps directly to content quality.
* **Return leaderboards**: two ranked lists of the products behind your returns, described below.
### Return leaderboards
| Leaderboard | How it ranks |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Returned most often** | Top products by number of returned orders. The large figure is returned orders; below it is what those returns refunded, plus the share of refunded revenue these products carry. |
| **Costliest per return** | Refunded revenue divided by returned orders. Only products with a minimum number of returned orders qualify, so one expensive refund cannot take the top spot. The card tells you how many products were left out for that reason. |
Each entry links to the product, and **Explore** opens the full list. A per-product return rate is not shown: this report does not include how many orders each product sold, so returns divided by sales cannot be calculated.
### Explore returns
**Explore all N** opens the **Explore returns** modal: everything that came back this period, with tabs for **Products**, **Categories**, **Channels** and **Reasons**. Product rows carry the quality score, units, returned orders, refunded revenue and its cumulative share; each tab has its own Pareto line, such as "N of M returned products cause 80% of the refunded revenue." Switch between the table and a chart of the current view, search by product name or SKU, and use **Export CSV** to download the rows you see.
Segment chips narrow the product list:
| Segment | Definition |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Biggest impact** | The smallest set of products covering 80% of refunded revenue. Improving these moves the total fastest. |
| **High volume** | More returned orders than the median product in the list. At this volume even a small improvement per return adds up. |
| **Quality-linked** | Products that come back often and have a content quality score below the threshold. Weak images, sizes or descriptions can cause returns you could prevent with better data. |
## Reading the results
* **Steep quality-band gradient** (grade F returning at 3× grade A), content is the primary driver. Improving descriptions, images, and specs will move the needle faster than other interventions.
* **Flat quality-band gradient** (all grades returning at similar rates), the issue is product fit, sizing, or customer expectation rather than missing information. Address at the product or pricing level.
* **A spike in the trend chart**: correlate with recent product launches, bulk imports, or supplier changes. A new batch of products with thin content often causes a visible spike.
* **High refunded revenue concentrated in one category**: that category may have a structural content gap (e.g., sizing guides missing for apparel, compatibility specs missing for electronics).
## Act on what you find
These are your highest-leverage targets. Open the Data Quality fix workspace at [Fix Issues](/en/analytics/data-quality) to see exactly which fields are missing, then use [Enriching Products](/en/essentials/enriching-products) to fill descriptions, specs, and images with AI. Prioritize high-volume SKUs first. **Outcome:** lower return rate on those products within a few weeks of enrichment, with measurable impact visible in this report's trend chart.
This is a direct content signal. Use [Enriching Products](/en/essentials/enriching-products) to rewrite vague descriptions and add missing technical specifications. Check images in the [Media Library](/en/products/media-library), inaccurate or misleading images are a leading cause of "not as described" returns. **Outcome:** reduce the most addressable return reason and improve customer trust.
Filter the product table to that category and review the quality scores. If scores are low, run a bulk enrichment pass. If scores are high, the issue may be product fit, consider adding size guides, compatibility information, or more realistic lifestyle images. **Outcome:** reduce refunded revenue in the highest-cost category.
Identify the date range and correlate with any product imports, catalog updates, or supplier changes around that time. Products imported without thorough content often trigger a return spike. Use [Bulk Editing](/en/essentials/bulk-editing/cost-margins) or enrichment to bring new imports up to quality standards before they accumulate returns. **Outcome:** catch content gaps before they compound into a sustained high return rate.
## Related
Improve the content that drives returns down.
Returns hit margin directly. See the full picture.
Fix vague descriptions and missing specs with AI.
Accurate images are the top defense against returns.
The full sequence: trace returns to their cause, fix it, and measure the rate move.
# Revenue & Sales
Source: https://docs.wisepim.com/en/analytics/revenue-sales
See where your sales come from. Track revenue, orders, and average order value by channel, category, and time period in one report.
The Revenue & Sales report shows your sales performance at a glance. It pulls order and revenue data from your connected e-commerce platforms. Then it breaks that data down by time period, channel, and product category, so you can see exactly where your money comes from.
Use this report to answer three questions in under a minute: Is revenue trending up or down? Which channel is carrying the most weight? Is AOV moving in the right direction? Once you know the answers, the report links directly into the actions that address them, whether that is improving product content, rebalancing channels, or launching a bundling promotion.
Revenue data comes from your connected e-commerce integrations. You need at least one platform connected, with order data synced, to see metrics here.
## Key metrics
These four numbers sit at the top of the report. They give you the headline view of how sales are doing.
| Metric | What it tells you |
| ----------------------------- | ------------------------------------------------------------------------------------------------ |
| **Total Revenue** | Your total sales for the selected period, with the percentage change versus the previous period. |
| **Total Orders** | The number of completed orders. Track this to spot order volume trends. |
| **Average Order Value (AOV)** | Revenue divided by orders. A rising AOV means customers spend more per transaction. |
| **Items Sold** | Total product units sold across all orders. |
Watch AOV next to total orders. If revenue grows but AOV drops, you are selling more at lower cart values. That is a good moment to try upselling or bundling.
## What good looks like
These ranges give you a sense of where a healthy store sits. They are directional, results vary by category, price point, and channel mix. Use them alongside your own period-over-period trend.
| Metric | Concerning | Average | Healthy |
| ----------------------------------- | -------------------------------- | ------------------- | ----------------------------------------------------------- |
| **Month-over-month revenue growth** | Declining | Flat to +3% | +5% or more |
| **Average Order Value (AOV)** | Dropping period-over-period | Stable | Rising, or at least 20–30% above your lowest-priced product |
| **Channel concentration** | One channel over 80% of revenue | One channel 50–80% | No single channel above 50% |
| **Category spread** | Top category over 70% of revenue | Top category 40–70% | Revenue spread across 3+ categories |
AOV benchmarks differ widely by vertical. Fashion and home goods average €50–€80; electronics and furniture often exceed €200. Compare your AOV trend over time rather than against a single threshold.
## Insights
At the top of the report, a row of insight chips surfaces patterns that are easy to miss in raw numbers. These update whenever you change the date range:
* **Revenue forecast**: when your selected period is only partly elapsed, this chip projects end-of-period revenue based on the trajectory so far, useful for knowing whether you are on track before the month closes.
* **Channel concentration warning**: if a single channel accounts for 50% or more of revenue, a warning chip flags the dependency so you can decide whether to invest in secondary channels.
* **Busiest weekday**: the day of the week averaging more than 10% above your daily average, so you can time promotions and content refreshes to land just before your peak.
* **AOV trend**: whether average order value is rising, flat, or falling versus the previous period, at a glance before you scroll to the chart.
* **Biggest single day**: the top-revenue day in the period with its date and value, handy for confirming that a campaign or sale landed as expected.
## Read the charts
Below the key metrics, five views break your sales down in different ways.
### Revenue trend
A line chart compares revenue across two time periods: current versus previous. Use it to spot growth, decline, and seasonal patterns. Hover over any point for the exact daily value.
### Orders per day
When order data is available, an **Orders per day** chart sits alongside the revenue trend. Reading them together is more revealing than either alone: revenue growing while daily orders are flat means AOV is rising; orders climbing while revenue is flat means smaller baskets. Use the pair to diagnose what is actually driving a change.
### Revenue by channel
A donut chart shows how revenue splits across your connected sales channels, such as Shopify, WooCommerce, or Magento. Use it to see which channels drive the most revenue, and whether your mix is balanced or leans on one platform.
### Revenue by category
A horizontal bar chart ranks your product categories by revenue. Categories at the top earn the most. Use it to confirm your strongest categories and catch underperformers that need attention.
### Top products table
A sortable table lists your highest-revenue products. Columns cover product name, SKU, revenue, units sold, and average selling price. Sort by any column to find your best sellers, or to spot products with unusually high or low average prices.
The channel breakdown, category breakdown, and top-products table each have a **CSV export** button in the top-right corner. Use it to pull the data into a spreadsheet for further analysis or to share with stakeholders outside WISEPIM.
### Explore revenue
Click **Explore all N** on the top-products table to open the **Explore revenue** modal. It lists everything that earned revenue in the period, with tabs for **Products**, **Categories** and **Channels**. Each row shows **Revenue**, **Orders**, **Units**, **Share of revenue** and a **Running total**, so you can read down the list and see where the bulk of your revenue stops.
A Pareto line at the top sums it up: "N of M products make up 80% of revenue in this period." Segment chips slice the product list:
| Segment | Definition |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Winners** | The top products that together bring in 80% of revenue. Keep them in stock and keep their content sharp. |
| **Quiet sellers** | Sold at least one unit, but earned under the median of the list. A better price, bundle or listing could move them up. |
| **Long tail** | Everything outside the winners, the remaining 20% of revenue. Look here for products worth promoting, bundling or retiring. |
Search the list by product name or SKU, and use **Export this view** to download the rows you are looking at as CSV.
If the totals load but a breakdown does not, the report shows **Some breakdowns are temporarily unavailable** and keeps the totals and trends current. When there are no orders at all in the range, you get **No revenue in this period** with a **Show the last 90 days** shortcut.
## Act on what you find
Confirm the source. Check the **Top products table** to see whether the revenue increase is coming from higher-priced items or from customers adding more to their baskets. If it is unit-driven, double down: use [Bulk Edit → Change price](/en/essentials/bulk-editing/change-price) to incrementally raise prices on your top sellers and watch whether order volume holds. **Outcome:** sustained AOV gains from confirmed demand elasticity rather than one-off price spikes.
A single-channel dependency means one bad algorithm update, policy change, or outage can crater your month. Check the **Revenue by channel** donut to confirm the split, then open [Channels](/en/analytics/channels) for a side-by-side comparison. Prioritise improving product content quality for under-performing channels via [Enriching products](/en/essentials/enriching-products), poor content quality is the most common reason a channel converts worse than expected. **Outcome:** a more balanced revenue mix that is resilient to single-channel volatility.
First, confirm whether the drop is seasonal by switching to a 12-month range and comparing the same period last year. If it is structural, open [Product Performance](/en/analytics/product-performance) and filter to that category to find which products are falling. Then use [AI enrichment](/en/essentials/enriching-products) to refresh stale descriptions and images on the declining items. **Outcome:** recovered category revenue by addressing the content issues that suppress conversion on the way down.
Check for heavy discounting in the **Top products table**: a low average selling price on high-volume items is a common cause. Then run a [Bulk Edit → Change price](/en/essentials/bulk-editing/change-price) to test a modest increase on your highest-volume products. Consider also setting up an [automation](/en/automations/overview) that flags products whose selling price dips below a target margin threshold. **Outcome:** AOV recovery without sacrificing order volume, and a safeguard against future margin erosion.
The forecast chip on this page shows your end-of-period pace. If you are behind target early in the month, open [Time Patterns](/en/analytics/time-patterns) to find your busiest upcoming days, then schedule promotions or content pushes to land just before those peaks. **Outcome:** corrective action taken while there is still time to close the gap, rather than discovering the shortfall at month-end.
## Related
Drill into individual product metrics to find your best and worst performers.
Compare performance across your connected sales channels side by side.
Analyze revenue, orders, and market share at the category level.
# Search & Discovery
Source: https://docs.wisepim.com/en/analytics/search-discovery
See how customers find products in your store. Track search queries, zero-result terms, and browsing patterns to close gaps and boost sales.
The Search & Discovery report covers **on-site search**: the search box inside your store. It tracks what shoppers type, which queries lead to a click and then a purchase, and where search comes up empty. Acting on it lets you close catalog gaps your own customers are already telling you about, lift conversion without buying more traffic, and fix zero-result failures that silently cost sales every day.
Search data requires your connected platform to track on-site search events. If search analytics look empty, check that search tracking is enabled in your platform settings. The [SEO report](/en/analytics/seo) covers organic search visibility in Google; with Search Console connected, this report also shows the Google demand behind your catalog in the [Search demand on Google](#search-demand-on-google) block.
## Key metrics
Five numbers tell you how well your search experience works.
| Metric | What it tells you |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Total Searches** | The number of searches in the selected period. A rising trend alongside flat conversion usually signals an intent gap, not a traffic problem. |
| **Click-through Rate (CTR)** | The share of searches where the shopper clicked at least one result. Low CTR means results look unappealing or irrelevant. |
| **Search Conversion Rate** | The share of searches that lead to a purchase. Higher means your search results help customers buy. |
| **Zero-Result Rate** | The share of searches that return nothing. Every one is a missed sale. |
| **Unique Queries** | The number of distinct search terms. A high ratio of unique queries to total searches means your catalog vocabulary is fragmented, customers reach the same products via very different words. |
Zero-result rate is your most actionable metric. Every empty search is a customer telling you exactly what they want but cannot find. Fix these first.
## Search funnel
The search funnel traces how a session moves from search intent to purchase:
**Searches → Clicks → Conversions**
Each step shows the absolute count and the drop-off rate to the next step.
| Drop-off location | What it signals | What to fix |
| ------------------------ | ----------------------------------- | ---------------------------------------------------------------------------- |
| **Searches → Clicks** | Results appear but look unappealing | Product images, titles, and price visibility in the results display |
| **Clicks → Conversions** | Product pages do not close the sale | Product descriptions, images, and pricing on pages appearing for top queries |
A healthy funnel converts 4–8% of searches directly into purchases. If you are below 2%, the issue is usually in the results display; if you are between 2–4%, the bottleneck is more often on the product page itself.
## Insight chips
Above the main charts, three insight chips highlight patterns worth acting on immediately:
* **Best-converting query**: the search term with the highest conversion rate, often revealing what your best customers are looking for.
* **Most specific query**: the longest or most detailed search term in the top queries; a signal that shoppers know exactly what they want.
* **Recurring zero-result offenders**: search terms that have returned no results across multiple days in the period. These are the most urgent gaps to close.
## Read the charts and tables
### Search volume
A sparkline shows how search volume trends over the selected period. Spikes often line up with marketing campaigns, seasonal demand, or new product launches.
### Top search queries
A bar chart ranks your most-searched terms by frequency. These are what customers care about most. Make sure they return excellent results.
### Query-length distribution
A donut chart breaks searches into three length bands:
| Band | What it suggests |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **1 word** | Broad, exploratory intent. Customers may not know exactly what they want, or they expect autocomplete to guide them. |
| **2–3 words** | Navigational intent. The shopper has a product type in mind. |
| **4+ words** | High-intent, specific queries. Customers who search like this often convert best, and are the most disappointed when results fail. |
An interpretation card below the donut explains what your specific mix suggests and whether to invest in synonym handling, faceted search, or richer product data.
### Search by category
A donut chart shows which categories get the most search traffic. Use it to see which categories customers actively search for versus the ones they only browse.
### Discovery method
A donut chart breaks down how customers find products: direct search, category browsing, recommendations, or external links. Use it to weigh search against your other discovery paths.
### Trending searches
A table shows the search terms growing fastest in frequency. These are emerging trends: new demand, or responses to promotions and outside events.
### Search queries table
The full query table lists every search term with its performance data:
| Column | What it shows |
| ------------------- | -------------------------------------------- |
| **Query** | The search term as typed. |
| **Searches** | How many times this exact term was searched. |
| **Clicks** | How many result clicks it generated. |
| **Conversions** | How many purchases followed. |
| **Conversion Rate** | Conversions ÷ Searches. |
Sort by Conversion Rate to find your highest-intent terms. Sort by Searches to see what your customers care about most.
### Zero-result queries table
A dedicated table lists every search term that returned no results, with two columns alongside the search count:
| Column | What it shows |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Query** | The search term that returned nothing. |
| **Searches** | How many times customers searched for it. |
| **Status** | **Recurring (5+)** for terms that have returned zero results five or more times; **Review (1–4)** for terms seen fewer times. Recurring terms are the highest priority. |
## Search demand on Google
With a connected [Google Search Console property](/en/integrations/google-search-console), a **Search demand on Google** block adds what people search for on Google to what they search for in your store. It needs synced Search Console data for the selected period; until then it says **Search Console is connected** and asks you to run a sync from the SEO report or pick a wider range.
### Top Google queries
Ranked by impressions, the real demand for your catalog. Each row shows impressions, clicks, CTR and position, plus a **View rank history for ** shortcut that opens **Rank history: **: daily clicks, impressions, CTR and position for that term, with its **Best position** and the date it was reached. Position is each day's impression-weighted average, not a rank snapshot, and Search Console keeps limited history. **Explore queries** opens the full loaded list.
### Missed demand
Searches where people see your page but click far less than they should at that spot. The table shows **YOUR CTR** next to the **EXPECTED CTR** for that position. People are looking, but not clicking; a better title and meta description usually fixes it. When every search gets about the clicks you would expect, the block says **No missed demand detected**.
### Opportunity segments
Segment chips above the queries put each query in at most one bucket, checked in the order shown:
| Segment | Definition | Why it matters |
| ---------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Title & meta opportunity** | A strong position, real impressions, CTR below expected. | People see you and scroll past. Rewriting the title and meta description is the cheapest click you can buy. |
| **Striking distance** | Just outside the top positions, with real impressions. | Page two with demand behind it. A small ranking push moves these onto page one. |
| **Ranking, no clicks** | A strong position, real impressions, zero clicks. | You are on page one and still getting nothing. Check what your result actually looks like in Google. |
| **Top earners** | A strong position with a healthy click count. | This is what already works. Check these before you change a title, a URL or a page layout. |
"Below expected" uses the expected CTR from your Search Console insights whenever they cover the query; otherwise a position-based fallback applies. Each segment has an **Export segment (CSV)** button so you can hand the shortlist to whoever rewrites the titles.
## Benchmarks
Use these ranges to judge your numbers at a glance.
| Metric | Concerning | Average | Good |
| -------------------------- | ---------- | ------- | ---- |
| **Search Conversion Rate** | \<2% | 2–4% | 4–8% |
| **Zero-Result Rate** | >10% | 5–10% | \<5% |
| **Clicks per Search** | \<1 | 1–2 | 2+ |
## Act on what you find
Open the zero-result queries table and start with the **Recurring** terms, those appearing five or more times. Add synonyms, fix misspellings in your product data, or add the products customers are searching for. Use [Enrich products](/en/essentials/enriching-products) to regenerate titles and descriptions for the relevant items so they match the search vocabulary. **Outcome:** each zero-result query you fix is an unfulfilled intent you convert into a potential sale.
Your results appear but customers do not click them. The fix is usually product titles and images, not catalog gaps. Use [Enrich products](/en/essentials/enriching-products) to rewrite titles for your top-searched terms so they match the shopper's language and highlight the key attributes. **Outcome:** higher CTR means more revenue from the same traffic without any ad spend.
Results are clicked but do not lead to a purchase. The bottleneck is the product page. Improve product descriptions, images, and pricing for the products that appear in your top queries. Run a [Data Quality](/en/analytics/data-quality) check to identify missing fields that undermine buyer confidence. **Outcome:** closing this gap turns already-engaged shoppers into buyers.
This is demand you are not yet serving. Add products to fill the gap, or update existing product titles and descriptions so they match the trending term. **Outcome:** capturing emerging demand early means you rank before competitors do.
Shoppers know exactly what they want but cannot find it. This points to catalog gaps or weak attribute data, missing dimensions, specs, or materials that shoppers use in detailed queries. Use [Data Quality](/en/analytics/data-quality) to identify missing fields for the relevant products. **Outcome:** filling attribute gaps improves both search relevance and SEO, compounding the benefit.
This is the keyword your best customers use. Treat it as a model: what does this product page do well that others do not? Copy those patterns across your catalog. You may also find it useful as an anchor for a [product family](/en/products/product-families) to surface related items. **Outcome:** spreading best-performing content patterns can lift your average conversion rate catalog-wide.
## Related
See the broader picture of how visitors navigate and engage with your store.
Understand how search discovery connects to your overall conversion funnel.
Check whether the products customers search for are actually your best performers.
Track organic search visibility in Google via Search Console data.
# SEO & Search
Source: https://docs.wisepim.com/en/analytics/seo
Your SEO command center, powered by Google Search Console: performance, sitemap coverage, cannibalization, competitors, and internal link health.
The SEO & Search report brings your organic search data into WISEPIM and connects it to your catalog. Use it to win clicks you already rank for, eliminate the structural problems that quietly cap your rankings, and stay ahead of what competitors are covering. The report starts with Google Search Console performance and layers on coverage, gaps, cannibalization, competitors, and internal links.
**Where to find it:** in the top navigation, open **Analytics** and choose **SEO**, or pick **SEO & Search** under **Performance** in the Analytics sidebar.
Want more traffic from the rankings you already have? Follow the step-by-step guide: [Turn impressions into clicks](/en/guides/win-clicks-you-already-rank-for).
This report is powered by **Google Search Console**. [Connect GSC](/en/integrations/google-search-console) to see your impressions, clicks, and rankings. The link analyses also use your sitemaps and product catalog: **Sitemap Coverage**, **Sitemap Gaps**, **Link Audit**, and **Link Equity** keep working even before GSC is connected.
A freshness strip above the report shows when Search Console data was last synced. Data refreshes daily in the background; after 24 hours without a sync the strip flags the data as **Stale** and opening the report starts a refresh automatically. You can also sync manually at any time (rate-limited to once every 5 minutes). While the initial import runs, the report shows **Importing initial Search Console data** instead of empty charts, and a sync that finds no clicks or impressions in the selected range says so explicitly rather than rendering zero-lines.
## What good looks like
Use these benchmarks to orient yourself quickly. E-commerce CTR is typically lower than editorial sites because product SERPs are competitive and rich-snippet heavy.
| Metric | Concerning | Average | Good |
| ---------------------------------------------------- | ------------ | -------------- | ---------------- |
| **Organic CTR** | \<1% | 1–3% | >3% |
| **Average position** | >20 | 10–20 | \<10 |
| **Coverage rate** (pages indexed ÷ pages in sitemap) | \<70% | 70–90% | >90% |
| **Cannibalized keywords** | Many overlap | A few clusters | Isolated, if any |
A position between 4 and 10 with a CTR well below 3% is the classic quick-win pattern: you rank but something in your title or meta description is not earning the click.
## Performance
The performance view shows impressions, clicks, CTR, and average position, with clicks and impressions charted over time. Choose a comparison mode (previous period or year-over-year) to surface:
* **Top queries and pages**: your highest-impression and highest-click terms and URLs.
* **Countries and devices**: where your search traffic comes from.
* **Quick wins**: high-impression, low-CTR queries where a better title or meta description captures traffic you already rank for.
* **Topic clusters**: related keywords grouped automatically so you can plan content by theme.
**Reading the performance view:** rising impressions with flat or falling clicks means Google is showing your pages more but shoppers are not choosing them, a title/meta problem. Falling impressions usually mean a ranking drop, often triggered by thin content or a recent site change. The year-over-year comparison is most useful for seasonal products where the previous-period view would just reflect normal seasonal variation.
Next to the KPIs, a ranking count such as **Top 10 for N queries** tells you how many of the loaded queries rank at position 10 or better, and how many of those clear a minimum impression threshold. A top-10 ranking below that threshold has no measurable demand behind it.
### Google data change marker
Google removed the `num=100` search parameter between 8 and 14 September 2025. Reported impressions fell for most sites and average position looked better without any real ranking change. The clicks and impressions chart marks that band as **Google data change**, and any comparison whose two periods sit on either side of it gets a warning: **This comparison crosses Google's September 2025 data change**. Trends that cross the band measure Google, not your SEO, so treat the improvement as overstated.
### Rank history per query
Every query row has a **View rank history for ** action. It opens **Rank history: **, a daily chart of clicks, impressions, CTR and position for that one term, with a **Best position** stat and the date it was reached on. Three things to keep in mind:
* Search Console keeps limited history, so the chart starts at the earliest date Google still holds.
* Position is each day's impression-weighted average, not a rank snapshot.
* Days Google reported nothing for are left out, so the line skips them instead of dropping to zero.
### Explore the full dataset
Click **Explore all** on the queries or pages table to open the expanded explorer. Rows load in batches (**Load next N rows**, **Load N more**), so search, sorting, totals and CSV export cover the loaded rows only until you have loaded everything. Three view modes change what you are looking at:
| View mode | What it does |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **Performance** | Compares the metrics in the loaded dataset across one dimension: **Query**, **Page**, **Country** or **Device**. |
| **Query → pages** | Select a query to see the pages that rank for it. |
| **Page → queries** | Select a page to see the queries that lead to it. |
Filter chips **Growing** and **Decaying** keep only rows whose impressions rose or fell versus the comparison period. Three highlight tiles summarise the loaded rows: **Traffic leader** (most clicks), **CTR opportunity** (a strong position with a weak click-through rate) and **Biggest visibility move** (the largest impression change). Use **Export N loaded** or **Export N matching** to download the rows as CSV.
Looking for a ready-made shortlist? The [Search & Discovery](/en/analytics/search-discovery) report groups your Google queries into opportunity segments such as **Title & meta opportunity** and **Striking distance**, each with its own CSV export.
## Search Console data coverage
The **Search Console data coverage** panel shows the freshness and completeness of the stored Google datasets behind the report. Each of its four cards carries a status chip: **Ready**, **Partial**, **Error**, or **Unavailable**.
| Card | What it tells you |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search performance** | The latest complete date of clicks/impressions data, and whether any slices are missing, failed, truncated, or provisional. |
| **Search appearances** | Which appearance types (rich results and similar) Google discovered for your site. These types overlap, so never add them together as an overall total. |
| **Sitemaps** | How many submitted sitemaps Google reports, with error counts. This is a read-only observation; submitted counts do not prove that URLs are indexed. |
| **URL inspection** | How many product URLs have a successful indexed-version snapshot. Snapshots are quota-bounded per day and are not a live test; they never request indexing. |
**Reading coverage status:** the panel is the report's honesty layer. When the latest refresh was incomplete or failed, the report keeps showing the last successfully stored data and the panel tells you to treat it as partial, not empty. Detailed query and product rows are top rows rather than exhaustive, because Google anonymizes low-volume queries.
## Sitemap coverage
Coverage cross-references your sitemaps against what Search Console has actually indexed, so you can spot pages that are declared but not indexed (or indexed but missing from your sitemap).
**Reading coverage:** a coverage rate above 90% is healthy. Pages declared but not indexed usually signal thin content, noindex tags left in place, or crawl budget issues. Pages indexed but missing from your sitemap won't get timely recrawls after updates.
## Sitemap gaps
Gaps lists products that should be discoverable but are missing from your sitemap, so search engines can find every product you sell. A product absent from the sitemap is only crawled if another page links to it, not a reliable path to indexation.
## Cannibalization
Cannibalization finds keywords where several of your own pages compete for the same query, splitting your ranking power, and recommends which page to consolidate around.
**Reading cannibalization:** the symptom is two or more of your own pages trading positions for the same keyword without either consistently reaching the top 5. The fix is consolidation: pick the stronger page, redirect or canonical the weaker ones to it, and consolidate the best copy onto the winner.
## Competitors
Track competitors by their sitemap to see the products and categories they cover that you do not. A large gap is a prioritized content backlog, start with gaps in your highest-revenue categories. Add a competitor by its sitemap URL:
## Link audit
The link audit surfaces broken internal links, redirect chains, and under-linked or orphaned products, the structural issues that quietly suppress rankings. Broken links bleed crawl budget and signal poor site health; redirect chains dilute link equity with every extra hop.
## Link equity
Link equity maps how internal authority flows through your store, highlights orphan pages with no inbound links, and suggests links that would strengthen important products. Even a single link from a category or related product page can make an orphan crawlable.
Start with **quick wins** on the performance view for fast traffic gains, then work through cannibalization and link equity for durable, structural improvements.
## Act on what you find
Go to the Quick wins panel on the Performance view. For each flagged query, open the product or category page it ranks for and rewrite the title tag and meta description, make them specific, benefit-led, and include the keyword naturally. Use [Enrich products](/en/essentials/enriching-products) to generate and apply improved SEO titles and meta descriptions at scale. **Outcome:** capturing even half of these impressions as clicks is typically the fastest organic traffic gain available without any new content.
Investigate the affected pages for thin content, noindex tags, or canonical mismatches. For product pages, enrich descriptions and add meaningful attributes before requesting re-indexing. Use [Quality Guard](/en/quality-guard/overview) to enforce a minimum content threshold so future pages don't publish thin. **Outcome:** getting those pages indexed means Google can rank and surface them for relevant queries.
Review the gaps list and add missing products to your sitemap. Ensure at least one category or related-product link points to each of them so Google can discover and recrawl them reliably after updates. **Outcome:** every product in the sitemap can be recrawled promptly when its content improves.
Follow the consolidation recommendation: pick the page with the stronger ranking history and richer content, then redirect or canonical the weaker pages to point at it. Merge the best copy from the retiring pages onto the winner. **Outcome:** consolidation focuses all link equity on one page, which typically lifts it from a fluctuating mid-ranking position into a stable top 5.
Use the gaps list to build a prioritized content backlog. Focus on gaps in your best-selling categories first, these carry the highest intent. Add the missing products or expand existing category descriptions to cover the ground. **Outcome:** closing these gaps expands the pool of queries you can rank for in your most valuable areas.
Fix broken links immediately, they waste crawl budget and create dead ends for shoppers. For orphan products (no inbound links), add them to the most relevant category page or link to them from related products. Use the link suggestions in the equity view as a starting point. **Outcome:** a clean internal link graph ensures Google indexes your full catalog and routes authority to your most important pages.
## Related
Turn keyword opportunities into a prioritized plan.
Optimize your on-site search experience.
Generate titles and meta descriptions that win clicks.
Enforce SEO rules across the catalog.
Convert positions 4–10 with low CTR into traffic by rewriting for real search intent.
# Smart Insights
Source: https://docs.wisepim.com/en/analytics/smart-insights
One ranked feed of what changed and why, across revenue, margin, returns, and data quality, with a one-click action on every insight.
Smart Insights reads every other analytics report for you and surfaces what actually matters. Instead of checking ten dashboards, you get a single feed of signals, ranked by their impact on your business, each with a clear next step.
Smart Insights needs order history to detect changes, plus your product catalog and data-quality scores to connect a drop in sales to a root cause. The more you have connected (returns, channels, Search Console), the richer the insights.
**What it lets you do:** surface a margin leak, a returns spike, or a data-quality drop before it compounds, and act on it in the same session. The payoff is hours saved per week that you would otherwise spend combing individual reports.
## What you see
The page opens with a rollup banner that totals the money at stake across all signals, split into three buckets:
| Group | What it means | Tone |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- |
| **Recoverable** | Revenue you are losing to a fixable cause, for example, returns driven by poor images on a handful of SKUs. Acting on this stops an active leak. | Amber |
| **At risk** | Metrics trending in the wrong direction, conversion slipping in one category, or a channel that stopped syncing. Not lost yet, but will be if ignored. | Red |
| **Upside** | Opportunities to capture, a fast-growing category where most products still lack images, or a keyword gap your competitor ranks for. | Green |
Below the rollup, the top-ranked insight is promoted to a featured hero card with its full contributor list. The remaining insights are grouped into **Protect revenue** and **Capture upside** sections so you can pick your priority, fix what is breaking or pursue what is growing.
Each insight card shows:
* The **root cause** in plain language, not just the symptom.
* A **quantified impact** (currency amount, percent change, or count) so you know what is at stake.
* The **top contributing products, categories, or segments** so you know where to look.
* A **one-click action** that opens the exact filtered product view, enrichment run, or report behind the signal.
## Reading the signals
* **Multiple "at risk" signals in the same period** often point to a single upstream cause, a stalled integration, a botched bulk import, or a seasonal shift. Check whether the affected products or channels overlap before acting on each signal separately.
* **A large "recoverable" total with few affected SKUs** is a high-priority situation: a small fix on a handful of high-revenue products produces an outsized return. Act on this first.
* **"Upside" signals with a lapsing-customer or low-ranking-keyword cause** respond well to automation, consider wiring the action to an [Automation](/en/automations/overview) rather than doing it manually each time.
## How to use it
Insights are ranked by impact. The first card is where your attention pays off most.
Each insight explains the cause, not just the symptom, and lists the products or categories involved.
Every card links straight to the fix: an enrichment run, a bulk edit, a filtered product view, or the detailed report behind the signal.
Check Smart Insights once a week. It is the fastest way to catch a problem while it is still small and to spot growth opportunities before your competitors do.
## Manage signals
Every signal card has a **Manage this signal** menu, so the feed only shows what your team still has to look at:
| Choice | What happens |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Snooze for a week** / **Snooze for a month** | The signal leaves the feed and comes back after that time, marked **Snoozed until ** in the meantime. |
| **Mark as done** | You have acted on it. It leaves the feed and shows as **Marked as done**. |
| **Dismiss** | Hidden until you reopen it. Use it for signals that do not apply to your store. |
A **N hidden** button above the feed opens the **Hidden signals** panel: everything found this period that is hidden by your team's choices, each with its state (**Snoozed until **, **Marked as done** or **Dismissed**) and a **Reopen** button that puts it back in the feed. These choices are shared by everyone on the project, so a signal a colleague snoozed stays hidden for you too.
## Act on what you find
Open the top recoverable insight and click its action link. Most recoverable signals resolve to a product enrichment (missing images, inaccurate descriptions causing returns) or a sync fix. Outcome: stopping a revenue leak immediately, even before you optimize for growth.
The insight will list the top-returning SKUs. Use the action link to open those products and check their description accuracy and image set. Correcting content mismatch between the listing and the physical product reduces "not as described" returns. Go to [Returns & Refunds](/en/analytics/returns) to track the rate after the fix. Outcome: lower return rate directly improves margin.
This insight appears when RFM (recency-frequency-monetary) analysis flags customers who were active but have stopped buying. Use the action link to open the customer segment, then consider a re-engagement campaign or a targeted promotion. Outcome: recovering lapsing customers costs far less than acquiring new ones.
Some channels penalize incomplete listings in their ranking algorithm. Use the insight action to filter to the affected products on that channel and run a targeted enrichment pass. For the full picture, open [Channel Comparison](/en/analytics/channels). Outcome: better channel listing quality improves organic visibility without ad spend.
The insight surfaces queries where you have impressions but low ranking. Click through to the [SEO & Search](/en/analytics/seo) report or use the action link to add those keywords to your tracking list, then enrich the relevant product descriptions. Outcome: moving from page 2 to page 1 on a high-impression query can multiply clicks without any additional budget.
## Related
Turn insights into a prioritized list of growth initiatives.
The catalog health that powers many of these insights.
See how data quality drives the return rate.
Measure the revenue lift after you act.
# Stock-Out Loss
Source: https://docs.wisepim.com/en/analytics/stockouts
Estimate the revenue you missed while products were out of stock, and get a refill priority list ranked by lost sales.
The Stock-Out Loss report estimates the revenue you missed while SKUs were unavailable. It turns out-of-stock windows into a number you can act on, and ranks which products to restock first.
**What acting on it enables:** stop losing sales to avoidable stock-outs, restock the right SKUs before a peak window, and surface the exact products and categories where availability is costing you the most.
This report needs order history (to learn each product's sales velocity) and inventory data (to know when products were out of stock). The lost-revenue figure is an estimate based on historical demand.
## Key metrics
| Metric | What it tells you |
| -------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Estimated lost revenue** | Sales you likely missed while products were out of stock, based on each product's average daily sales rate. |
| **SKUs affected** | How many products ran out during the period. |
| **Out-of-stock days** | Total stock-out days across all products, a measure of overall availability pressure. |
| **Average days per SKU** | How long products typically stay unavailable once they go out of stock. |
### What good looks like
There is no universal benchmark for "acceptable" stock-outs, a fashion retailer manages them differently from a replenishable goods seller. But these directional signals apply broadly:
| Average days per SKU | Signal |
| -------------------- | ---------------------------------------------------------------- |
| Under 3 days | Good, fast restock or low demand for those SKUs |
| 3 – 7 days | Moderate, worth reviewing reorder triggers |
| 7 – 14 days | Elevated, lead times or demand forecasting likely need attention |
| 14 + days | Concerning, prolonged unavailability is actively losing sales |
The refill priority table uses built-in severity thresholds to help triage:
| Status | Criteria |
| ------------ | ------------------------------------------------------- |
| **Critical** | Estimated lost revenue ≥ €500, or 14+ days out of stock |
| **At Risk** | Estimated lost revenue ≥ €100, or 5+ days out of stock |
| **Watch** | Below those thresholds but still affected |
## Charts and tables
* **Lost revenue over time**: when stock-outs cost you the most, so you can tie losses to demand spikes or seasonal peaks.
* **SKUs out of stock per day**: (shown when available) how many products were simultaneously unavailable each day. A rising count signals a systemic restock problem rather than isolated SKU issues.
* **Lost revenue by category**: the categories where availability hurts you most. Use this to prioritize which category to fix first.
* **Refill priority**: a ranked table of products to restock, with their severity status (**Critical**, **At Risk**, **Watch**), average units sold per day, days out of stock, and estimated lost revenue. Export as CSV to share with a buyer or warehouse team.
Pair this with [Time Patterns](/en/analytics/time-patterns). Restocking your top SKUs before a known peak window protects the revenue you would otherwise lose, the combination of velocity data and timing is more powerful than either alone.
## Reading the results
* **A few SKUs account for most of the lost revenue**: this is the common pattern. Your top 5–10 out-of-stock products often represent over half of total estimated loss. Focus the refill priority table on Critical items first.
* **Lost revenue spikes align with a specific date**: this usually corresponds to a demand event (sale, external traffic spike, seasonal peak) that exhausted stock faster than expected. Use [Time Patterns](/en/analytics/time-patterns) to anticipate these windows next time.
* **Many SKUs affected but low total lost revenue**: the out-of-stock products are slow movers. Low urgency, but worth reviewing reorder minimums so they stay available passively.
* **A whole category in red**: likely a supplier or lead-time issue affecting the category as a whole, rather than individual SKU mis-forecasting.
## Act on what you find
Open each Critical-status product from the refill priority table and update stock levels. Use [Bulk: Update Stock](/en/essentials/bulk-editing/update-stock) to push updated quantities across channels at once. For recurring top sellers, set up a low-stock automation alert so you are notified before they run out, see [Automations](/en/automations/overview). **Outcome:** restore availability on your highest-revenue SKUs and stop the daily revenue loss they represent.
Filter the refill priority table by category (or use the lost revenue by category chart) and review reorder triggers for that group. A systemic gap often means the reorder point is set too low or lead times have changed. Adjust quantities in bulk with [Bulk: Update Stock](/en/essentials/bulk-editing/update-stock). **Outcome:** reduce category-level availability failures rather than chasing individual SKUs one at a time.
Cross-reference with [Time Patterns](/en/analytics/time-patterns) to confirm seasonality, then build a pre-season stock buffer. You can automate a reorder trigger ahead of the peak using [Automations](/en/automations/overview). **Outcome:** eliminate predictable peak-season stock-outs before they happen.
Prolonged unavailability usually signals a supply-chain or lead-time problem rather than a forecasting one. Verify supplier lead times in your integrations and consider safety-stock buffers on your fastest-moving lines. Connect or audit your inventory feeds under [Integrations](/en/integrations/supported-platforms) to ensure stock levels are syncing in near real time. **Outcome:** reduce average downtime per SKU so that each stock-out event is shorter and less costly.
## Related
Refill bestsellers before your peak windows.
See the revenue stock-outs are eating into.
Update stock levels across many products at once.
Automate low-stock alerts and supplier syncs.
# Strategy
Source: https://docs.wisepim.com/en/analytics/strategy
A prioritized roadmap of growth initiatives, scored by revenue impact, with the affected products and a one-click way to act on each.
The Strategy report turns your data into a plan. It combines search demand, competitor gaps, and your own catalog and sales data into a ranked list of growth initiatives, so you always know what to work on next and why it is worth it.
Strategy is strongest with [Google Search Console connected](/en/integrations/google-search-console) (for keyword demand and gaps) and order history (to estimate conversion potential). It still works with catalog and sales data alone, with fewer search-driven initiatives.
**What it lets you do:** replace the "what should we work on this week?" conversation with a data-backed answer, every initiative is sized, sequenced, and linked to the exact products that need attention. The payoff is compounding revenue growth from focused effort, not scattered improvement.
## Growth readiness scorecard
At the top of the page, the **Growth readiness** scorecard gives your catalog an overall score (0–100) across five dimensions: Revenue, Data quality, SEO, Margin, and Inventory. Each dimension links to the analytics surface that owns it.
**Reading the scorecard:**
| Score range | What it signals |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------- |
| 70–100 | Good, the catalog is in shape to grow. Focus on the upside initiatives below. |
| 40–69 | Mixed, some dimensions are strong, others are dragging. Fix the weak dimension first; it is likely the bottleneck on the others. |
| Below 40 | Foundational gaps. Enrichment and data completeness work will have the highest ROI before other growth initiatives can land. |
Each dimension tile shows the current score, its direction versus the previous period, and a progress bar. A dimension in **warning** (amber) or **critical** (red) is where a small fix produces the biggest scorecard move.
## The initiative list
Below the scorecard, the page shows your total **Growth opportunity** (the estimated revenue sum across all open initiatives), an **Open initiatives** count, and a **Quick wins** count, low-effort initiatives you can ship immediately.
Each initiative is scored by its estimated revenue impact and effort, so the highest-leverage work rises to the top. Initiatives are tagged by category:
| Category | What it represents |
| ----------------- | ----------------------------------------------------------------------------------------------------- |
| **Revenue** | Sales-volume opportunities, categories or products with demand that your catalog does not yet capture |
| **Quality** | Data-completeness gaps that directly suppress conversion or cause listing rejections |
| **SEO** | High-impression, low-ranking queries where content improvements can win real traffic |
| **Inventory** | Stockout risk on high-demand products, or dead stock tying up working capital |
| **Margin** | Products sold below healthy margin thresholds, or cost data gaps that make margin invisible |
| **Merchandising** | Cross-sell and bundle opportunities from basket co-occurrence patterns |
You can filter by category tab, sort by impact, effort, or horizon, or toggle **Quick wins only** to focus on low-effort moves.
### The growth roadmap
Switch to the **Roadmap** view to see initiatives grouped by when to act on them: **This week**, **This month**, and **This quarter**. Use this view in team planning sessions to sequence work across the sprint without losing the priority order.
## Open an initiative
Select any initiative to open its detail drawer. It shows:
* The **estimated revenue impact** and confidence level (high, medium, or low).
* The **exact products or categories** affected.
* The **effort rating** (low, medium, high) so you can weigh return against cost.
* A **one-click action** to start the work, usually a filtered product view ready for bulk enrichment, or a link to add keywords.
* An **Ask AI** shortcut to dig deeper or draft the content for that initiative.
**Reading the impact confidence:**
* **High confidence** means the estimate is based on measured data (actual revenue, GSC clicks). Treat it as a reliable floor.
* **Medium confidence** means it combines measured data with model estimates. It is directionally right but may vary.
* **Low confidence** means limited data is available, the opportunity is real but the size is harder to quantify.
Work the list from the top down. Finishing one or two high-impact initiatives a month compounds faster than spreading effort thinly across many small tweaks.
## Manage signals
Each initiative card has a **Manage this signal** menu, so the list only shows what your team still has to act on:
| Choice | What happens |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Snooze for a week** / **Snooze for a month** | The signal leaves the list and comes back after that time, marked **Snoozed until ** in the meantime. |
| **Mark as done** | You have acted on it. It leaves the list and shows as **Marked as done**. |
| **Dismiss** | Hidden until you reopen it. Use it for signals that do not apply to your store. |
A **N hidden** button above the list opens the **Hidden signals** panel: everything found this period that is hidden by your team's choices, each with its state (**Snoozed until **, **Marked as done** or **Dismissed**) and a **Reopen** button that puts it back in the list. These choices are shared by everyone on the project, so a signal a colleague snoozed stays hidden for you too.
## Act on what you find
Click the dimension tile to jump to the analytics surface that owns it. Fix the worst-scoring dimension before investing in lower-priority initiatives, a low data quality score, for example, caps the return on all other growth work. Outcome: improving a foundational dimension unlocks improvement headroom across the entire scorecard.
Click the initiative to open its drawer, then use the action link to run an enrichment pass or bulk edit on the affected products. These are the highest-ROI moves in the list. Outcome: capturing easy upside quickly, freeing capacity for larger initiatives.
Open the initiative drawer and use the action link to add the keyword to your SEO tracking list. Then open the affected product descriptions and enrich them to include the keyword naturally. Use **Ask AI** in the drawer to draft the updated copy. Go to [SEO & Search](/en/analytics/seo) to track ranking progress. Outcome: organic traffic growth without ad spend.
The initiative will list the categories with strong demand signals and thin catalog coverage. Use the action link to open those categories in the products view, then import or enrich products to fill the gap. Go to [Category Insights](/en/analytics/category-insights) for the full structural picture. Outcome: capturing demand that currently goes to competitors.
Sort by **Quick wins** to find the low-effort moves first. Ship two or three of those to build momentum, then tackle the high-impact, higher-effort initiatives in the next sprint. Use the Roadmap view to assign horizons. Outcome: consistent forward progress rather than analysis paralysis.
Some initiatives, like enriching every newly imported product or flagging margin-negative items, recur naturally. Once you have validated the action manually, consider wiring it to an [Automation](/en/automations/overview) so it runs without human intervention. Outcome: growth work that scales with catalog size, not headcount.
## Related
The signals that feed the strategy.
The Search Console data behind keyword initiatives.
Find the categories worth expanding.
Execute the catalog initiatives with AI.
Work a ranked keyword opportunity end to end, from GSC data to rewritten listings.
# Time Patterns
Source: https://docs.wisepim.com/en/analytics/time-patterns
See when your customers buy, broken down by hour, day, and month. Time campaigns, staffing, and promotions to land when demand is highest.
Time Patterns shows you when customers buy. Acting on it lets you land campaigns exactly when demand peaks, run expensive AI enrichment jobs when traffic is quietest, and get ahead of key shopping events before competitors do.
Time patterns come from your order timestamps. The more order history you sync, the more reliable the patterns. Aim for at least 90 days of data before you act on them.
## Find your peak times
Four headline metrics orient you immediately:
| Metric | What it tells you |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Peak hour** | The busiest hour of day, shown as a time range (e.g. "8–10 PM"). The KPI also shows how many times busier this window is than your average hour. |
| **Peak day** | The day of the week with the highest order volume, with the order count at its peak. |
| **Quietest hour** | Your calmest window, the best time to schedule heavy AI or import jobs without competing with live traffic. |
| **Weekday vs weekend** | The percentage difference between average weekday and weekend order volume. A large positive number means weekdays drive your business; a large negative means weekends do. |
Schedule your highest-impact activities around your peaks: email campaigns, social posts, flash sales, and support staffing. Schedule heavy system jobs (bulk enrichment, feed exports) in your quietest window.
## Read the charts
The report offers several views, each answering a different timing question.
### Day × hour heatmap
The primary visualization is a 7 × 24 heatmap, days of the week on rows, hours of the day on columns. Each cell's intensity shows order volume (or revenue, switchable via the toggle). Darker cells are busier.
**How to read it:** look for a consistent hot band rather than isolated spikes. A store with a consistent evening peak from 7–10 PM on weekdays has a very different content and campaign schedule than one peaking Saturday midday. The legend runs from **Low** to **High**, and hovering a cell shows the day, hour and order count.
Click any cell to drill into that slot. The click sets a **Selected slot** filter, shown in the filter bar with a **Slot drilldown active** badge, and the drill-down below the heatmap shows orders, revenue, average order value and the top-selling products for that day and hour. Use **Clear selected time slot** in the filter bar to go back to the full picture.
| View | What it shows | Use it to |
| ------------------------ | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| **Heatmap** (day × hour) | Order volume or revenue for every weekday × hour combination. | Pinpoint the exact windows to time campaigns, sync feeds, or run maintenance. |
| **Hourly bar chart** | How orders spread across the 24 hours of the day, with peak hours highlighted. | Spot your top-3 hours at a glance. |
| **Daily bar chart** | Order volume for each day, Monday to Sunday. | Time promotions and ad spend for your strong days. |
| **Monthly bar chart** | Revenue by month over the selected period. | See seasonal trends, holiday spikes, and long-term growth or decline. |
| **Daypart cards** | Morning (6–12), evening (18–24), and peak revenue hour, each showing volume and its share of the total. | Quickly classify whether your store is a morning, evening, or balanced operation. |
The heatmap requires your platform to send individual order timestamps. When only daily totals are available, WISEPIM estimates the grid from marginal hour and day distributions and labels it "estimated."
## Plan for shopping events
Beyond your daily and weekly rhythms, Time Patterns looks ahead to the **shopping events** that matter for your store, like Black Friday, Cyber Monday, and the holiday season, adapted to your locale and industry. This is where timing turns into a concrete to-do list.
For each upcoming event the report shows:
| Signal | What it tells you |
| -------------------------- | ----------------------------------------------------------------------------------- |
| **Days until** | How much runway you have before the event. |
| **Last year's order lift** | The jump in orders the event drove previously, so you can size the opportunity. |
| **Readiness window** | The pre-event window (the days before) to get categories, content, and stock ready. |
It also turns timing into **operational recommendations** you can act on in one click:
* **Prep before a peak event**: when a high-impact event is approaching, jump straight to enriching the relevant categories.
* **Sync before the rush**: schedule feeds to finish before your peak window, with a link to [Automations](/en/automations/overview).
* **Bulk-enrich in quiet hours**: run heavy AI jobs during your calmest window so they never compete with live traffic.
* **Balance weekday vs. weekend**: when one is much busier, shift maintenance and content work to the lighter side.
Start event prep early. The report flags events up to roughly six weeks out, which is the right moment to enrich categories, fix stock, and schedule campaigns before demand arrives.
## Act on what you find
The report surfaces four operational recommendations automatically, generated from your specific peak, quiet window, weekday/weekend skew, and upcoming events. Below is how to act on the most common patterns.
Schedule email campaigns and social posts to land 30–60 minutes before your peak window. Also schedule feed exports and price syncs to complete before the peak so your catalog is accurate when traffic is highest. Use [Automations](/en/automations/overview) to set a recurring feed schedule that finishes before your peak day. **Outcome:** campaigns hit customers at their most purchase-ready moment; feed errors don't surface during your busiest window.
Run heavy AI enrichment jobs, bulk description generation, image processing, imports, in your quietest hours. This avoids competing with live traffic for server resources. Go to [Products](/en/essentials/managing-products) and queue a bulk enrich job timed to your calm window. **Outcome:** enrichment runs faster and has no impact on shopper-facing performance.
When weekdays run significantly heavier, use weekends for maintenance, content updates, and re-enrichment without worrying about disruption. When weekends are busier, ensure content and feed syncs are ready before Friday, don't schedule major updates during your peak. **Outcome:** maintenance happens at the time of least customer impact.
The Event Readiness section below the charts flags upcoming key dates (Black Friday, Cyber Monday, seasonal peaks) with last year's order lift and a readiness window. When an event is within 45 days and drove strong lift previously, click the prep link to jump directly to enriching that event's top categories. **Outcome:** you enter the peak window with complete, compelling product content rather than scrambling during it.
You have no extreme peaks, so demand is steady. Focus on consistent catalog improvement, [Data Quality](/en/analytics/data-quality) and enrichment, rather than timing-specific tuning. The lack of a peak also means your feed and sync schedules have more flexibility.
## Related
See how time-based patterns turn into revenue trends and order volumes.
Align your marketing spend with the times customers are most likely to buy.
Compare traffic patterns with buying patterns to find timing gaps.
# Traffic & Behavior
Source: https://docs.wisepim.com/en/analytics/traffic-behavior
See who visits your store, where they come from, and what they do once they arrive. Focus on attracting the right visitors, not just more of them.
Traffic & Behavior shows you who visits your store, where they come from, and what they do once they arrive. It links traffic volume to engagement quality, so you can focus on attracting the right visitors, not just more visitors.
Acting on this report typically means fixing the entry points that leak visitors, bad landing pages, mis-targeted campaigns, or a mobile checkout that underperforms on desktop, and redirecting attention toward the sources that already convert well.
At its core, the report works on order-based traffic data from your connected platform. When you connect **Google Analytics 4**, the report unlocks far richer behavioral data, a "GA4 powered" badge appears next to the relevant sections. GA4 adds session-level metrics, new vs returning visitor data, a full traffic trend over time, and a behavioral conversion funnel. How much you see without GA4 depends on what your platform exposes.
## Key metrics
These metrics tell you how healthy your traffic is.
| Metric | What it measures |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Sessions** | Total visits to your store in the selected period. |
| **Unique visitors** | Distinct people who visited. One person can have several sessions. |
| **Bounce rate** | Share of sessions where the visitor left after one page. A high rate means visitors did not find what they expected. |
| **Average session duration** | How long visitors spend per session. |
| **Pages per session** | Average pages viewed per session, derived as total page views divided by total sessions. More pages usually means more engagement. |
With GA4 connected, four more KPIs appear:
| Metric | What it measures |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Daily users total** | The sum of GA4 users reported for each day. A person active on several days is counted more than once across the range. |
| **Engagement rate** | The share of sessions lasting over 10 seconds, containing a key event, or containing at least two page or screen views. |
| **Session key-event rate** | The share of sessions in which any event configured as a GA4 key event occurred. This is not necessarily a purchase rate. |
| **GA4 revenue** | Purchase revenue attributed by Google Analytics 4 in the selected period. |
A freshness chip next to the GA4 sections shows **Data through **. When the most recent sync did not finish cleanly it reads **Latest sync is partial**, so treat the last day or two as incomplete.
Bounce rate alone does not tell the whole story. A high bounce rate on a product page can be fine if visitors find what they need fast. Read it alongside session duration for a clearer picture.
## Traffic trend over time
When GA4 is connected, a trend chart shows sessions, users, and page views plotted over the selected period. This gives you a time-series view of whether traffic is growing, stable, or in decline, and whether a dip is in raw visits, distinct users, or content engagement. Without GA4, platform-level order data informs the overview numbers but does not produce this chart.
## New vs returning visitors
GA4 also surfaces the split between new and returning visitors as a dedicated breakdown. New visitors represent acquisition; returning visitors represent retention and loyalty.
| Split | What it signals |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| New visitors > 80% | Heavy acquisition mode, good for a launch, but unsustainable long-term. Focus on turning first visits into repeat ones. |
| Returning visitors > 50% | Strong retention, your loyal base is active. Check that you are also investing enough in acquisition to grow the audience. |
| Roughly 60% new / 40% returning | A balanced, healthy store. Returning visitors typically convert at 2–3× the rate of new ones. |
This breakdown is only available when GA4 is connected.
Returning users are not inferred because GA4 user groups can overlap within a date range. The report shows the new-visitor figure GA4 reports and does not subtract it from total users to guess the rest.
## Read the charts
The report breaks your traffic down from several angles. Each view answers a different question.
| View | What it shows | Use it to |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **Traffic sparklines** | A compact trend line per metric. Green means improvement, red means decline. | Get an instant health check without digging into detail. |
| **Bounce rate status** | Your current bounce rate with a color-coded rating and a benchmark badge (Excellent \<40%, Typical 40–55%, High >55%). | Spot when bounce rate needs attention at a glance. |
| **Traffic by source** | Sessions split by source and medium (e.g. google, facebook, direct, email). Each source also shows its conversion rate, so you can distinguish high-volume channels from high-quality ones. Organic search (google/organic) typically converts at 2–4%, paid search (google/cpc) at 1–3%, and social at under 1% for most stores. | Judge which channels deserve more investment. |
| **Traffic by device** | A donut split by desktop, mobile, and tablet. | Decide where to optimize the shopping experience first. |
| **Traffic by country** | Your top visitor countries. A concentration chip appears when a single country accounts for 20% or more of sessions. | Spot international demand and weigh localized content. |
Concentration insight chips surface automatically when your traffic is skewed in ways worth knowing: one country driving 20%+ of sessions, or one device class driving 40%+ of sessions. Both can point to opportunities or risks depending on whether those segments are converting well.
### GA4 quality tables
When GA4 is connected, four tables put engagement next to volume, so you can tell high-traffic segments from high-quality ones:
| Table | What it compares |
| ------------------------------------- | ----------------------------------------------------------------------------------- |
| **GA4 acquisition quality by source** | Sessions, key events, key-event rate and engagement per traffic source. |
| **GA4 quality by device** | Engagement and configured key-event performance per device, not just traffic share. |
| **Campaign performance** | Campaign traffic, engagement, key events and attributed revenue. |
| **Traffic by Country (GA4)** | Traffic quality per country. |
### Conversion funnel
A five-stage funnel shows how traffic progresses from arrival to purchase: Landing → Product View → Add to Cart → Checkout → Purchase. Each stage shows the session count and the drop-off percentage to the next step. The steepest drop is the stage most worth optimising.
Typical e-commerce drop-off patterns to watch for:
* **Landing → Product View drop > 70%**: your landing pages are not guiding visitors to products. Improve category pages, featured collections, or search.
* **Product View → Add to Cart drop > 90%**: product pages lack persuasion, review descriptions, images, and pricing.
* **Add to Cart → Checkout drop > 60%**: cart abandonment is high. Look at shipping costs, forced account creation, or cart page load speed.
* **Checkout → Purchase drop > 40%**: something in checkout is failing, payment options, trust signals, or form errors.
This funnel complements the order-based funnel in [Conversions](/en/analytics/conversions) and the GA4 behavioral funnel available there when GA4 is connected.
### Page-level insights
Two tables show how individual pages perform:
* **Top landing pages**: the pages visitors arrive on most, with bounce rate and average session duration per page. High-traffic pages with high bounce rates are your priority fixes.
* **Top exit pages**: the pages visitors leave from most. If checkout is a top exit page, something in the checkout flow is pushing people away.
Landing page and exit page tables depend on page-level tracking data from your platform or GA4. If your integration does not provide this data, these tables will show as not available.
## Benchmarks
Compare your numbers against these ranges to see where you stand.
| Metric | Concerning | Average | Good |
| --------------------- | ---------- | ------- | ------ |
| **Bounce rate** | >55% | 40–55% | \<40% |
| **Session duration** | \<1 min | 1–3 min | 3+ min |
| **Pages per session** | \<2 | 2–4 | 4+ |
## Act on the data
Match your next move to what the numbers show.
Audit your top landing pages in the table below. Check that page titles and meta descriptions match the actual content, poor meta copy is the most common cause of mismatched expectations. In WISEPIM, use [SEO analytics](/en/analytics/seo) to see which product pages have missing or thin meta titles, then bulk-fix them via [enriching products](/en/essentials/enriching-products). Outcome: better-matched visitors mean lower bounce and higher time-on-page.
Mobile sessions with low pages-per-session or short duration usually point to slow page loads or a broken mobile checkout. Prioritise the product pages your mobile visitors land on most (check the Top Landing Pages table), and ensure their images are optimised and descriptions are not truncated on small screens. Outcome: fixing the top three mobile landing pages typically moves overall bounce rate by 2–5 points.
That traffic is not well targeted. Compare the source's conversion rate with your organic baseline. If paid or social traffic converts at under 0.5%, the audience targeting or the landing page is the problem. Use [Marketing Attribution](/en/analytics/marketing-attribution) to see whether the issue is consistent across campaigns from that source, or isolated to one. Outcome: cutting or refocusing under-converting spend shifts budget to sources that already work.
Visitors are not finding enough value to stay. The fastest fix is richer product content on your most-visited pages. Go to [Data Quality](/en/analytics/data-quality) and filter by the categories that get the most traffic to find where descriptions and images are thin, then [enrich them](/en/essentials/enriching-products). Outcome: stores that fill content gaps on their top-traffic pages typically see session duration increase within two to four weeks.
High concentration creates risk and opportunity in equal measure. If that segment converts well, invest more there. If it underperforms, check whether the experience is localised, translated content, local currency, and local payment methods. Use [Customer Insights](/en/analytics/customer-insights) to see whether buyers from that country have comparable LTV to others. Outcome: acting on geographic concentration either captures a larger share of a proven market or surfaces a gap worth fixing.
Low return rates mean your retention is weak. Check whether you have post-purchase email flows set up, and look at [Customer Insights](/en/analytics/customer-insights) to understand repeat purchase rates. Returning visitors convert at 2–3× the rate of new ones, improving retention is usually more cost-effective than buying more new traffic. Outcome: even a 5-point shift in returning visitor share meaningfully improves blended conversion rate.
## Related
See how traffic turns into actual purchases through your conversion funnel.
Understand how visitors find products once they are on your site.
Track which marketing efforts drive the most valuable traffic.
# Bulk Editing
Source: https://docs.wisepim.com/en/essentials/bulk-editing
Update prices, replace text, assign categories, and manage inventory across thousands of products at once. One change applies to your whole selection.
Editing products one by one wastes hours. Bulk editing lets you select many products and apply one change to all of them. Pick an action, set it up, and apply. Done.
## Apply a bulk action
Check individual products, or use filters and select all matching results.
This opens the bulk editing modal.
Search by name, or browse the actions by category.
Set your parameters, then run the action.
You can apply a bulk action to the products you checked, or to every product that matches your current filters, even products on other pages.
Every option you set on a bulk action is now applied exactly as configured, including the fine print like "skip products that already have this", "keep existing values", rounding, and minimum and maximum limits. Bulk actions also run noticeably faster, so large selections finish sooner.
## Available actions
WISEPIM ships with 32 bulk actions, grouped by what they change. Open any card for full details.
### Text and content
Search and replace text across product names, descriptions, or reviewed descriptions. Supports case-sensitive matching.
Convert text to Title Case, UPPERCASE, lowercase, or Sentence case across one or more fields.
Remove leading and trailing spaces from text fields. A quick cleanup for imported data.
Add text to the start or end of any text field across your selection.
Apply your approved terminology across product content so wording stays consistent.
Strip hyperlinks from descriptions and other content, all links or just internal or external.
### Categories and organization
Add products to one or more categories without removing existing assignments.
Remove products from specific categories.
Clear existing category assignments and replace them with new ones.
Choose which category is the primary one for each product.
Attach the selected products as variants of one parent product.
### Pricing and discounts
Adjust prices by percentage or fixed amount. Works for markups, discounts, and cost changes.
Set promotional prices with optional date ranges for flash sales and time-limited offers.
Assign or remove volume discount rules across your selection.
Set cost prices and calculate profit margins.
### Inventory and shipping
Set an exact stock quantity, or add to and subtract from current stock.
Mark products as in stock, out of stock, or on backorder.
Set product weight for shipping calculations.
Update length, width, and height for your products.
Update HS codes, country of origin, and shipping flags.
### Attributes and custom fields
Set the review status of products to Ready, Pending, or Needs Review.
Show or hide products on your storefront and connected channels.
Set a specific value for any product attribute across your selection.
Set any default product field to a specific value, or use a formula.
Run calculations on numeric attributes: add, subtract, multiply, divide, or set a minimum or maximum value.
Round, truncate, or do math on built-in numbers like price, weight, and stock.
Remove values from specific product attributes.
Change units across products, with optional value conversion.
Copy values from one field into another and keep the original.
Move values from one field to another and clear the source field.
Recalculate quality scores, completeness, and recommendations for your selection.
### Danger zone
Permanently delete selected products. This is irreversible, so you confirm before it runs.
Deletion cannot be undone. If you might need the data later, export it first.
## Tips for safe bulk edits
* **Start small.** Test an action on a handful of products first. Check the result before you apply it to your full catalog.
* **Filter first.** Narrow your product list with filters before you run an action, so you only change the products you mean to.
* **Watch the progress.** Large operations run in the background. Track them in the [Process Tracker](/en/other-features/process-tracker).
## Related
Filter, sort, and select products before you bulk edit them.
Use AI to fill in titles, descriptions, and attributes at scale.
Bring products into WISEPIM from CSV, Excel, or an integration.
Monitor background jobs and check the status of large bulk edits.
The bulk actions to run, in the right order, on someone else's mess.
# Append/Prepend Text
Source: https://docs.wisepim.com/en/essentials/bulk-editing/append-prepend
Bulk add text to the start or end of product fields. Insert prefixes, suffixes, and dynamic variables like SKU, brand, or category in one pass.
Add the same text to the start or end of a field across many products at once. Use **prepend** to add text to the beginning, or **append** to add it to the end. You can mix in dynamic variables, so each product gets text built from its own data.
This is the fast way to apply brand prefixes, SEO tags, care instructions, or specs blocks to your whole catalog without editing products one by one.
## Add text to your products
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Append/Prepend" or find it under **Text & Content**.
Pick **beginning** (prepend) or **end** (append) of the field.
Type the text to add. Add variables for values that change per product.
Select which fields to change, then click **Apply**.
## Options
| Option | What it does |
| ----------------- | ---------------------------------------------- |
| **Operation** | Add to the beginning (prepend) or end (append) |
| **Text** | The text to insert. Supports variables |
| **Target fields** | Which product fields to change |
## Personalize text with variables
The text input supports [Content Logic](/en/workflows/content-logic) variables. Each product gets text built from its own data, so `{brand}` becomes "Nike" for one product and "Adidas" for another.
There are two ways to add a variable:
* Type `{{` to open the autocomplete dropdown.
* Click a quick-insert chip below the input.
**Quick-insert chips:**
| Chip | Inserts |
| ------------ | --------------------- |
| `{sku}` | Product SKU |
| `{brand}` | Brand name |
| `{price}` | Product price |
| `{stock}` | Stock quantity |
| `{category}` | Primary category name |
You can also use any [Content Logic](/en/workflows/content-logic) variable with the `{{scope.key}}` syntax:
| Scope | Example variable | Resolves to |
| ---------- | ---------------------------------------------------------- | --------------------------------- |
| `product` | `{{product.name}}`, `{{product.sku}}`, `{{product.price}}` | Product-level data |
| `global` | `{{global.company_name}}`, `{{global.warranty_text}}` | Shared values across all products |
| `brand` | `{{brand.tagline}}`, `{{brand.origin_story}}` | Brand-specific content |
| `category` | `{{category.care_instructions}}` | Category-specific content |
Define your own global, brand, and category variables in [Content Logic](/en/workflows/content-logic), then reference them here.
## Examples
**Prepend a brand prefix to product names:**
```
{brand} -
```
> "Nike - " + "Air Max 90" → **"Nike - Air Max 90"**
**Append a promotional suffix to descriptions:**
```
\n\nOrder now at {{global.website_url}} - {{global.free_shipping_text}}
```
> Adds a call-to-action with your store URL and shipping message to every description.
**Prepend an SKU tag to SEO titles:**
```
[{{product.sku}}]
```
> "\[NK-AM90] " + "Air Max 90 Running Shoes" → **"\[NK-AM90] Air Max 90 Running Shoes"**
**Append category care instructions to short descriptions:**
```
\n\nCare: {{category.care_instructions}}
```
> Each product gets the care instructions for its category: "Machine wash cold" for apparel, "Wipe with dry cloth" for electronics.
**Append a standard specs block to descriptions:**
```
\n\nSpecifications:\n- Material: {{category.material}}\n- Weight: {{product.weight}} {{product.weight_unit}}\n- HS Code: {{product.hs_code}}\n- Country of Origin: {{product.country_of_origin}}
```
> Adds a consistent specifications footer to every description. Purchasing teams find the technical data in the same place every time.
**Append compliance info per brand:**
```
\n\n{{brand.compliance_text}}
```
> Each product gets its manufacturer's compliance statement: "ISO 9001:2015 certified. REACH compliant." for one brand, "CE marked. RoHS compliant. UL listed." for another. Define these once as [Content Logic](/en/workflows/content-logic) brand variables.
**Prepend MPN to product names for standardization:**
```
{{product.manufacturer_part_number}} -
```
> "6205-2RS-SKF - " + "Industrial Ball Bearing" → **"6205-2RS-SKF - Industrial Ball Bearing"**. Now every product is searchable by MPN in your catalog and downstream channels.
**Append ordering info to short descriptions:**
```
\n\nMOQ: {{category.moq}} units | Lead time: {{global.lead_time_text}} | SKU: {{product.sku}}
```
> "MOQ: 100 units | Lead time: 3-5 business days | SKU: SS-HB-M1050". Buyers get the key ordering details at a glance.
Combine static text with variables. For example, append `\n\nPart of the {{brand.tagline}} collection` to every description.
## Related
Swap text inside existing fields, not just at the start or end.
Overwrite a field with a fixed value across products.
Build the global, brand, and category variables you use here.
Browse every bulk action available in WisePIM.
# Assign to Categories
Source: https://docs.wisepim.com/en/essentials/bulk-editing/assign-categories
Bulk add products to one or more categories without removing existing ones. Parent categories are selected for you, and conflicts get flagged.
Add products to one or more categories in a single pass. By default this adds to their current categories instead of replacing them, so nothing you already set up gets lost.
Use this to organize new products or build out a category as your catalog grows.
## Assign products to categories
Check the products you want to categorize. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Assign to Categories" or find it under **Categories & Organization**.
Use the category tree to select one or more categories. Parent categories are selected for you by default.
Change the options below if you need to, then click **Apply**.
## Options
| Option | What it does | Default |
| --------------------------------------------- | ------------------------------------------------------------------- | ------- |
| **Categories** | The categories to assign, picked from the category tree | None |
| **Auto-select parent categories** | Includes every parent category when you pick a child | On |
| **Skip products already in these categories** | Leaves products that already have the selected categories untouched | Off |
| **Keep existing category assignments** | Adds to current categories instead of replacing them | On |
## Tips
* Keep **Auto-select parent categories** on so products stay properly nested in the tree. Most e-commerce platforms need this.
* WisePIM flags parent-child conflicts, so you know when a selection creates unexpected nesting.
* Filter your product list first. For example, filter by brand, then assign all matching products to a brand category in one go.
## Related
Take products out of specific categories in bulk.
Clear current categories and set new ones in one step.
Choose which category is the main one for each product.
Browse every bulk action available in WisePIM.
# Change Price
Source: https://docs.wisepim.com/en/essentials/bulk-editing/change-price
Bulk adjust product prices by a percentage or fixed amount. Add markups or discounts with optional rounding and min/max guardrails.
Change prices across many products at once. Adjust by a percentage or a fixed euro amount, then add guardrails so prices stay in a safe range.
Use this for price increases, markdowns, or cost-based adjustments without editing products one by one.
## Change prices in bulk
Check the products you want to reprice. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Change Price" or find it under **Pricing & Discounts**.
Pick **Percentage** to change by a % (for example +10% or -15%), or **Fixed Amount** to add or subtract a set euro amount.
Optionally set a minimum and maximum price, turn on rounding, and choose whether to update cost prices too.
Check the impact calculator, which shows what happens to a €100 product, then click **Apply**.
## Options
| Option | What it does | Default |
| ------------------------------------------ | ------------------------------------------------------------------------- | ------- |
| **Change type** | Percentage (%) or Fixed Amount (€) | None |
| **Value** | The percentage or amount to apply. Positive increases, negative decreases | None |
| **Minimum price** | Prices won't drop below this value | None |
| **Maximum price** | Prices won't rise above this value | None |
| **Round prices** | Rounds to the nearest €0.05 for cleaner pricing | Off |
| **Also update cost prices proportionally** | Applies the same change to cost prices so margins stay consistent | Off |
## Tips
* Use the **impact calculator** to check the change before you apply it. It shows the result on a €100 example product.
* Set a **minimum price** when applying discounts. This stops prices from dropping below your cost.
* Turn on **Also update cost prices proportionally** for catalog-wide changes. This keeps your margin calculations accurate.
## Related
Set cost prices or hit a target margin across products.
Apply a sale price with an optional start and end date.
Add tiered pricing based on quantity.
Browse every bulk action available in WisePIM.
# Change Unit of Measure
Source: https://docs.wisepim.com/en/essentials/bulk-editing/change-uom
Bulk switch units of measure across products. Convert the values automatically (kg to lb) or just relabel them, with the conversion factor worked out for you.
Switch the unit of measure (UOM) across many products at once. WisePIM works out the conversion factor for you, so you never look up rates by hand.
You can do this two ways:
* **Convert values:** recalculate the numbers, for example 100 kg becomes 220.46 lb.
* **Label only:** change the unit label and leave the numbers as they are.
## Change the unit of measure
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Unit of Measure" or find it under **Attributes & Custom Fields**.
Choose the code set that holds the units you want to convert between. Each one shows its category and unit count.
Set the **From** unit (current) and the **To** unit (target).
Decide whether to convert the values or only change the label, then click **Apply**.
## Options
| Option | What it does | Default |
| -------------------------- | ----------------------------------------------------------------------------- | ------- |
| **UOM code set** | The unit system to use (for example Weight, Length) | None |
| **From unit** | The current unit to convert from | None |
| **To unit** | The target unit to convert to | None |
| **Convert values** | Applies the conversion factor to the actual numbers | On |
| **Label only** | Changes the unit label without converting values (when Convert values is off) | None |
| **Skip empty values** | Leaves products with no value untouched | On |
| **Round converted values** | Rounds the result after conversion | Off |
### Conversion preview
The preview shows an example conversion with the factor:
> 100 kg → 220.46 lb (×2.2046)
## When to use each mode
* Use **Convert values** (the default) when you actually switch unit systems. It recalculates the numbers with the conversion factor.
* Use **Label only** (turn off Convert values) when the numbers are already right but the unit label is wrong. This is common after an import that set the wrong unit.
## Related
Set a fixed value on a custom attribute across products.
Add, subtract, multiply, or divide numeric fields in bulk.
Set or adjust product weights across the catalog.
Browse every bulk action available in WisePIM.
# Change Visibility
Source: https://docs.wisepim.com/en/essentials/bulk-editing/change-visibility
Bulk show or hide products on your storefront and connected channels. Take a batch off sale, or publish a new range, in one action.
Control whether products are shown to shoppers. **Change Visibility** flips the visibility of every product in your selection at once, so you can pull a discontinued range out of sight or publish a new collection the moment it is ready.
Hiding a product does not delete anything. The product, its content, and its history all stay in WISEPIM. It simply stops being shown on your storefront and the channels you export to.
## Change visibility in bulk
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Change Visibility".
Choose whether the selected products should be shown or hidden.
Click **Apply** to update your selection.
## What visibility affects
| Where | What changes |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Your storefront** | Hidden products are not shown to shoppers. |
| **Connected channels** | Exports and feeds follow the visibility flag, so hidden products stop being published. |
| **WISEPIM** | Nothing is removed. Hidden products stay in your catalog, keep their data, and remain searchable and filterable. |
## When to use it
* **Retiring a range.** Hide last season's products instead of deleting them, so you keep the data and can bring them back later.
* **Preparing a launch.** Import and enrich a new collection while it is hidden, then make the whole batch visible on launch day.
* **Pausing problem products.** Hide products that failed a quality check until the data is fixed, so nothing incomplete reaches a channel.
Pair this with a filter. Filter for products with no image or an empty description, hide them in one pass, then unhide them after you enrich them. Your channels only ever see complete listings.
Visibility is a separate signal from review status. Review status says whether a product is *checked*; visibility says whether it is *shown*. Use [Update Status](/en/essentials/bulk-editing/update-status) for the first and this action for the second.
## Related
Set the review status of products to Ready, Pending, or Needs Review.
Set any default product field to a specific value or formula.
Push your catalog to connected platforms and files.
Browse every bulk editing action by category.
# Clear Attribute Values
Source: https://docs.wisepim.com/en/essentials/bulk-editing/clear-attribute
Bulk clear custom attribute values from products. Clear specific attributes, all of them, or everything in a product family, with a backup option.
Remove values from custom product attributes in bulk. Clear specific attributes, all custom attributes, or every attribute that belongs to a product family.
Use this to clean up bad imports, retire attributes you no longer use, or reset data before re-enriching it.
This permanently removes the values. There is no undo. Turn on **Create backup of cleared values** before clearing many attributes at once.
## Clear attribute values
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Clear Attribute" or find it under **Attributes & Custom Fields**.
Decide whether to clear specific attributes, all custom attributes, or attributes by product family.
If you chose specific attributes, pick which ones to clear.
Review the summary of how many attributes and products are affected, then click **Apply**.
## Clear modes
| Mode | What it clears |
| -------------------------------------- | ------------------------------------------------------- |
| **Clear specific attributes** | The individual attributes you select |
| **Clear all custom attributes** | Every custom attribute value |
| **Clear attributes by product family** | Every attribute that belongs to a chosen product family |
## Options
| Option | What it does | Default |
| ---------------------------------------- | ---------------------------------------------- | ------- |
| **Require confirmation before clearing** | Adds an extra confirmation step before it runs | On |
| **Skip required attributes** | Leaves attributes marked as required untouched | On |
| **Create backup of cleared values** | Saves the values before clearing them | Off |
## Tips
* Turn on **Create backup of cleared values** before any large clearing job. It is your safety net if you need to restore data.
* Keep **Skip required attributes** on so you don't accidentally remove values your product data depends on.
* Read the summary carefully before you confirm. It shows the total attributes to clear and how many products are affected.
## Related
Fill an attribute with a fixed value instead of clearing it.
Fix bad values in place instead of wiping them.
Clean up stray spaces left over from imports.
Browse every bulk action available in WisePIM.
# Convert Numbers
Source: https://docs.wisepim.com/en/essentials/bulk-editing/convert-numbers
Round, truncate, or run math on built-in numeric fields like price, weight, and stock. Clean up messy decimals or rescale values in bulk.
Transform the numbers on your products in one action. Convert Numbers rounds, truncates, or runs arithmetic on built-in numeric fields like price, weight, and stock. Use it to clean up long decimals from an import, rescale values, or convert units the simple way (for example, divide every weight by 1000 to go from grams to kilograms).
A live preview shows exactly what your chosen operation does to a sample value, so you can check the result before you apply.
Convert Numbers works on **built-in numeric fields** (price, cost, weight, dimensions, stock) and your custom numeric attributes. To run math on a custom numeric attribute on its own, [Numeric Operations](/en/essentials/bulk-editing/numeric-operations) is the more focused tool.
## Convert numbers
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Convert Numbers" or find it under **Attributes & Custom Fields**.
Choose one or more fields to convert: price, special price, cost, weight, length, width, height, stock quantity, low stock threshold, or a custom numeric attribute.
Pick how to transform the values, then enter any decimals or amount the operation needs.
The live preview shows the result on a sample value. When it looks right, click **Apply**.
## Operations
| Operation | What it does |
| ----------------------- | ------------------------------------------------------------- |
| **Round to N decimals** | Standard rounding (half up) to the number of decimals you set |
| **Round up (ceiling)** | Always rounds away from zero |
| **Round down (floor)** | Always rounds toward zero |
| **Truncate decimals** | Drops digits without rounding |
| **Multiply by** | Multiplies each value by your factor |
| **Divide by** | Divides each value by your factor |
| **Add** | Adds a fixed amount |
| **Subtract** | Subtracts a fixed amount |
| **Increase by %** | Adds a percentage (10 means +10%) |
| **Decrease by %** | Removes a percentage (10 means -10%) |
| **Absolute value** | Turns negative numbers positive |
## Options
| Option | What it does | Default |
| ------------------------------------------- | --------------------------------------------------------------- | ------- |
| **Target numeric fields** | The built-in or custom numeric fields to convert | None |
| **Decimals** | How many decimals to keep, for the rounding operations (0 to 6) | 0 |
| **Skip products with zero or empty values** | Leaves empty values alone and avoids dividing by zero | On |
Stock quantity and low stock threshold are whole-number fields. If a conversion produces a decimal, the result is rounded to a whole number automatically.
## When to use it
* **Clean up imported decimals.** A feed that brings in prices like 19.9900 can be rounded to two decimals in one pass.
* **Rescale a field.** Multiply or divide to convert grams to kilograms, or to adjust values that came in at the wrong scale.
* **Tidy stock numbers.** Round odd stock values to whole units across the catalog.
Watch the live preview as you set up the operation. It shows the result on a sample number, so you catch mistakes before they touch your products.
## Related
Run math on a single custom numeric attribute.
Adjust prices by percentage or fixed amount with price guards.
Switch units with the conversion factor worked out for you.
Browse every bulk editing action by category.
# Copy Field Values
Source: https://docs.wisepim.com/en/essentials/bulk-editing/copy-field-values
Copy values from one product field into another across your selection. The source field keeps its value, so it is a safe way to seed or back up a field.
Copy the value from one field into another across many products at once. Copy Field Values reads a source field and writes it to a target field, while leaving the source field untouched. Use it to seed a new field from an existing one, back up a value before you change it, or fan a value out to a field that another channel needs.
WisePIM checks that the two fields are compatible and tells you how the values will convert (for example, a number copied into a text field becomes text). If the types do not mix at all, you will see a clear warning before you apply.
## Copy field values
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Copy Field Values" or find it under **Attributes & Custom Fields**.
Choose the field to copy from. This is the field whose values get read.
Choose the field to copy into. WisePIM shows whether the two fields are compatible and how values will convert.
Decide whether to write only into empty target fields, then click **Apply**.
## Options
| Option | What it does | Default |
| --------------------------------- | --------------------------------------------------------- | -------- |
| **Source field** | The field to copy values from. It is left unchanged | Required |
| **Target field** | The field to copy values into | Required |
| **Only if target field is empty** | Skips products where the target field already has a value | Off |
You can pick from a wide range of fields: text and SEO fields, identifiers like SKU and EAN, numeric fields like price and weight, enum fields like status and review status, boolean flags, and your custom attributes.
### Type compatibility
When the source and target are different types, WisePIM converts the value and tells you how. For example:
* A number copied into a text field becomes text.
* A decimal copied into a whole-number field is rounded.
* Multi-line text copied into a single-line field is flattened.
If two fields cannot be converted at all, the action flags them as incompatible so you can choose a different target.
## When to use it
* **Seed a new field.** Copy your description into the enriched description to give enrichment a starting point.
* **Back up a value.** Copy a field into a custom attribute before you run a risky change, so you can restore it if needed.
* **Feed a channel.** Copy a value into the exact field a marketplace or feed expects.
Turn on **Only if target field is empty** to fill in gaps without overwriting work that is already there. It is the safe choice when you only want to top up missing values.
Copy keeps the source field as it is. To clear the source after transferring, use [Move Field Values](/en/essentials/bulk-editing/move-field-values) instead.
## Related
Transfer values and clear the source field.
Set a default product field to a specific value or formula.
Set a fixed value on a custom attribute across products.
Browse every bulk editing action by category.
# Update Cost/Margins
Source: https://docs.wisepim.com/en/essentials/bulk-editing/cost-margins
Bulk update cost prices and profit margins. Set costs directly, hit a target margin, or apply a markup percentage across products.
Update cost prices across many products at once. Set costs directly, work back from a target margin, or apply a markup. WisePIM does the math for each product.
Use this to refresh costs after a supplier price change, or to lock in a consistent margin across your catalog.
## Update costs and margins
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**. Search for "Cost" or "Margins" or find it under **Pricing & Discounts**.
Pick how to calculate costs: direct update, target margin, or markup percentage.
Set the amount, percentage, or target for the mode you chose.
Set rounding and scope, then click **Apply**.
## Update modes
| Mode | What it does | Formula |
| ---------------------- | --------------------------------------------------------------- | --------------------------------- |
| **Update cost prices** | Set, increase, or decrease cost by a fixed amount or percentage | Direct value change |
| **Set target margin** | Works the cost back from the selling price to hit a margin | Cost = Price × (1 - Margin / 100) |
| **Apply markup** | Works the cost back from the selling price using a markup | Cost = Price / (1 + Markup / 100) |
For **Update cost prices**, you can choose:
* **Fixed:** set or adjust by a specific euro amount.
* **Percentage:** adjust by a percentage of the current cost.
* **Set Value:** overwrite with an exact cost.
## Options
| Option | What it does | Default |
| --------------------------------------------- | -------------------------------------- | ------- |
| **Only update products with existing prices** | Skips products without a selling price | On |
| **Round costs** | Rounds to the nearest €0.01 | Off |
**Markup** and **margin** are not the same. A 50% markup on a €100 cost gives a €150 price. A 50% margin on a €150 price gives a €75 cost.
## Tips
* Use **Set target margin** for consistent profitability. Set a 40% margin and costs are worked back from the selling price.
* Keep **Only update products with existing prices** on so you don't set costs on products that aren't priced yet.
## Related
Adjust selling prices by a percentage or fixed amount.
Apply a sale price with an optional start and end date.
Add tiered pricing based on quantity.
Browse every bulk action available in WisePIM.
# Delete Products
Source: https://docs.wisepim.com/en/essentials/bulk-editing/delete-products
Permanently delete many products at once, with a confirmation step that prevents accidental mass removal.
Remove many products from your catalog in one action. Use this to clear out discontinued lines, test data, or duplicates after a messy import.
Deletion is permanent. Deleted products cannot be recovered. If there's any chance you'll need the data later, [export your products](/en/essentials/exporting-products) first.
## Delete products in bulk
Check the products you want to delete, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Delete Products" or find it under **Danger zone**.
Check the number of products that will be deleted, then confirm. You must confirm explicitly before the action runs.
## What gets deleted
Deleting a product removes everything attached to it:
* The product record and all its field values
* Custom attribute values
* Category assignments
* Pricing and inventory data
## Tips
* Export your products before a bulk delete if there's any chance you'll need the data later.
* Use filters to narrow your selection. Double-check that only the intended products are selected before you confirm.
* For large deletions, follow progress in the [Process Tracker](/en/other-features/process-tracker).
## Related
Back up your data before deleting anything.
Hide products instead of deleting them.
# Enforce Dictionary
Source: https://docs.wisepim.com/en/essentials/bulk-editing/enforce-dictionary
Apply your approved terminology across product content in bulk. Replace off-brand or inconsistent terms with the wording you have agreed on.
Keep your wording consistent across the whole catalog. Enforce Dictionary takes the terms in your translation dictionary and replaces them across product content, so every product uses the language you have approved. Use it to fix off-brand wording, enforce house style, or standardize terminology after an import or a translation pass.
It works from the dictionary you set up in **Settings → Translation → Dictionary**. Each dictionary entry has a source term and the term it should become. This action finds the source terms in your selected products and swaps in the approved version. Entries marked **Keep as-is** (the dictionary's don't-translate flag) are skipped automatically.
## Enforce your dictionary
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Enforce Dictionary" or find it under **Text & Content**.
WisePIM loads your active dictionary and shows each term and its replacement. Set up your terms first in **Settings → Translation → Dictionary** if the list is empty.
Pick which fields to scan: product name, descriptions, SEO fields, identifiers, custom text attributes, and any translated fields per language.
Toggle case-sensitive matching if you need it, then click **Apply**.
## Options
| Option | What it does | Default |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| **Target fields** | The fields to scan and update. Grouped into Content Fields, Identifier Fields, custom attributes, and per-language Translated Fields | All fields |
| **Case sensitive matching** | When on, "Product" will not match "product" | Off |
### Fields you can target
* **Content fields:** product name, description, enriched description, short description, enriched short description, SEO title, SEO description, meta keywords.
* **Identifier fields:** SKU, EAN, UPC, MPN, brand, supplier.
* **Custom attributes:** any text or textarea custom attribute, grouped by attribute group.
* **Translated fields:** the same content fields for each language you have set up, so you can enforce terminology per locale.
## When to use it
* **Brand and house style.** Replace casual or legacy wording with your approved terms across thousands of products at once.
* **After a translation pass.** Lock in the correct term for a concept so the whole catalog reads consistently in each language.
* **After an import.** A supplier feed often uses its own vocabulary. Enforce your dictionary to bring it in line with how you describe products.
Build your dictionary once in **Settings → Translation → Dictionary**, then run Enforce Dictionary whenever you bring in new products. Your terminology stays consistent without manual editing.
Only active dictionary entries are applied. Entries marked **Keep as-is** are left out, so protected names and trademarks stay exactly as they are.
## Related
Replace a single phrase across many products at once.
Fix inconsistent capitalization across text fields.
Strip hyperlinks from product content in bulk.
Browse every bulk editing action by category.
# Find and Replace
Source: https://docs.wisepim.com/en/essentials/bulk-editing/find-replace
Find and replace text across many products at once: fix typos, update brand names, and clean up imported data.
Search and replace text across many products at once. Use it to fix typos, update brand names, swap out old terms, or clean up imported data.
## Run a find and replace
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Find and Replace" or find it under **Text & Content**.
Type the text you want to find, and what to replace it with. Leave the replacement empty to simply remove the found text.
Select which fields to search: product name, description, enriched description, SEO fields, SKU, EAN, UPC, MPN, brand, supplier, or custom text attributes.
Toggle case sensitivity, regex, or whole-word matching as needed, then click **Apply**.
## Configuration options
| Option | Description | Default |
| --------------------------- | ------------------------------------------------------------------------------------ | ------- |
| **Find text** | The text to search for (required) | No |
| **Replace with** | The replacement text. Leave empty to delete the matched text | Empty |
| **Case sensitive** | Match exact uppercase/lowercase | Off |
| **Use regular expressions** | Enable regex pattern matching in the search field | Off |
| **Match whole words only** | Only match when the search text appears as a complete word, not part of another word | Off |
| **Target fields** | Which product fields to search and replace in | No |
## Using Content Logic variables in replacements
The **Replace with** field supports [Content Logic](/en/workflows/content-logic) variables. Type `{{` to open the autocomplete dropdown and insert dynamic values. This means your replacement text can be different for every product.
| Scope | Example variable | Resolves to |
| ---------- | ------------------------------------------------------------ | --------------------------------- |
| `product` | `{{product.name}}`, `{{product.brand}}`, `{{product.price}}` | Product-level data |
| `global` | `{{global.company_name}}`, `{{global.warranty_text}}` | Shared values across all products |
| `brand` | `{{brand.tagline}}` | Brand-specific content |
| `category` | `{{category.material_description}}` | Category-specific content |
### Examples
**Replace a placeholder with the actual brand name:**
* Find: `[BRAND]`
* Replace with: `{{product.brand}}`
> Every product's `[BRAND]` placeholder becomes its actual brand, such as "Nike" or "Adidas".
**Swap a generic call-to-action with a dynamic one:**
* Find: `Buy now`
* Replace with: `Buy {{product.name}} now at {{global.website_url}}`
> "Buy now" → "Buy Air Max 90 now at shop.example.com"
**Replace an outdated warranty line with a variable:**
* Find: `1-year warranty included`
* Replace with: `{{global.warranty_text}}`
> Every occurrence gets replaced with whatever you've defined in your [Content Logic globals](/en/workflows/content-logic). Update the variable once, and it applies everywhere.
### B2B examples
**Standardize inconsistent unit formats:**
* Find: `kilogram` (also run for `Kilogram`, `KG`, `kgs`, `Kgs`)
* Replace with: `kg`
> Normalizes weight units across your catalog so specs read consistently: "0.85 kg" instead of a mix of "0.85 kilogram", "0.85 KG", "0.85 Kgs".
**Replace a static lead time with a dynamic variable:**
* Find: `Delivery: 5-7 days`
* Replace with: `Delivery: {{global.lead_time_text}}`
> Swaps hardcoded lead times for a [Content Logic](/en/workflows/content-logic) variable. When your lead times change, update the variable once and every product description stays current.
**Swap generic compliance text for brand-specific certifications:**
* Find: `Meets industry standards`
* Replace with: `{{brand.compliance_text}}`
> Each product gets the actual certifications for its manufacturer: "ISO 9001:2015 certified. REACH compliant." for one brand, "CE marked. RoHS compliant." for another.
**Replace informal product descriptions with structured specs (regex):**
* Find: `weighs about \d+` (with **Use regular expressions** enabled)
* Replace with: `Weight: {{product.weight}} {{product.weight_unit}}`
> "weighs about 500" → "Weight: 0.5 kg". Replaces vague copy with the actual product weight from your data.
Content Logic variables are especially powerful with Find and Replace. You can swap static text for dynamic content that stays up to date automatically. Define your variables in [Content Logic](/en/workflows/content-logic), then reference them here.
## Tips
* Leave **Replace with** empty to bulk-delete a word or phrase from all selected products.
* Enable **Regular expressions** for pattern-based replacements. For example, replace `\d{4}` to remove all 4-digit numbers.
* Test on a small selection first when using regex to make sure the pattern matches what you expect.
* Combine regex with Content Logic variables: find a pattern and replace it with dynamic, per-product content.
## Related
Define the variables you can drop into replacements.
Fix inconsistent capitalization across text fields.
Remove stray spaces left over from imports.
Add text to the start or end of a field.
# Group as Variants
Source: https://docs.wisepim.com/en/essentials/bulk-editing/group-as-variants
Attach many products to one parent product as its variants. Turn a flat list of sizes and colors into a single configurable product in one action.
Imports often arrive flat: every size and every color is its own separate product. **Group as Variants** fixes that. Select the products that belong together, pick the parent they belong to, and WISEPIM attaches them all as variants of that parent.
The result is one configurable product with its variants underneath, instead of twenty look-alike rows. Shoppers get a single product page with a size or color picker, and your channels get a clean, correctly structured listing.
## Group products as variants
Check the individual products that should become variants. Leave the parent out of the selection - you pick it in the next step, and a selected product can't be its own parent.
Click **Bulk Editing**, then pick the **Group as Variants** card (under Categories & Organization).
The **Parent product** search shows configurable products by default. Turn on **Show all products, not just configurable ones** to pick a simple product instead - WISEPIM warns you that saving will convert it to a configurable (parent) product.
Click **Apply Changes**. The selected products become variants of the parent, and a toast confirms how many were grouped.
This action works on a **page selection only** - it is deliberately not available when you select all products across all pages. Grouping every filtered product under one parent is rarely intended, so WISEPIM blocks it rather than letting a stray filter create a 2,000-variant product.
You can attach up to **500 products** in one run. If your selection is larger, split it into batches and run the action more than once.
## The parent must be configurable
Only a configurable product can have variants. If the parent you pick is a simple product, WISEPIM converts it to a configurable product as part of the action - the amber warning in the modal tells you before you apply.
Some products can never be a parent, and the action fails with a clear error instead of guessing:
| Rejected as parent | Why |
| ----------------------------------- | ----------------------------------------------------------------- |
| A product that is already a variant | Variants cannot be nested. Pick the top-level parent instead. |
| A bundle or grouped product | These group products for sale, which is a different relationship. |
| A virtual product | Virtual products do not carry a variant structure. |
Products **in your selection** are handled more gently: anything that can't become a variant - a configurable product, or a product that already has variants of its own - is silently skipped, and the toast reports how many were skipped. The rest of the selection still goes through.
## When to use it
* **After a flat import.** A supplier file with one row per size becomes one configurable product per style. (The [CSV importer](/en/essentials/importing-products) can also detect and link variants during the import itself.)
* **Cleaning up duplicates.** Products that look like the same item varying by one attribute are usually variants, not separate products.
* **Preparing for a marketplace.** Channels expect variants under a parent. Grouping them first avoids rejected listings.
Set up a [product family](/en/products/product-families) with a variant axis (size, color) before you group. The family tells WISEPIM which attribute makes each variant different, so the variant picker on your storefront comes out right.
To attach a **single** product, use the **Parent product** field on its Basic Info tab (in the [full editor](/en/products/editing-products) or Quick Edit) - that field appears on simple and virtual products. There is no bulk *un*-group action: detach variants one at a time by clearing that field, or from the parent's Relationships tab.
## Related
Define the attributes and variant axes that structure your products.
Link variants, bundles, and related products on a single product.
Find parents and variants with the Has Variants and Is Variant filters.
Browse every bulk editing action by category.
# Move Field Values
Source: https://docs.wisepim.com/en/essentials/bulk-editing/move-field-values
Move values from one product field to another across your selection. The source field is cleared, so it is perfect for migrating data between fields.
Move the value from one field into another across many products at once. Move Field Values reads a source field, writes it to a target field, and then clears the source field. Use it to migrate data when you reorganize your fields, consolidate two fields into one, or shift a value into the field a channel expects.
It works like [Copy Field Values](/en/essentials/bulk-editing/copy-field-values), with one key difference: after the value is transferred, the source field is emptied. WisePIM checks that the two fields are compatible and shows you how values will convert before you apply.
Moving clears the source field for every affected product. If you might need the original values later, [export your products](/en/essentials/managing-products) first, or use [Copy Field Values](/en/essentials/bulk-editing/copy-field-values) to keep the source intact.
## Move field values
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Move Field Values" or find it under **Attributes & Custom Fields**.
Choose the field to move from. This field will be cleared after the move.
Choose the field to move into. WisePIM shows whether the two fields are compatible and how values will convert.
Decide whether to write only into empty target fields, then click **Apply**.
## Options
| Option | What it does | Default |
| --------------------------------- | ----------------------------------------------------------- | -------- |
| **Source field** | The field to move values from. It is cleared after the move | Required |
| **Target field** | The field to move values into | Required |
| **Only if target field is empty** | Skips products where the target field already has a value | Off |
You can pick from a wide range of fields: text and SEO fields, identifiers like SKU and EAN, numeric fields like price and weight, enum fields like status and review status, boolean flags, and your custom attributes.
### Type compatibility
When the source and target are different types, WisePIM converts the value and tells you how. For example, a number moved into a text field becomes text, and a decimal moved into a whole-number field is rounded. If two fields cannot be converted at all, the action flags them as incompatible so you can choose a different target.
## When to use it
* **Migrate to a new field.** When you replace one custom attribute with another, move the values across so nothing is left behind.
* **Consolidate fields.** Move a legacy field into the one you actually use, then leave the old field clean and empty.
* **Reorganize after an import.** If a feed lands data in the wrong field, move it to the right one in a single pass.
Turn on **Only if target field is empty** to avoid overwriting values that are already in the target. Products that already have a target value are skipped, and their source value is left in place.
## Related
Transfer values and keep the source field unchanged.
Remove values from specific product attributes.
Set a default product field to a specific value or formula.
Browse every bulk editing action by category.
# Numeric Operations
Source: https://docs.wisepim.com/en/essentials/bulk-editing/numeric-operations
Do math on numeric attributes across many products at once: add, subtract, multiply, divide, adjust by percentage, or cap values to a range.
Do math on numeric custom attributes across many products at once. Add, subtract, multiply, divide, adjust by a percentage, or cap values to a range.
## Run a numeric operation
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Numeric Operations" or find it under **Attributes & Custom Fields**.
Choose from your numeric, decimal, or integer custom attributes.
Select the math operation and enter the operand value.
Review the operation preview, then click **Apply**.
## Configuration options
### Operations
| Operation | Description | Example (value = 10) |
| --------------------- | ----------------------------------------------- | ------------------------ |
| **Add** | Add a value to the current number | 100 → 110 |
| **Subtract** | Subtract a value from the current number | 100 → 90 |
| **Multiply** | Multiply the current number by a value | 100 → 1000 |
| **Divide** | Divide the current number by a value | 100 → 10 |
| **Increase by %** | Increase by a percentage | 100 → 110 |
| **Decrease by %** | Decrease by a percentage | 100 → 90 |
| **Set minimum value** | Set a floor, so values below this are raised | 50 → 50 (if min = 50) |
| **Set maximum value** | Set a ceiling, so values above this are lowered | 150 → 150 (if max = 150) |
### Options
| Option | Description | Default |
| ------------------------------------------- | -------------------------------------------------------------- | ------- |
| **Round result** | Round to the nearest whole number | Off |
| **Skip products with zero or empty values** | Don't apply the operation to products with no value or zero | On |
| **Prevent division by zero** | Skip division when the operand is zero (shown for divide only) | On |
## Tips
* The operation preview shows the result on an example value (100), so you can verify the calculation before applying.
* Use **Set minimum value** and **Set maximum value** to cap values within a range. For example, keep a rating attribute between 1 and 5.
* **Skip products with zero or empty values** is on by default to prevent unintended results like multiplying zero.
## Related
Adjust prices in bulk with percentage or fixed changes.
Set a fixed value for an attribute instead of calculating it.
# Recalculate Data Quality
Source: https://docs.wisepim.com/en/essentials/bulk-editing/recalculate-quality
Refresh quality scores, completeness percentages, and improvement suggestions for many products at once after bulk changes.
Refresh quality scores, completeness percentages, and improvement recommendations for many products at once. Run it after bulk changes so your quality metrics match the current state of your data.
## Recalculate quality scores
Check the products you want to recalculate, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Recalculate" or find it under **Attributes & Custom Fields**.
Click **Apply**. No additional configuration is needed.
## What gets recalculated
* **Quality score**: overall data quality rating based on completeness and accuracy
* **Completeness percentage**: how many required and recommended fields are filled in
* **Recommendations**: actionable suggestions for improving product data
## Tips
* Run this after bulk imports or large enrichment operations to get up-to-date quality metrics.
* Quality scores normally recalculate on their own when you edit a single product, but bulk actions may not refresh them right away.
* Use quality scores to spot products that need work. Filter by low scores and focus your enrichment there.
## Related
See completeness and quality trends across your catalog.
Fill gaps with AI to raise your quality scores.
# Remove Categories
Source: https://docs.wisepim.com/en/essentials/bulk-editing/remove-categories
Remove many products from categories at once: clear specific categories, all of them, or everything except the ones you keep.
Remove many products from categories at once. Clear specific categories, remove every assignment, or keep only the categories you choose and drop the rest.
## Remove products from categories
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Remove Categories" or find it under **Categories & Organization**.
Select how you want to remove categories: remove all, remove specific ones, or remove all except selected.
If removing specific categories, select them from the tree. Then click **Apply**.
## Configuration options
| Option | Description |
| -------------------------------- | ------------------------------------------------------------------------ |
| **Remove all categories** | Clear every category assignment from the selected products |
| **Remove specific categories** | Pick which categories to remove using the category tree |
| **Remove all except selected** | Keep only the categories you select, remove everything else |
| **Also remove child categories** | When removing a parent category, also remove its children (default: off) |
## Tips
* Use **Remove all except selected** when you want to consolidate products into a clean category structure. It's easier than removing categories one by one.
* Enable **Also remove child categories** when you're cleaning up an entire branch of your category tree.
* Products with no categories won't appear in most e-commerce storefronts. Reassign them after removing if needed.
## Related
Add categories without removing existing ones.
Clear and reassign categories in one step.
# Remove Links
Source: https://docs.wisepim.com/en/essentials/bulk-editing/remove-links
Strip hyperlinks from product content in bulk. Remove all links, or just internal or external ones, and choose whether to keep the linked text.
Clean hyperlinks out of your product content across many products at once. Remove Links strips the `` tags from descriptions and other text fields, so you can roll back AI-inserted internal links, switch storefront domains, or tidy up imported content that came with links you do not want.
You decide how much to remove. Keep the linked words and drop only the link, or remove the whole link and its text. You can also limit it to internal links, external links, or both.
## Remove links
Check the products you want to clean up, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Remove Links" or find it under **Text & Content**.
Pick which fields to clean: description, enriched description, short description, SEO fields, or custom text attributes. If you have multiple languages, set the language scope.
Decide whether to keep the linked words or remove them along with the link.
Remove all links, or only internal or only external ones, then click **Apply**.
## Options
| Option | What it does | Default |
| ------------------- | ------------------------------------------------------ | ------------------ |
| **Target fields** | The content fields and custom text attributes to clean | None |
| **Language scope** | Which languages to process when you have more than one | Primary |
| **Anchor handling** | Keep the linked text or remove it too | Unwrap (keep text) |
| **Link scope** | All links, internal only, or external only | All links |
### Anchor handling
* **Unwrap (keep anchor text):** replaces each link with just the words it wrapped. The phrase stays, only the hyperlink is removed.
* **Strip (remove anchor text too):** removes the entire link and the words inside it.
### Link scope
* **All links:** removes every hyperlink, wherever it points.
* **Internal links only:** removes links that point to URLs in this project's sitemap. External references, like brand or partner sites, are kept.
* **External links only:** removes links that are not in this project's sitemap. Internal links stay intact.
Internal versus external is decided by matching each link against this project's sitemap. If your sitemap is empty, use **All links** instead, since WisePIM cannot tell the two apart without it.
## When to use it
* **Roll back AI-inserted links.** If an internal-linking pass added more links than you wanted, strip them and start fresh.
* **Switch domains.** When you move to a new storefront domain, remove the old internal links so nothing points at the wrong place.
* **Clean imported content.** Supplier feeds and copy-pasted descriptions often carry stray links. Remove them to keep your content clean.
Use **Unwrap** when the linked words still read well on their own. Use **Strip** when the whole linked phrase no longer belongs, such as a "read more on our blog" call to action.
## Related
Replace or remove specific text across many products at once.
Remove stray spaces left over from imports.
Apply your approved terminology across product content.
Browse every bulk editing action by category.
# Replace All Categories
Source: https://docs.wisepim.com/en/essentials/bulk-editing/replace-categories
Clear every category from the selected products and assign new ones in a single action. A clean-slate recategorization.
Clear every existing category from the selected products and assign new ones in one action. This is a clean-slate approach. Use it when you want to fully recategorize products.
This action removes **all existing categories** before assigning the new ones. To add categories without removing what's already there, use [Assign to Categories](/en/essentials/bulk-editing/assign-categories) instead.
## Replace all categories
Check the products you want to recategorize, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Replace All Categories" or find it under **Categories & Organization**.
Use the category tree to choose the new categories. Parent categories are auto-selected by default.
Review the warning about existing categories being removed, then click **Apply**.
## Configuration options
| Option | Description | Default |
| --------------------------------- | --------------------------------------------------------------- | ------- |
| **Categories** | The new categories to assign (replaces all existing) | No |
| **Auto-select parent categories** | Automatically include parent categories when you select a child | On |
## Tips
* This is the fastest way to move products from one category structure to another. There's no need to remove old categories first.
* Use this when migrating to a new category tree or restructuring your catalog.
* Test on a small batch first to confirm the new assignments look correct before applying to your full selection.
## Related
Add categories without removing existing ones.
Clear specific categories instead of all of them.
# Set Attribute Value
Source: https://docs.wisepim.com/en/essentials/bulk-editing/set-attribute
Bulk set a custom attribute value across many products at once. Works with text, number, date, select, boolean, and every other attribute type.
Give many products the same custom attribute value in one step. This is the fastest way to standardize data like material, color, or warranty across your catalog. It works with every attribute type, and the input adapts to the type you pick.
This action sets your own **custom attributes**. To set built-in product fields like name, price, or SKU, use [Set Field Value](/en/essentials/bulk-editing/set-field) instead.
## Set an attribute value
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Set Attribute" or find it under **Attributes & Custom Fields**.
Pick the custom attribute from the dropdown. The input adjusts automatically to match its type.
Set the value using the input shown: a text field, number input, dropdown, date picker, and so on.
Adjust any type-specific options, then click **Apply**.
## Options
| Option | What it does | Default |
| ---------------------------------- | ------------------------------------------------------ | -------- |
| **Attribute** | The custom attribute to set | Required |
| **Value** | The value to assign (input matches the attribute type) | Required |
| **Only set if attribute is empty** | Skips products that already have a value | Off |
### Options by attribute type
Some attribute types add their own options:
| Attribute type | Extra option |
| ------------------------------------ | ------------------------------------------------------------------- |
| Select, Multiselect, Checkbox, Radio | Create the attribute value if it does not exist yet (on by default) |
| Boolean | Force the value for all products (off by default) |
| Text, Textarea, WYSIWYG | Append to existing text instead of replacing it (off by default) |
| Date, Datetime | Use the current date and time (off by default) |
### Supported attribute types
Text, Textarea, WYSIWYG, Select, Multiselect, Checkbox, Radio, Boolean, Date, Datetime, Number, Decimal, Integer.
## Tips
* Turn on **Only set if attribute is empty** to fill gaps without overwriting values you already entered.
* For select and multiselect attributes, **Create attribute value if missing** lets you add new options on the fly. Handy when you introduce a new value.
* For text attributes, use **Append to existing text** to add to what is there instead of replacing it.
## Related
Set built-in product fields like name, price, or SKU.
Empty an attribute across selected products.
# Set Dimensions
Source: https://docs.wisepim.com/en/essentials/bulk-editing/set-dimensions
Bulk set product length, width, and height in one step. Pick any unit and optionally store the calculated volume for shipping.
Set the length, width, and height for many products at once. Accurate dimensions keep shipping costs correct and product specs complete. You can also store the calculated volume for volumetric weight.
## Set dimensions
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Set Dimensions" or find it under **Inventory & Shipping**.
Fill in length, width, and height. To set all three at once, turn on **Use same value for all**.
Choose the dimension unit, set any options, then click **Apply**.
## Options
| Option | What it does | Default |
| ------------------------------------------- | ---------------------------------------------------- | -------- |
| **Length** | Product length | Required |
| **Width** | Product width | Required |
| **Height** | Product height | Required |
| **Dimension unit** | mm, cm, m, in, or ft | Required |
| **Use same value for all** | Sets length, width, and height to one value (a cube) | Off |
| **Calculate and store volume** | Works out and saves the volume from L × W × H | Off |
| **Only update products with no dimensions** | Skips products that already have dimensions | Off |
## Tips
* Turn on **Calculate and store volume** when you need volumetric weight for shipping. Volume is computed as L × W × H.
* Use **Only update products with no dimensions** to fill gaps without overwriting existing measurements.
* **Use same value for all** is quick for cube-shaped products or a uniform size estimate.
## Related
Set HS codes, country of origin, and shipping flags.
Set or adjust product weight in bulk.
# Set Field Value
Source: https://docs.wisepim.com/en/essentials/bulk-editing/set-field
Bulk set any built-in product field to a fixed value or dynamic formula. Update names, descriptions, prices, and identifiers in one step.
Set any built-in product field across many products at once. Text fields also accept dynamic formulas, so you can build names, descriptions, and SEO copy from product data at scale.
This action works with **built-in product fields**. To set your own custom attributes, use [Set Attribute Value](/en/essentials/bulk-editing/set-attribute) instead.
## Set a field value
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Set Field" or find it under **Attributes & Custom Fields**.
Pick the field to set. Fields are grouped by type: text, identifiers, numeric, enum, and boolean.
Set the value. Text and identifier fields also accept formula variables in the `{{scope.key}}` syntax.
Turn on **Only if empty** if needed, then click **Apply**.
## Options
| Option | What it does | Default |
| ----------------- | ----------------------------------------------------- | -------- |
| **Field** | The product field to set | Required |
| **Value** | The value to apply (input matches the field type) | Required |
| **Only if empty** | Sets the value only when the field is currently empty | Off |
## Available fields
Product Name, Reviewed Name, Description, Enriched Description, Short Description, Enriched Short Description, SEO Title, SEO Description, SEO Keywords, Brand, Supplier.
SKU, EAN, UPC, MPN (Manufacturer Part Number), HS Code, Country of Origin.
Price, Special Price, Cost, Weight, Length, Width, Height, Stock Quantity, Low Stock Threshold.
Status (Active/Inactive/Pending/Archived), Review Status (Unreviewed/Reviewed), Stock Status (In Stock/Out of Stock/On Backorder), Product Type (Simple/Configurable/Virtual/Bundle/Grouped), Dimension Unit (mm/cm/m/in/ft), Weight Unit (g/kg/oz/lb).
Manage Stock, Requires Shipping, Backorders Allowed, Is Dangerous Good, Is Visible.
## Use formulas in text fields
Text and identifier fields support [Content Logic](/en/workflows/content-logic) variables in the `{{scope.key}}` syntax. Type `{{` to open the autocomplete dropdown. It lists every variable across all scopes. A preview below the input shows which variables it detected.
**Fields that accept formulas:** Product Name, Reviewed Name, Description, Enriched Description, Short Description, Enriched Short Description, SEO Title, SEO Description, SEO Keywords, Brand, Supplier, SKU, EAN, UPC, MPN, HS Code, Country of Origin.
| Scope | Example variable | Resolves to |
| ---------- | --------------------------------------------------------------------- | ---------------------------------- |
| `product` | `{{product.name}}`, `{{product.sku}}`, `{{product.price}}` | Built-in product data |
| `global` | `{{global.company_name}}`, `{{global.website_url}}` | Shared values across all products |
| `brand` | `{{brand.tagline}}`, `{{brand.origin_story}}` | Brand-specific content |
| `category` | `{{category.care_instructions}}`, `{{category.material_description}}` | Category-specific content |
| `defaults` | `{{defaults.current_year}}`, `{{defaults.season}}` | Auto-resolved date and time values |
Define your own global, brand, and category variables in [Content Logic](/en/workflows/content-logic), then use them here to generate rich content at scale. Update a variable once, and every product that uses it gets the new value automatically.
### Examples
**Generate SEO titles from product data**
* Field: **SEO Title**
* Value: `{{product.name}} | {{product.brand}} | Buy Online`
> "Air Max 90 | Nike | Buy Online". Each product gets a unique, keyword-rich title.
**Build structured short descriptions**
* Field: **Short Description**
* Value: `{{product.name}} by {{product.brand}}. {{category.short_intro}} Shop now at {{global.website_url}}.`
> "Air Max 90 by Nike. Premium running shoes for everyday performance. Shop now at shop.example.com."
**Set SEO descriptions with pricing and brand context**
* Field: **SEO Description**
* Value: `Buy {{product.name}} for only €{{product.price}}. {{brand.tagline}}. Free shipping on orders over €50.`
> "Buy Air Max 90 for only €129.99. Just Do It. Free shipping on orders over €50."
**Bulk-set meta keywords with dynamic values**
* Field: **SEO Keywords**
* Value: `{{product.name}}, {{product.brand}}, {{product.sku}}, {{category.name}}`
> "Air Max 90, Nike, NK-AM90, Running Shoes"
**Standardized short descriptions with technical specs**
* Field: **Short Description**
* Value: `{{product.name}} ({{product.sku}}) | {{category.material}} | {{product.weight}} {{product.weight_unit}} | {{product.dimensions_l}}×{{product.dimensions_w}}×{{product.dimensions_h}} {{product.dimension_unit}}`
> "Stainless Steel Hex Bolt M10x50 (SS-HB-M1050) | AISI 304 | 0.085 kg | 50×17×17 mm". Every product gets a consistent, spec-first format that purchasing teams can scan quickly.
**Generate B2B product titles with manufacturer part number**
* Field: **Product Name**
* Value: `{{product.name}} | {{product.manufacturer_part_number}} | {{product.brand}}`
> "Industrial Ball Bearing 6205-2RS | 6205-2RS-SKF | SKF". Standardizes naming so buyers can search by MPN or brand.
**Structured descriptions for product data sheets**
* Field: **Description**
* Value: `{{product.name}} by {{product.brand}}.\n\nSpecifications:\n- Material: {{category.material}}\n- Weight: {{product.weight}} {{product.weight_unit}}\n- Dimensions: {{product.dimensions_l}} × {{product.dimensions_w}} × {{product.dimensions_h}} {{product.dimension_unit}}\n- HS Code: {{product.hs_code}}\n- Country of Origin: {{product.country_of_origin}}\n\n{{brand.compliance_text}}\n\nMinimum order: {{category.moq}} units. {{global.lead_time_text}}`
> Creates a complete, standardized description with specs, compliance info, MOQ, and lead times, all pulled from product, brand, and category variables.
**SEO descriptions targeting B2B search queries**
* Field: **SEO Description**
* Value: `Order {{product.name}} ({{product.sku}}) from {{global.company_name}}. {{category.short_intro}} MOQ: {{category.moq}} units. {{global.lead_time_text}}.`
> "Order Stainless Steel Hex Bolt M10x50 (SS-HB-M1050) from Industrial Supplies BV. High-grade fasteners for structural applications. MOQ: 100 units. Ships within 3-5 business days."
Setting the **SKU** field to the same value for multiple products creates duplicates. WISEPIM shows a warning when it detects this.
## Tips
* Use **Only if empty** to fill missing SEO fields with formula content without overwriting copy you wrote by hand.
* Combine scopes in one formula, for example product data plus brand messaging plus global store info.
* Numeric fields use a fitting step size (€0.01 for prices, whole numbers for stock). Formulas are not available for numeric, enum, or boolean fields.
## Related
Set your own custom attributes in bulk.
Define the variables you use in formulas.
# Set Primary Category
Source: https://docs.wisepim.com/en/essentials/bulk-editing/set-primary-category
Bulk set the primary category for your products. Control which category drives breadcrumbs, canonical URLs, and product organization.
Set which category is the primary (main) one for your products. Many e-commerce platforms use the primary category for breadcrumbs and canonical URLs, so getting it right helps your SEO.
## Set the primary category
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Set Primary Category" or find it under **Categories & Organization**.
Choose one category to set as the primary for all selected products.
Decide whether to add the category to products that are not in it yet, then click **Apply**.
## Options
| Option | What it does | Default |
| -------------------------------------------------------------- | ---------------------------------------------------- | -------- |
| **Primary category** | The category to set as primary (single choice) | Required |
| **Add category if not already assigned** | Adds the category to products that are not in it yet | On |
| **Only set primary for products that already have categories** | Skips products with no categories | Off |
## Tips
* Leave **Add category if not already assigned** on so every selected product ends up with the primary category, even if it was not in it before.
* The primary category drives breadcrumbs and canonical URLs on most platforms, so getting it right helps your SEO.
* Filter by category first, then set the primary. That way you only touch products already in the right category tree.
## Related
Add products to one or more categories.
Swap a product's categories for a new set.
# Shipping Settings
Source: https://docs.wisepim.com/en/essentials/bulk-editing/shipping-settings
Bulk update HS codes, country of origin, shipping flags, and handling notes. Keep customs and shipping data consistent across your catalog.
Update shipping data across many products at once. Set HS codes for customs, country of origin, shipping flags, and handling notes in a single pass. Only the fields you fill in get updated, so you can change one setting without touching the rest.
## Update shipping settings
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Shipping Settings" or find it under **Inventory & Shipping**.
Set HS codes, country of origin, shipping flags, or handling notes. Leave the rest blank.
Click **Apply** to update the selected products.
## Options
### Customs information
| Field | What it does |
| --------------------- | ------------------------------------------------- |
| **HS Code** | Harmonized System code for customs classification |
| **Country of Origin** | Searchable dropdown with 50+ countries |
### Shipping flags
| Flag | What it does | Default |
| -------------------------- | ------------------------------------------------------------ | ------- |
| **Requires shipping** | Marks the product as needing physical shipment | On |
| **Dangerous goods** | Marks the product as hazardous material | Off |
| **Fragile item** | Marks the product as needing special handling | Off |
| **Free shipping eligible** | Marks the product as qualifying for free shipping promotions | Off |
### Additional settings
| Field | What it does |
| ------------------------- | ------------------------------------------------- |
| **Shipping Class ID** | Optional shipping class used for rate calculation |
| **Handling Instructions** | Free text for special handling notes |
Marking products as **Dangerous goods** can change shipping options and carrier availability. Make sure the classification is correct first.
## Tips
* Bulk-set HS codes by product type: filter by category first, then apply the right code.
* After onboarding a new supplier, filter by supplier and set their **Country of Origin** in one go.
* Use **Handling Instructions** for warehouse notes like "Keep upright" or "Temperature sensitive".
## Related
Set length, width, and height for shipping.
Set or adjust product weight in bulk.
# Set Special Price
Source: https://docs.wisepim.com/en/essentials/bulk-editing/special-price
Bulk set promotional prices with optional start and end dates. Launch flash sales, weekend deals, or seasonal offers across your catalog in one step.
Put many products on sale at once. Set a fixed special price or a percentage discount, and add start and end dates for time-limited promotions. Use the quick presets to launch a sale in seconds.
## Set a special price
Check the products you want to put on sale, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Set Special Price" or find it under **Pricing & Discounts**.
Choose a **fixed special price** (for example €9.99) or a **discount percentage** (for example 20% off).
Pick start and end dates, or use a quick preset for common sale lengths.
Decide whether to overwrite existing special prices, then click **Apply**.
## Options
| Option | What it does | Default |
| ------------------------------------------ | -------------------------------------------------------------------------------- | -------- |
| **Price type** | Fixed Special Price (€) or Discount Percentage (%) | Required |
| **Value** | The special price or the discount percentage | Required |
| **Start date & time** | When the sale begins | None |
| **End date & time** | When the sale ends | None |
| **Overwrite existing special prices** | Replaces special prices already set on products | On |
| **Only apply if lower than current price** | Skips products where the new special price would be higher than the existing one | Off |
### Quick sale presets
| Preset | Sale period |
| ------------------ | -------------------------------------------------------- |
| **24h Flash Sale** | Starts now, ends in 24 hours |
| **7-Day Sale** | Starts now, ends in 7 days |
| **Weekend Sale** | Starts Friday evening (6 PM), ends Monday morning (6 AM) |
| **Monthly Sale** | Starts now, ends in 30 days |
## Tips
* Use **Discount Percentage** when products have different base prices. Each product gets its own calculated special price.
* Turn on **Only apply if lower than current price** so you never accidentally raise a price that already has a deeper discount.
* The preview shows two example products with before and after prices, so you can check the result before you apply.
## Related
Adjust regular prices in bulk.
Set tiered pricing for larger quantities.
# Standardize Text Case
Source: https://docs.wisepim.com/en/essentials/bulk-editing/standardize-case
Bulk convert product text to Title Case, UPPERCASE, lowercase, or Sentence case. Give your whole catalog a consistent, professional look in seconds.
Inconsistent capitalization makes a catalog look messy. One product is `WIRELESS HEADPHONES`, the next is `wireless headphones`. This action fixes that in one pass. Pick a case style, choose the fields, and apply it to every selected product at once.
Use it to clean up names, descriptions, or any text field after an import or manual entry.
## Standardize case
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**, then search for "Standardize Text Case" or find it under **Text & Content**.
Choose Title Case, UPPERCASE, lowercase, or Sentence case.
Select one or more target fields, such as product name, description, or SEO title.
Check the live before/after preview, then click **Apply**.
## Case styles
| Case style | Example |
| ----------------- | ----------------------------------------------------------------- |
| **Title Case** | `wireless bluetooth headphones` → `Wireless Bluetooth Headphones` |
| **UPPERCASE** | `wireless bluetooth headphones` → `WIRELESS BLUETOOTH HEADPHONES` |
| **lowercase** | `Wireless Bluetooth Headphones` → `wireless bluetooth headphones` |
| **Sentence case** | `wireless bluetooth headphones` → `Wireless bluetooth headphones` |
**Title Case** is the safest choice for product names. It looks professional and reads cleanly across your storefront and feeds.
## Target fields
You can convert one field or several at once. For example, fix the product name and the SEO title in a single action.
| Group | Fields |
| ---------------- | ---------------------------------------------------- |
| **Names** | Product name, reviewed name, brand, supplier |
| **Descriptions** | Description, enriched description, short description |
| **SEO** | SEO title, SEO description, SEO keywords |
| **Identifiers** | SKU, EAN, UPC, MPN |
| **Custom** | Any custom text attribute |
Some fields hold values that should not change case, like brand names with specific styling (`iPhone`, `eBay`) or codes. Use the live preview to catch these before you apply.
## Related
Remove stray spaces and line breaks from your text fields.
Fix typos or swap words across many products at once.
Add a prefix or suffix to any text field across your selection.
Browse every bulk editing action by category.
# Set Stock Status
Source: https://docs.wisepim.com/en/essentials/bulk-editing/stock-status
Bulk mark products as in stock, out of stock, or on backorder. Update stock management and backorder rules across your catalog in one action.
Set the availability of many products at once. Mark a batch as out of stock during a supplier delay, reopen items when stock returns, or switch made-to-order products to backorder. This action changes the status flag only, not the actual quantity.
## Set the status
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**, then search for "Stock Status" or find it under **Inventory & Shipping**.
Choose **In Stock**, **Out of Stock**, or **On Backorder**.
Optionally update stock management and backorder settings, then click **Apply**.
## Options
| Option | Description | Default |
| --------------------------- | --------------------------------------------------------------- | ---------- |
| **Stock status** | In Stock, Out of Stock, or On Backorder | No default |
| **Enable stock management** | Turn on quantity-based stock tracking for the selected products | On |
| **Allow backorders** | Let customers order even when stock is zero | Off |
Turn on **Allow backorders** for products you can still fulfill at zero stock, such as made-to-order or print-on-demand items.
This action sets the status flag only. It does not change the stock quantity. To adjust numbers, use [Update Stock](/en/essentials/bulk-editing/update-stock).
## Related
Set or adjust the actual stock quantity for your selection.
Set product weights for accurate shipping calculations.
Set the review status of products to Ready, Pending, or Needs Review.
Browse every bulk editing action by category.
# Trim Whitespace
Source: https://docs.wisepim.com/en/essentials/bulk-editing/trim-whitespace
Bulk remove stray leading, trailing, and extra spaces from product text fields. A safe first step to clean up imported or copy-pasted data.
Imports and copy-paste often leave hidden spaces and blank lines behind. They break sorting, search, and feeds, even though you cannot see them. This action strips that clutter from your text fields across many products at once.
It is a safe cleanup: trimming spaces never changes the meaning of your content. Run it first, before other text actions.
## Clean up the spaces
Check the products you want to clean up. Or use filters and select all matching results.
Click **Bulk Editing**, then search for "Trim Whitespace" or find it under **Text & Content**.
Pick the cleanup options: leading spaces, trailing spaces, internal duplicates, or extra line breaks.
Select the fields to clean, then click **Apply**.
## Cleanup options
| Option | What it does | Default |
| ----------------------------- | ------------------------------------------------- | ------- |
| **Remove leading spaces** | Strip spaces from the start of the text | On |
| **Remove trailing spaces** | Strip spaces from the end of the text | On |
| **Normalize internal spaces** | Collapse multiple spaces into a single space | Off |
| **Remove extra line breaks** | Remove redundant blank lines in multi-line fields | Off |
**Target fields:** all text fields and custom text attributes.
Turn on **Normalize internal spaces** when you spot double spaces scattered through names or descriptions. It is common after merging data from several sources.
## Related
Convert text to a consistent Title Case, UPPERCASE, or lowercase style.
Fix typos or swap words across many products at once.
Add a prefix or suffix to any text field across your selection.
Browse every bulk editing action by category.
# Update Status
Source: https://docs.wisepim.com/en/essentials/bulk-editing/update-status
Bulk set the review status of products to Ready, Pending, or Needs Review. Track which products are done and which still need work.
Set the review status on many products at once. The review status tells you and your team where each product is in your workflow: finished, in progress, or still needing attention. Mark a fresh import as **Needs Review**, or flag a finished batch as **Ready**, all in one action.
## Update the review status
Check the products you want to update, or use filters and select all matching results.
Click **Bulk Editing**, then search for "Update Status" or find it under **Attributes & Custom Fields**.
Choose **Ready**, **Pending**, or **Needs Review** to apply to every selected product.
Click **Apply** to update your selection.
## Review status options
| Status | Meaning |
| ---------------- | ------------------------------------------------------- |
| **Ready** | The product data is checked, complete, and good to go |
| **Pending** | The product is in progress or waiting on someone |
| **Needs Review** | The product still needs a closer look before it is done |
## When to use it
* **After an import.** Set a freshly imported batch to **Needs Review** so your team knows to check the data before it ships anywhere.
* **After enrichment or cleanup.** Once you finish a batch, set it to **Ready** to signal the work is done.
* **To hand off work.** Set products to **Pending** when they are mid-flight and waiting on a colleague, a translation, or a supplier update.
The review status is a clear, shared signal of what is finished and what still needs work. You can filter your product list by review status to find everything that is still **Needs Review**, and it can also gate which products flow through to exports and channels.
Filter your products by a quality or completeness condition first, then set everything below your bar to **Needs Review** in one pass. It is a fast way to build a focused worklist.
## Related
Refresh quality scores and completeness for your selection.
Set any default product field to a specific value or formula.
Generate titles, descriptions, and attributes with AI.
Browse every bulk editing action by category.
# Update Stock
Source: https://docs.wisepim.com/en/essentials/bulk-editing/update-stock
Bulk set or adjust product stock quantities. Set an exact number, add or subtract, and protect against negative stock with min/max limits.
Keep your inventory accurate without editing products one by one. Set exact quantities after a stock count, add units when a delivery arrives, or subtract for shrinkage. Optional limits keep your numbers safe.
This action changes the stock quantity (the number). To mark products as in stock or out of stock without touching the number, use [Set Stock Status](/en/essentials/bulk-editing/stock-status).
## Update the stock
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**, then search for "Update Stock" or find it under **Inventory & Shipping**.
Pick **Set**, **Increase**, or **Decrease**.
Set the value and, if you want, add minimum and maximum stock limits.
Review the impact preview, then click **Apply**.
## Operations
| Operation | What it does | Use it for |
| ------------ | ---------------------------------- | ----------------------------- |
| **Set** | Replaces stock with an exact value | A physical inventory count |
| **Increase** | Adds to the current stock | A new delivery |
| **Decrease** | Subtracts from the current stock | Damage, returns, or shrinkage |
## Options
| Option | Description | Default |
| -------------------------------------------- | ----------------------------------------------- | ---------- |
| **Operation** | Set, Increase, or Decrease | No default |
| **Quantity** | The value to set, add, or subtract | No default |
| **Minimum stock level** | Stock will not go below this value | None |
| **Maximum stock level** | Stock will not go above this value | None |
| **Update low stock threshold automatically** | Recalculate the low stock alert threshold | Off |
| **Low stock threshold** | Custom threshold value (when auto-update is on) | No default |
Set a **Minimum stock level** of 0 when you decrease stock. It prevents quantities from dropping below zero into negative inventory.
## Related
Mark products as in stock, out of stock, or on backorder.
Set product weights for accurate shipping calculations.
Add, subtract, multiply, or divide any numeric attribute.
Browse every bulk editing action by category.
# Update Weight
Source: https://docs.wisepim.com/en/essentials/bulk-editing/update-weight
Bulk set, scale, or convert product weights for accurate shipping. Set exact values, multiply, or convert between grams, kilograms, ounces, and pounds.
Accurate weights mean accurate shipping costs. Set weights in bulk after an import, scale them to account for packaging, or convert your whole catalog between metric and imperial units.
## Update the weight
Check the products you want to update. Or use filters and select all matching results.
Click **Bulk Editing**, then search for "Update Weight" or find it under **Inventory & Shipping**.
Pick **Set**, **Multiply**, or **Convert units**.
Set the weight or conversion details, then click **Apply**.
## Operations
| Operation | What it does | Use it for |
| ----------------- | ----------------------------------------- | -------------------------------------------- |
| **Set** | Applies one exact weight to every product | Filling in a fixed weight |
| **Multiply** | Scales the current weight by a factor | Adding packaging weight (for example, × 1.1) |
| **Convert units** | Recalculates weights between unit systems | Switching metric to imperial or back |
## Options
| Option | Description | Default |
| --------------------------------------- | ----------------------------------------------- | ---------- |
| **Operation** | Set, Multiply, or Convert units | No default |
| **Value** | The weight to set, or the multiplication factor | No default |
| **Weight unit** | g, kg, oz, or lb | No default |
| **From unit / To unit** | Source and target units (for conversion) | No default |
| **Only update products with no weight** | Skip products that already have a weight | Off |
| **Round to 2 decimal places** | Round the result to two decimals | On |
## Supported units
| Unit | Name |
| ------ | --------- |
| **g** | Grams |
| **kg** | Kilograms |
| **oz** | Ounces |
| **lb** | Pounds |
Turn on **Only update products with no weight** to fill in the gaps. It adds weights where they are missing without overwriting the values you already have.
With **Convert units**, the conversion factor is applied for you. Pick the source and target units, and weights are recalculated automatically.
## Related
Set length, width, and height for accurate shipping.
Update HS codes, country of origin, and shipping flags.
Set or adjust stock quantities across your selection.
Browse every bulk editing action by category.
# Apply Volume Discounts
Source: https://docs.wisepim.com/en/essentials/bulk-editing/volume-discounts
Assign, remove, or replace volume discount rules across many products at once. Roll out tiered, quantity-based pricing in a single action.
Set tiered pricing across your catalog without touching products one by one. Volume discounts reward customers who buy in larger quantities. With this bulk action, you assign, remove, or replace those discount rules on many products at once.
Volume discount rules are created separately in your pricing settings. This action only links them to products or unlinks them. It does not change the rules themselves.
## Apply a discount in bulk
Check the products you want to update. To cover a large set, apply filters and select all matching results.
Click **Bulk Editing**, then search for "Volume Discounts" or find it under **Pricing & Discounts**.
Pick **Assign** to add rules, **Remove** to detach them, or **Replace** to clear existing rules and set new ones.
Select from your available discount rules. Each one shows its status, tier count, and minimum quantity.
Click **Apply** to update every selected product.
## Options
| Option | What it does |
| -------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Operation** | **Assign** adds rules, **Remove** detaches them, **Replace** clears existing rules and assigns new ones |
| **Volume discount rules** | The rules you want to assign or remove |
| **Check discount compatibility** | Blocks discounts that conflict with a product's existing pricing rules (on by default) |
Each rule in the list shows:
* **Status**: active or inactive
* **Tier count**: how many pricing tiers it has
* **Minimum quantity**: the lowest quantity that triggers a discount
## Tips
Use **Replace** when you move products from one discount structure to another. It clears the old rules first, so you avoid stacking conflicting tiers.
* Leave **Check discount compatibility** on. It stops you from assigning a discount that clashes with a product's current pricing.
* Need to set up the rules first? Configure them in your pricing settings, then come back to assign them in bulk.
## Related
Adjust base prices across products in one action.
Schedule sale prices for promotions and clearances.
# Command Menu
Source: https://docs.wisepim.com/en/essentials/command-menu
Navigate WISEPIM instantly. Jump to any page, search products, run calculations, and trigger page actions. Open with ⌘K or the search icon.
The Command Menu is the fastest way to get around WISEPIM. Instead of clicking through menus, open it and type what you need. Jump to a page, find a product, or run a quick calculation, all from one search box.
## Opening the Command Menu
There are two ways to open the Command Menu:
* **Keyboard shortcut**: press `⌘K` on Mac or `Ctrl+K` on Windows/Linux
* **Search icon**: click the search icon in the top-right corner of the screen
Press `Esc` or click outside the menu to close it.
## Navigating pages
Start typing the name of any page (products, analytics, settings, prompt lab) and the Command Menu instantly filters results. Press `Enter` to jump there.
The menu includes every destination in WISEPIM: product management, analytics dashboards, AI tools, automations, quality guard, settings, and more.
### Newly available commands
Newer parts of WISEPIM are in the Command Menu too, so you can reach them without hunting through the navigation:
| Command | Takes you to |
| ------------------------------- | ---------------------------------------------------------------------------- |
| **Grow Sales** | The goal hub with the levers that lift sales, each ending in a one-click fix |
| **Reduce Returns** | The goal hub for the content problems that cause returns |
| **Channel Readiness** | The per-channel view of which products are not ready to publish yet |
| **Compare Projects** | The side-by-side comparison of two projects, matched by SKU |
| **Brand Portals** | Your live, shareable partner catalogs |
| **Settings: Pricing & Margins** | The rules that adjust prices when products are exported |
| **Settings: Web Research** | What web research looks for and which fields it is allowed to write |
Use `↑` and `↓` arrow keys to move through results, or press `⌥1` through `⌥0` (Option + number) to jump directly to the first 10 items.
## Searching products
Type a product name, SKU, or keyword to search your catalog directly from the Command Menu. Select a result to open that product immediately.
## Page actions
On certain pages, you'll see **Page Actions** at the top of the Command Menu. These are shortcuts for things you can do right here, on the page you're viewing. They appear automatically and change from page to page. They're searchable too: type what you want to do, and matching actions rise to the top.
### Products
The products page has the richest set of page actions. Without a selection, you can:
* **Create Product**: add a new product to your catalog
* **Import Products**: import from CSV, Excel, or integrations
* **Export Products**: export products to CSV or Excel
* **Open Filters**: apply advanced filters to your products
* **Clear Filters**: remove all active filters and search queries
* **Configure Columns**: choose which columns to display
* **History**: open the [operation history](/en/essentials/managing-products#operation-history) to review recent bulk changes and undo them
Your **saved filter sets** and **saved column layouts** also appear as page actions, so you can switch between views instantly.
When you select products, additional actions appear:
* **Bulk Edit**: edit selected products in bulk
* **Enrich with AI**: enrich selected products with AI-generated content
* **Enrich: Titles**, **Descriptions**, **Short Descriptions**, **SEO Meta**, **Attributes**: enrich specific fields
* **AI Categorization**: auto-categorize products using AI
* **Translate Products**: translate product content to other languages
* **Web Research**: research product info from the web
* **Copy Selected SKUs**: copy or download the identifiers of the selection (SKU, EAN, UPC, or MPN), see [Copy the selected SKUs](/en/essentials/managing-products#copy-the-selected-skus)
* **Select All Products**: extend selection across all pages
* **Deselect All**: clear your selection
### Other pages with page actions
Load a product to test with, load or save prompts, and use the AI Prompt Wizard to generate optimized prompts.
Create a new prompt or use the AI Prompt Wizard.
Start a new chat, load a prompt, enhance your prompt with AI, or copy the last response.
Save, test run, export/import workflows, add suggested nodes, browse templates, or use the AI Designer.
Create a new automation.
Jump directly to editing any knowledge section: brand identity, target audience, value proposition, brand voice, content requirements, or visual guidelines.
Create a new attribute, import attributes from CSV/JSON, or use the AI Data Model Architect to generate attributes.
Create a new category or import categories from CSV/JSON.
Create a new project.
Export a data quality report.
## Favorites
Hover over any navigation item in the Command Menu and click the **star icon** to favorite it. Favorited items are pinned to the top of the menu for quick access.
Favorites persist across sessions, so your most-used pages are always one keystroke away.
## Built-in calculator
The Command Menu doubles as a calculator. Just type a math expression and see the result instantly. Press `Enter` to copy it to your clipboard.
### Math expressions
Type any arithmetic expression using `+`, `-`, `*`, `/`, `%`, `^` (power), and parentheses.
| Expression | Result |
| ---------------- | ------ |
| `24 * 1.21` | 29.04 |
| `(100 + 50) / 3` | 50 |
| `2^10` | 1024 |
| `250 * 15%` | 37.5 |
### Unit conversions
Convert between units by typing the value, unit, and target, for example `5cm to inches` or `10kg in pounds`.
Supported categories:
| Category | Units |
| --------------- | ------------------------------ |
| **Length** | m, km, cm, mm, mi, ft, in, yd |
| **Weight** | g, kg, mg, lb, oz |
| **Temperature** | °C, °F, K |
| **Volume** | L, mL, gal, qt, pt, cup, fl oz |
| **Time** | s, ms, min, h, d, wk |
| **Data** | B, KB, MB, GB, TB |
### Currency conversions
Convert between 20+ currencies by typing the amount and currency code, for example `100usd to eur`, `$50 in gbp`, or `100 eur`.
Supported currencies include USD, EUR, GBP, JPY, CNY, CAD, AUD, CHF, INR, KRW, MXN, BRL, SEK, NOK, DKK, PLN, TRY, ZAR, HKD, SGD, NZD, and more.
## Opening documentation
On any page in WISEPIM, open the Command Menu and select **Documentation**. This takes you straight to the relevant documentation for the feature you're currently using, with no need to search for it manually.
The link is **context-aware** in two ways:
* **It follows your page.** Open it on the products page and you land on product management; open it in analytics and you land on the analytics docs. Every major page maps to its matching guide.
* **It follows your language.** The docs open in the same language as your WISEPIM interface (English, Dutch, German, or Spanish), so you always read help in the language you work in.
If a page doesn't have a dedicated guide yet, the link falls back to the documentation home.
The same **Documentation** shortcut also lives in the [account menu](#documentation-from-the-account-menu) (your avatar, top-right). Both open the page you're currently on, so use whichever is closer to hand.
### Documentation from the account menu
You don't have to open the Command Menu to reach contextual help. Click your **avatar** in the top-right corner and choose **Documentation** under *Support*. It behaves exactly like the Command Menu action: it opens the guide for the page you're on, in your interface language.
## Keyboard shortcuts reference
| Action | Shortcut |
| ------------------------------------ | ----------------- |
| **Open the Command Menu** | `⌘K` / `Ctrl+K` |
| **Close the Command Menu** | `Esc` |
| **Navigate results** | `↑` / `↓` |
| **Select an item** | `Enter` |
| **Quick select items 1–10** | `⌥1` through `⌥0` |
| **Open keyboard shortcuts overview** | `?` or `Shift+/` |
Press `?` or `Shift+/` anywhere in WISEPIM to open the full keyboard shortcuts overview, a quick reference for all available shortcuts across the app.
## Easter eggs
Try typing `party`, `coffee`, or `42` into the Command Menu. We won't spoil what happens.
## Related
Search, filter, and select products you found through the Command Menu.
Run a bulk action on a selection straight from the products page.
Trigger AI enrichment for selected products from the page actions.
Build and test prompts, one of the page-action shortcuts you can jump to.
# Enriching Products with AI
Source: https://docs.wisepim.com/en/essentials/enriching-products
Generate titles, descriptions, SEO metadata, attributes, alt text, and internal links for one product or your entire catalog while you keep working.
Select products, pick an enrichment type, configure it in a few clicks, and let AI do the rest. Every enrichment job runs in the background so you can keep working, and progress is tracked in the [Process Tracker](/en/other-features/process-tracker).
AI enrichment uses credits. Content types (titles, descriptions, SEO, attributes) each cost one credit per product. Translation, categorization, and image alt text have their own credit rates. Your credit balance is shown in the top navigation.
## All 15 enrichment types
| Type | What it does | Prompt needed |
| --------------------------------------------------- | ------------------------------------------------------------------------------------ | :---------------------------: |
| **[Auto-Fill](/en/ai/auto-fill)** | Detects every content gap across all 5 content types and fills them all in one run | Uses your project defaults |
| **Bulk Enrich** | Regenerates the fields you pick on every selected product, overwriting what is there | Uses your defaults, per field |
| **[Titles](/en/ai/titles)** | Rewrites or generates product titles | Yes |
| **[Descriptions](/en/ai/descriptions)** | Writes full product descriptions | Yes |
| **[Short Descriptions](/en/ai/short-descriptions)** | Writes concise product summaries | Yes |
| **[SEO Title & Meta](/en/ai/seo-meta)** | Generates optimized meta title and meta description | Yes |
| **[Attributes](/en/ai/attributes)** | Extracts structured specs from existing content | Yes |
| **[AI Categorization](/en/ai/categorization)** | Assigns your existing categories based on product content | No |
| **[Internal Linking](/en/ai/internal-linking)** | Adds 3–5 contextual links to related pages inside each description | No |
| **[Search Intent](/en/ai/search-intent)** | Rewrites descriptions to match real search queries from Search Console | No |
| **[Image Alt Text](/en/ai/image-alt-text)** | Writes alt text for every product image that has none, using AI vision | No |
| **Translation** | Translates content into one or more target languages simultaneously | No |
| **Linguistic Review** | Scores translation quality and flags inconsistencies for one-click fixes | No |
| **Quality Review** | Scores each product across 12 data quality dimensions and surfaces fixes | No |
| **Web Research** | Searches the web for specs, pricing, and descriptions using your product identifiers | No |
## How to enrich products
Check individual products, or use filters and select all matching results. You can also apply enrichment to your entire catalog.
Click the **Enrich with AI** button in the toolbar. The enrichment modal opens.
Pick what you want to generate. Content types require a prompt from your Prompt Library. The other types configure themselves.
Set any options, prompt selection, language targets, confidence thresholds, and click **Start Enrichment**.
If the start button is greyed out, the reason is printed right under it, so you never have to guess: "Choose an enrichment action.", "Choose at least one target language.", "Choose at least one field to translate.", "Choose a prompt for this enrichment.", or "Add credits before starting; the current balance cannot process one product."
### Finding the right action
The enrichment modal groups the actions so you do not have to scan a long list:
| Group | What's in it |
| ---------------------- | -------------------------------------------------------------------------------------------- |
| **Start here** | One click, every field that needs work. The fastest way in if you are not sure what to pick. |
| **Product content** | Titles, descriptions, short descriptions, and attributes. |
| **SEO & discovery** | SEO title and meta, internal linking, search intent, image alt text. |
| **Data & research** | Web research and categorization: filling in facts rather than writing copy. |
| **Languages & review** | Translation, linguistic review, and quality review. |
There is a search box at the top of the modal too. Type what you want to do and matching actions rise to the top. WISEPIM also preselects your default prompt for each field, so most runs are two clicks.
## Content enrichment
The five content types each have a dedicated guide with prompt tips and examples: [Titles](/en/ai/titles), [Descriptions](/en/ai/descriptions), [Short Descriptions](/en/ai/short-descriptions), [SEO Title & Meta](/en/ai/seo-meta), and [Attributes](/en/ai/attributes). They all follow the same flow: select products, pick the type, choose a prompt, start. The AI uses the prompt combined with each product's existing data and your [Knowledge Library](/en/other-features/knowledge-library) context.
Enriched content is stored in **separate reviewed fields** alongside your originals. Your source data is never overwritten.
| Type | Output field |
| ---------------------- | -------------------------------------------------- |
| **Titles** | Reviewed Name |
| **Descriptions** | Enriched Description |
| **Short Descriptions** | Enriched Short Description |
| **SEO Title & Meta** | Meta Title, Meta Description |
| **Attributes** | Attribute values (extracted from existing content) |
Set a **default prompt** for each content type in [Settings → Enrich Prompts](/en/settings/enrich-defaults). It pre-selects the right prompt every time you open the modal, and is what Auto-Fill uses automatically.
## Auto-Fill
Auto-Fill analyzes each product, finds every missing content field across all 5 content types, and fills them all in one run, using your project's default prompts. No need to run five separate enrichments.
See [Auto-Fill](/en/ai/auto-fill) for the complete guide, including how to set the overwrite threshold to upgrade low-quality content alongside truly empty fields.
## Bulk Enrich
Bulk Enrich regenerates the fields you pick across every selected product. This is the important difference: **Auto-Fill fills the gaps, Bulk Enrich overwrites what is already there.** Use it when the existing content is not good enough, not when it is missing.
Pick which fields to rewrite from descriptions, short descriptions, titles, SEO title and meta, and attributes. Each field can use your project default prompt, or you can override the prompt per field in the same screen, so a run can write descriptions with one prompt and titles with another.
### Combine into fewer calls
Turn on **Combine into fewer calls** and titles, SEO title and meta, and short description are generated together in one call instead of three. Runs finish faster and cost fewer credits. Descriptions and attributes are big enough to keep their own call, so they are unaffected.
With **Combine into fewer calls** on, a product costs **1 credit** if you picked one field and **2 credits** if you picked several. The modal shows the estimated credit cost for the whole run before you start, so you always know what a run will cost.
Because Bulk Enrich overwrites, test it on 5 to 10 products first and read the output before you run it on the full catalog.
## When credits run short
Credits are checked before a run starts and while it runs, so you never get a half-finished catalog with no explanation:
* **If your credits only cover part of the selection**, WISEPIM processes as many products as it can afford. The rest are skipped and marked in the task, so you can see exactly which products still need work.
* **If you run out of credits mid-run**, the task stops with a clear message telling you what happened, instead of silently failing.
Once you have credits again, open the task in the [Process Tracker](/en/other-features/process-tracker) and choose **Resume**. Resume picks up only the products that were never processed, and it costs no extra credits because the original run already paid for them.
**Resume** finishes the remainder at no extra cost. **Restart** runs the whole selection again from scratch and is charged as a new run. When a partial run left products behind, Resume is almost always what you want.
## AI Categorization
AI Categorization automatically assigns your existing categories to products based on their content.
Configure the confidence threshold (default 75%) and whether the AI determines the number of categories per product automatically or you set a maximum. Higher confidence means fewer but more accurate assignments. Advanced settings include the full confidence slider (0–100%) and a max categories control (1–10).
See [AI Categorization](/en/ai/categorization) for the full guide, including how to run a tiered pass that captures confident assignments first and only reviews the genuinely ambiguous products.
## Internal Linking
Internal Linking reads each product's description and adds 3–5 contextual links to related products and category pages. It prioritizes high-traffic pages using Search Console data.
See [Internal Linking](/en/ai/internal-linking) for the full guide, including how to pre-select target categories and when to expect the best results.
## Search Intent
Search Intent uses your Google Search Console data to understand how real shoppers find each product, then rewrites the description to better match what they are actually looking for.
Requires an active Google Search Console integration. See [Search Intent](/en/ai/search-intent) for the full guide, including how to identify the best candidate products.
## Image Alt Text
Image Alt Text uses AI vision to analyze each product image and write descriptive alt text, up to 125 characters, for every image that has none. Existing alt text is never changed.
See [Image Alt Text](/en/ai/image-alt-text) for the full guide, including accessibility and SEO benefits.
## Translation
Translation converts product content into one or more target languages simultaneously. Configure which fields to translate, set a tone, add custom instructions, and save instruction templates for future runs.
For the full guide, including field selection, tone controls, strict vs. creative mode, and the terminology dictionary, see [Translating Products](/en/products/translating-products).
## Web Research
Web Research searches the web for product data using your product identifiers (EAN, UPC, model number, SKU, or brand plus name), cross-references multiple sources for accuracy, and puts the results in the Data Quality tab for you to review before applying.
For the full guide, including identifier selection and reviewing market price intelligence, see [Web Research](/en/ai/web-research).
## Linguistic Review and Quality Review
These two run from the same enrichment modal but open their own dedicated workspaces:
* **[Linguistic Review](/en/analytics/linguistic-review)**: scores your translated content across 6 criteria (completeness, terminology, locale quality, consistency, format, meta compliance) and offers one-click fixes for inconsistencies.
* **[AI Quality Review](/en/analytics/quality-review)**: reads each product like a demanding customer and scores it across 12 dimensions (completeness, content quality, image vs. data, pricing sanity, conversion readiness, and more), then hands you a ranked list of fixes.
Both require at least one target locale to be configured in [Translation Settings](/en/settings/translation) before Linguistic Review appears in the modal.
## Single product enrichment
Every enrichable field on the product detail page has an **Enrich** button. Click it to run enrichment on that field only, without selecting products in the main table. The same prompt selection and configuration flow applies, scoped to that one product and field.
Enrichable fields on the product page: name, description, short description, SEO title and meta description, attributes, and categories.
## Using Content Logic with enrichment
[Content Logic](/en/workflows/content-logic) variables in your prompts give the AI dynamic, per-product context. A prompt like:
```
Write a description for {{product.name}} by {{product.brand}}.
Brand voice: {{brand.tagline}}. Target audience: {{category.target_audience}}.
```
resolves differently for each product, so the AI generates unique, contextual copy rather than variations on a single template.
See [Content Logic](/en/workflows/content-logic) for how to set up variables, and the individual scope pages for use-case examples.
## Automating enrichment
All 15 enrichment types are available as [Automation](/en/automations/overview) actions. Trigger them on a schedule, after imports, when quality scores drop below a threshold, or when products are updated.
## Tips
* **Start with 5–10 products.** Test a prompt on a small batch and review the output before running it on your full catalog.
* **Fill your Knowledge Library.** The more context the AI has about your brand, audience, and products, the more consistent the output. See [Knowledge Library](/en/other-features/knowledge-library).
* **Use specific prompts.** A prompt for "B2B industrial fastener descriptions" will outperform a generic "write a description" prompt every time. Create prompts per category or product type in the [Prompt Library](/en/essentials/prompt-library).
* **Set defaults.** Configure default prompts in [Settings → Enrich Prompts](/en/settings/enrich-defaults) so Auto-Fill works without any extra clicks and the right prompt is always preselected in the modal.
## Related
Build and organize the prompts that power content enrichment.
Test and refine prompts on real products before running them in bulk.
Give the AI your brand voice, audience, and product context.
Measure the revenue lift AI enrichment generates across your catalog.
Set up brand voice once so every AI-written description sounds like you.
# Exporting Products
Source: https://docs.wisepim.com/en/essentials/exporting-products
Push enriched product data to your store or marketplaces, or download CSV or Excel. Pick exact columns and languages and send only what changed.
You've imported your products, enriched them with AI, and now they're ready to go to work. Exporting sends your improved product data wherever it needs to be: back to your store, out to a marketplace, into a data platform, across to another project, or down to your computer as a file.
The payoff of a good export is simple: your channels show accurate, complete product data without you editing each platform by hand.
## Export destinations
* **Files**: CSV or Excel, to download for backup, migration, or use in another tool.
* **E-commerce platforms**: any connected integration that supports export, for example Shopify, WooCommerce, Magento, PrestaShop, Lightspeed, Lightspeed E-Series (Ecwid), ShopWired, and CCV Shop.
* **Marketplaces and shopping**: Google Merchant Center (Google Shopping), and more as you connect them.
* **Data platforms**: Databricks, to push product data into your analytics stack.
* **Another project**: copy selected products straight into one of your other WISEPIM projects.
File exports are always available. Every other destination shows up automatically once you connect the matching integration. Set yours up on the [Integrations](/en/integrations/supported-platforms) page first.
**Export or feed?** Exporting is a one-off push: you choose products and a destination, and the data goes out once. If a channel should *pull* your catalog continuously - Google Shopping, Meta, Bol.com, or a wholesaler expecting BMEcat - create a hosted feed in [Feed Hub](/en/essentials/feed-hub) instead. The feed gets a URL the channel fetches on its own schedule, so you never repeat the export by hand.
## Choose what to export
You decide which products go, in the same way you work on the Products page:
| Method | How |
| --------------------- | ------------------------------------------------------------------------------------------- |
| **Selected products** | Check the boxes next to specific products, then click Export |
| **Filtered products** | [Filter](/en/products/filtering-products) your catalog, then export everything that matches |
| **All products** | Select nothing, and the export covers your whole catalog |
## Shape the export
The export modal is more than a download button. These options control exactly what lands in the export, which is the difference between a messy dump and a channel-ready file.
| Option | What it does |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Export templates** | Save a destination plus its column and language setup as a named template, then reuse it in one click. Build "Shopify export" or "Price list" once and never reconfigure it. |
| **Columns** | For CSV and Excel, pick exactly which fields to include and in what order. Send only what the receiving system needs. |
| **Languages** | Choose which language columns to export. Send one market its language, or everything at once. |
| **Units of measure** | Decide how unit values appear: value and unit together (`100 mm`), in separate columns, or value only. See [Units of measure](/en/products/units-of-measure). |
| **Skip unchanged** | On by default for platform exports. Products that haven't changed since the last export to that platform are skipped, so syncs are faster and you don't touch listings that don't need it. |
A product's **First export** and **Last export** timestamps, which you can show as columns and filter on, are only set once the export file or platform push actually completed. A failed export leaves them untouched. Products skipped as unchanged still count as exported.
Save an export template for every recurring job. The next monthly price update or channel sync becomes a single click with the right columns, languages, and settings already chosen.
**Check this if you use pricing rules.** When [Pricing & Margins](/en/settings/pricing) rules are active, the prices in your export are not always the prices stored in WISEPIM. Your rules add the markup or margin at export time, per channel. Your stored prices stay exactly as they are. So if an exported price surprises you, look at your pricing rules before you go hunting through product data.
## Export to a platform
On the Products page, select products or apply a filter.
Open the **Export** button in the toolbar.
Choose the platform (only connected integrations are shown), then set the columns, languages, and skip-unchanged option, or load a saved template.
WISEPIM prepares your data, connects to the platform, and pushes it over in the background.
Exports run as background jobs. You don't wait on the page: WISEPIM hands the export to the **[Process Tracker](/en/other-features/process-tracker)**, where you can watch progress and see the result. You get a notification when it finishes. Started the wrong export? Open the task and click **Stop**.
## Export to another project
Sometimes the destination is another one of your own catalogs: a second brand, a market copy, or a client project. Exporting to a project copies the selected products straight across, with no file in between.
On the Products page, select products or apply a filter, then click **Export**.
Pick the project you want the products copied into.
The copy runs in the background. Products are matched by SKU, so a product that already exists in the target project is updated rather than duplicated.
Want to see the differences between two catalogs before you copy anything? Use [Compare two projects](/en/essentials/managing-projects) to reconcile them by SKU field by field first.
## Export to a file
Need your data as a file, for a backup, a migration, or another tool?
Pick the format you want.
Select exactly which fields and languages to include, or apply a saved template.
The export runs and the file is ready to download. Larger catalogs generate as a background job in the Process Tracker, so give big files a moment.
* **CSV**: universal, works with everything. UTF-8 encoded for international characters.
* **Excel**: a formatted spreadsheet with proper column types, a frozen header row, filters on every column and colour-coded score columns with a totals row, ready for analysis or sharing.
File exports stream products in batches, so a catalog-sized CSV or Excel export no longer fails on size. Cell text that starts with `=` is written as plain text, never as a formula.
## How long does it take?
File exports are fast because there's no platform rate limiting. Platform exports depend on how quickly the target accepts requests, and each platform throttles differently.
| Catalog size | File export | Platform export |
| ---------------------- | -------------- | ------------------- |
| Under 100 products | A few seconds | Under a minute |
| 100–1,000 products | Under a minute | 5–15 minutes |
| 1,000–10,000 products | A few minutes | 15 minutes – 1 hour |
| 10,000–50,000 products | A few minutes | 1–4 hours |
Turn on **Skip unchanged** for routine platform syncs. After the first full export, later runs only send the products that actually changed, which is far faster than re-sending the whole catalog.
## After exporting
1. **Verify on your platform**: log into your store and spot-check a few products.
2. **Check your storefront**: make sure products display correctly to customers.
3. **Review categories**: confirm category assignments carried over.
## Troubleshooting
* Check that your integration is connected on the Integrations page.
* Re-test the connection. API credentials may have expired.
* Confirm your API user has write permissions.
* With **Skip unchanged** on, products that haven't changed since the last export are skipped on purpose. Turn it off to force a full re-export, for example after changing the channel's settings.
* **Shopify**: check API permissions and rate limits.
* **WooCommerce**: confirm the REST API is enabled with write access.
* **Magento**: confirm your API user can create and update products.
* Check your browser's download settings and popup blocker.
* For large catalogs, wait a moment. The file generates as a background job first, then downloads.
Large catalogs and platform rate limits slow things down. For very large exports, split them by category or filter, and turn on Skip unchanged for repeat runs.
## Related
Bring products into WISEPIM from a file or a connected platform.
Improve titles, descriptions, and attributes with AI before you export.
Connect a platform so you can export directly to your store.
Hosted feeds that channels fetch automatically - the recurring counterpart to a one-off export.
Watch the status of running exports and other background jobs.
The final step of the first-catalog series: getting enriched products live.
# Feed Hub
Source: https://docs.wisepim.com/en/essentials/feed-hub
Create and manage product feeds for Google Shopping, Meta, Bol.com, and more. Every feed gets a hosted URL that channels fetch automatically.
Feed Hub is where your product catalog becomes a live feed. Pick a channel, map your fields, set your refresh strategy, and get a URL that Google, Meta, and any other platform can pull directly. No manual exports needed.
Each feed gets its own hosted URL. Channels fetch it automatically, so your listings stay up to date without any manual work on your end.
## Creating a feed
Click **Create Feed** from the Feed Hub overview. The two-step wizard walks you through:
1. **Choose a channel**: pick from the built-in channel presets (see below). WISEPIM sets sensible defaults so your feed works right away.
2. **Configure the basics**: give the feed a name, set the product language and currency, and choose a refresh strategy. You can fine-tune mappings, filters, and rules at any time after.
Selling in multiple languages? Create one feed per language. Most channels expect a separate URL per market, and it keeps each feed lean.
## Available channels
Feed Hub ships with built-in presets for a wide range of channels:
**Shopping engines and marketplaces**
* **Google Shopping**: Google Merchant Center product feed for Shopping ads and free listings. Prefer a direct API connection instead of a feed file? Use the [Google Merchant Center integration](/en/integrations/google-merchant-center).
* **Meta (Facebook and Instagram)**: Facebook and Instagram Commerce product catalog feed
* **Bing Shopping**: Microsoft Merchant Center product feed for Bing Shopping
* **TikTok Shop**: TikTok catalog for shopping ads and in-app commerce
* **Bol.com**: Dutch marketplace (coming soon)
**AI shopping**
* **ChatGPT Shopping**: discoverable in ChatGPT via OpenAI's Agentic Commerce Protocol
* **Microsoft Copilot**: reaches Copilot.com, Bing, MSN, and Edge via Universal Commerce Protocol
* **Perplexity**: discoverable in Perplexity AI's shopping recommendations
**Price comparison sites**
* **Idealo**: leading European price comparison platform
* **Beslist**: Netherlands' largest price comparison platform
* **Vergelijk**: Dutch product and price comparison engine
* **Kieskeurig**: Dutch product review and comparison platform
* **Kelkoo**: European shopping comparison engine
* **PriceRunner**: Scandinavian price comparison
* **Prisjakt**: Nordic price comparison
* **Trovaprezzi**: Italy's top price comparison platform
**Affiliate networks**
* **Awin**: global affiliate marketing network
* **Daisycon**: Dutch affiliate marketing network
* **TradeTracker**: European performance marketing and affiliate platform
**Wholesale & trading partners**
* **BMEcat 2005 (ETIM)**: standardised B2B catalog for wholesalers, buying groups, and ERP systems. Exports your ETIM classes and features straight into BMEcat 2005 XML. See [BMEcat feeds](#bmecat-feeds-for-trading-partners) below.
**Pinterest**: product catalog for shopping pins and ads
Browse the **Channels** section in Feed Hub to see what each channel requires and how many fields are needed.
## Product scope
By default, all active products in your project are included in a feed. Use **Product Scope** to narrow it down:
* **Categories**: select one or more product categories
* **Product Families**: filter by product family
* **Include out-of-stock products**: toggle this off to automatically exclude products without available stock
The scope panel shows a live product count so you know exactly what will end up in the feed.
## Filter rules
Filter Rules let you automatically exclude products that don't meet your quality bar. Rules are applied on top of the product scope. Available rule types:
| Rule | What it does |
| ------------------------------- | ---------------------------------------------------- |
| Exclude out-of-stock products | Keeps only products with available stock |
| Exclude products without price | Removes products with no price set |
| Exclude products without images | Removes products with no image |
| Exclude low quality products | Removes products below a quality score threshold |
| Exclude short titles | Removes products whose title is too short |
| Exclude short descriptions | Removes products whose description is too short |
| Custom field filter | Filter by any product field with your own conditions |
Use the **Preview** button to see how many products would be included or excluded before saving your rules.
## Field mappings
Field Mappings connect your product data to the fields a channel expects. Each channel has required, recommended, and optional fields.
For each channel field, you can set the source to:
* **Product Field**: map directly to a standard product field (title, description, price, etc.)
* **Attribute**: map to a custom product attribute
* **Template String**: compose a value using multiple fields, for example `` `{{brand}} {{name}} - {{color}}` ``
* **Static Value**: set a fixed text that applies to all products
* **Computed**: use a dynamically calculated value
You can also add a **fallback** value for any field. If the primary source is empty, the fallback is used instead.
Variants are handled for you: every product gets its own feed row, and the computed **item\_group\_id** field carries the parent's SKU on each variant - which is exactly how Google, Meta, Bing, and Pinterest tie size and color options together into one listing.
### Auto-mapping
Click **Auto-map** to have WISEPIM suggest mappings based on matching field names. Click **AI Auto-map** to let AI match your product fields to the channel's requirements automatically. This is useful when field names don't match up exactly.
## BMEcat feeds for trading partners
If your wholesalers or buying groups ask for a BMEcat catalog, pick the **BMEcat 2005 (ETIM)** channel when creating a feed. BMEcat works differently from the other channels in one important way: **there is no field mapping to configure**. The feed exports your ETIM classes and their materialised features directly, so what ends up in the catalog is decided by the ETIM class each [product family is linked to](/en/products/classification).
Instead of mappings, a BMEcat feed has its own configuration card:
* **Pin to ETIM release**: pin the export to one release so your partner's import spec keeps matching, or leave it on **Automatic** to always use the newest installed release.
* **Catalog metadata**: how the catalog identifies itself to your trading partner - supplier name and ID (GLN, D-U-N-S, or a supplier-specific code), territory, catalog ID/version/name, and optionally a buyer name and ID for a catalog made for one specific buyer. Everything is optional; empty fields fall back to your project and feed name.
After each generation, the card shows how many articles, features, and values were exported. If products were skipped because their family is not linked to an ETIM class, the card tells you exactly how many and links you to [classification](/en/products/classification) to fix it. The feed quality panel also gains an **ETIM conformance** dimension, so you can see how well your products actually satisfy their classes before your partner's import tool tells you.
Pin the ETIM release once your partner has built their import around your catalog. An automatic release bump on your side can otherwise break a spec they validated against the older release.
## Feed quality
After generating a feed, the **Feed Quality** panel scores how well your feed is set up. The score is broken down across six dimensions:
* **Required Fields**: are all mandatory channel fields mapped?
* **Recommended Fields**: how many of the channel's recommended fields are filled?
* **Title Quality**: are titles descriptive and within the channel's length requirements?
* **Product Completeness**: how complete are your product records overall?
* **Image Coverage**: what share of products have at least one image?
* **GTIN/EAN Coverage**: what share of products have a valid GTIN or EAN?
Scores run from Poor to Excellent, with concrete suggestions for what to fix. Click **Recalculate** to refresh the score after making changes.
## Feed validation
**Feed Validation** checks whether each individual product meets the channel's field requirements. Click **Validate** to run a check. You'll see a list of errors and warnings by product, so you can fix issues before the channel rejects your feed.
## Channel readiness
Feed validation tells you about one feed. **Channel Readiness** answers the bigger question: across every channel you sell on, how much of your catalog is actually ready to be listed?
It has its own page. Pick the channels you care about and each one gets a card showing how ready your products are for it:
* A **percentage ready** for that channel, and how many required fields are tracked.
* **Coverage bars** per required field, so you can see which field is holding you back.
* Chips that count the products missing each field, for example the number of products with no GTIN.
* A **Fix** button that opens the AI fix drawer with exactly those products preloaded, so you can fill the missing field in one pass.
Check channel readiness before you launch a new channel, not after. Fixing the one field that 400 products are missing is a single action here, and it saves you a rejected feed later.
Readiness is scored on the required fields WISEPIM tracks for each channel. Required fields it doesn't track are flagged rather than guessed, so the score never pretends to know more than it does.
## AI optimization
The **AI Optimization** panel gives you three tools to improve your feed automatically:
* **Optimize Titles**: AI generates better titles for every product in the feed, tailored to what the channel expects
* **Optimize Descriptions**: AI rewrites product descriptions to be more complete and channel-appropriate
* **AI Audit**: AI reviews your feed setup and surfaces quick wins, including issues to fix and opportunities to improve coverage and quality
* **Suggest Schedule**: AI recommends when to refresh your feed based on when the channel typically fetches it
## Feed settings and refresh strategy
Each feed has three refresh strategies:
* **Manual**: you trigger regeneration yourself
* **On change**: the feed regenerates automatically whenever a product is updated
* **Scheduled**: the feed regenerates on a fixed schedule (hourly, daily, weekly, monthly, or a custom interval)
You can also set the product language and currency per feed, which is useful when you run separate feeds for different markets.
## Generation history
**Generation History** tracks every time a feed was generated. For each run you can see the version number, timestamp, number of products, file size, and duration. Select any two versions and click **Compare** to see a side-by-side diff. This is useful for spotting unexpected changes.
Feed generation is now much faster. Large catalogs that used to take a while come back in a fraction of the time, so regenerating after a change is no longer something you plan around.
## Feed analytics
**Feed Analytics** shows how external platforms are accessing your feeds:
* **Total Fetches**: how many times the feed URL has been requested
* **Unique Platforms**: how many distinct platforms are fetching it
* **Peak Hours**: when fetches typically happen
* **Cache Hit Rate**: how often the cached version was served
* **Platform Breakdown**: which platforms are fetching and how often
* **Access Timeline**: fetch activity over time
* **Quality Score Trend**: how your feed quality score has changed across generations
## XML import
Feed Hub also supports importing products from external XML feeds. Go to **XML Import**, upload a file or paste a URL, and WISEPIM analyzes the XML structure and suggests field mappings automatically using AI. You can save a completed mapping as an **Import Profile** for reuse or schedule it to run automatically.
Supported formats: `.xml`, `.rss`, `.atom`, `.bmecat`, and `.zip` (supplier catalog archives are unpacked automatically). Large supplier catalogs are fine - they just take a little longer to analyze.
### BMEcat catalogs import themselves
When you upload a supplier's BMEcat file, WISEPIM recognizes the format and shows a **BMEcat catalog detected** summary before the mapping step: the ETIM release the catalog declares, the article count, and every ETIM class it references (each one clickable, so you can inspect the class first).
The payoff: a BMEcat catalog carries its own ETIM classification, so **classes and features come across without any mapping work**. ETIM `` blocks are imported automatically into materialised attributes - the field mapping below the summary only covers scalar fields such as title, price, and EAN.
If the catalog declares an ETIM release you haven't installed yet, WISEPIM warns you and applies features against your newest installed release instead. Import the declared release first from [Classification](/en/products/classification) if your partner needs an exact match.
### Detected structure
Before anything is imported, WISEPIM shows you what it found in the file: how many items the feed contains, the path to each element, and a sample value from the data. Check the item count against what you expect. If it looks wrong, the feed is structured differently than assumed and it is better to catch that here.
### Review the mappings
AI proposes a mapping for every field it recognized, each with a confidence chip. Accept the ones that look right, reject or change the rest. Spend your attention on the low-confidence rows: those are where a wrong guess would quietly land in your catalog.
## Related
Export your catalog to CSV or Excel for one-off data tasks.
Manage your product catalog, attributes, and categories.
# Importing Products
Source: https://docs.wisepim.com/en/essentials/importing-products
Import your catalog from Shopify, WooCommerce, Magento, or CSV into WISEPIM. First import auto-maps categories and attributes so you are ready instantly.
Your product data lives somewhere already: in Shopify, Magento, WooCommerce, a spreadsheet, or all of the above. Importing brings it into WISEPIM so you can start improving it.
Bringing in a catalog for the very first time? Follow the step-by-step guide: [Import your first catalog](/en/guides/first-catalog/import).
On your first platform import, WISEPIM automatically pulls in your categories and attributes alongside your products. No manual setup required. Your catalog structure is ready from the start.
## Import sources
The import modal builds its list of sources automatically. Any connected integration that supports import appears as an option, so the more platforms you connect, the more you can import from. You don't need to manage a fixed list.
* **E-commerce platforms**: any connected integration that supports import, for example Shopify, WooCommerce, Magento, Lightspeed, Lightspeed E-Series (Ecwid), BigCommerce, PrestaShop, Shopware, Squarespace, CCV Shop, and more
* **CSV files**: any spreadsheet with product data
* **Excel files**: `.xlsx` workbooks, with a sheet picker
* **Web scraping**: paste a URL and let AI extract products, no file or API needed (see [Web Scraping Import](/en/essentials/web-scraping-import))
* **Demo data**: a ready-made sample catalog for your industry, perfect for exploring WISEPIM before you import your own
If you don't see a platform in the list, it just means it isn't connected yet. Set up the integration on the Integrations page and it will appear automatically.
## Connect your platform first
Before importing from an e-commerce platform, you need to set up the integration. Each platform has its own way of generating API credentials. Follow the guide for your platform:
Generate a custom app and API key
Create REST API keys
Set up an integration token
Connect your Lightspeed account
Get your Kaufland API credentials
Configure WebshopImporter
Once your credentials are ready:
1. Go to the **Integrations** page
2. Select your platform and enter your API credentials
3. Test the connection
4. Save
The import modal only shows platforms that have been successfully connected. If your platform doesn't appear, head to Integrations and set it up first.
## Running a platform import
Click the **Import** button in the toolbar.
Select the platform you want to import from. Only connected integrations are shown.
If a platform has several stores connected, WISEPIM asks which one to import from. With a single store, it skips this and goes straight to the import.
Under **One-time import scope** you can limit this run instead of pulling the whole store: **only products modified since** or **created since** a date (with 24 hours, 7 days and 30 days presets), a **maximum number of products**, **Only these SKUs** or **Exclude these SKUs** (paste a list or a spreadsheet column, up to 5,000), and **Only these categories** already in your project (up to 500). Some platforms add their own parameters, such as status, vendor, product type or tag. Which options appear depends on what the platform's API can filter on.
WISEPIM connects to your platform, discovers your products, and pulls everything in, including categories, attributes, and product relationships.
Once the import completes, spot-check a few products to make sure everything came through correctly.
Imports run in the background. You can keep working in WISEPIM while your products are being pulled in. You'll get a notification when it's done.
## CSV import
If your data lives in a spreadsheet, use CSV import. The CSV importer walks you through four steps: **Upload**, **Configure**, **Mapping**, and **Importing**.
**Prepare your file:**
* First row should contain column headers
* Use UTF-8 encoding
* Include at least product names and SKUs
The importer is forgiving about the rest. It reads UTF-8, Windows-1252 and UTF-16 files, honours Excel's `sep=;` line, skips title or supplier preamble rows above the header, and cleans numbers written as `€ 1.299,00`, `899,-`, `(12.50)` or `1,299.00`. Placeholders such as `UNKNOWN` stay empty instead of turning into 0. Barcodes typed as `=8718164601441` or in scientific notation are recovered, and an invalid check digit is a warning, not a failed row.
Files must be `.csv` and up to **300 MB**. WISEPIM warns you as files get large (over 10 MB, 50 MB, and 100 MB) so you know a big upload may take a moment; files over 80 MB are uploaded in chunks. Excel workbooks have a smaller limit, see [Excel import](#excel-import).
Drag in your file or browse for it. WISEPIM analyzes it and shows the row count, the detected delimiter, and the encoding. On a very large file the row count is an estimate at first, shown with a `≈` in front of it, until parsing finishes. If it guessed wrong, you can switch the delimiter (comma, semicolon, tab, tilde, or pipe) or encoding right here, and it will recognize source systems like Shopify, WooCommerce, and Magento exports automatically.
Set how the import should behave before you map anything. This step is where you choose:
* **Duplicate handling**: what happens when a product already exists, matched by SKU. Choose **Update existing products** (merge new data into them), **Skip duplicates** (leave them unchanged), or **Create as new** (add them with a unique SKU). This is a per-import choice - it is saved in import templates, and it is independent of the project-wide [conflict resolution setting](/en/settings/import#handle-duplicate-products) that governs platform imports.
* **Multi-value delimiter**: the character that separates several values in one cell (see below)
* **Dynamic attributes**: turn extra columns into attributes automatically, and optionally create any that don't exist yet
* **Nested data**: handle JSON columns and parent/variant relationships when your file contains them
Match your CSV columns to WISEPIM fields. Auto-mapping proposes matches, you decide the rest, and the **Sample readiness** panel tells you when the import can start. See [Map your columns](#map-your-columns) below. Save the result as a template or recipe to reuse next time.
WISEPIM imports your products in the background and shows progress as it goes.
### Map your columns
The mapping step has three modes. Switch between them whenever you like; they all edit the same mapping.
| Mode | What it is for |
| ---------- | --------------------------------------------------------------- |
| **Map** | Map columns quickly with searchable rows. Best for large files. |
| **Groups** | Work side by side with grouped attributes and drag and drop. |
| **Review** | Review coverage, gaps, and every active mapping. |
**Auto-map unmatched** finds matches for your unmapped columns with AI and smart name matching. The suggestions land in a review list first, each with a confidence level (High, Medium, Low) and the reason for the match. Uncheck the ones you do not want, change a target where needed, then apply the rest.
Filter the columns by status to focus on what is left: **Unmapped**, **Mapped**, **Ignored**, **Required**, **Locked**, **Conflicts**, or **Low confidence**. The issue queue counts what still needs a decision ("3 issues need attention") and steps you through them; press **⌘J** to jump to the next one. Every change is listed under **Change history**, with **Undo** and **Redo**.
**Sample readiness** checks the mapping against the preview rows and lists the blockers before you can start: unresolved columns, required fields still missing, mapping conflicts, errors in the sample, and duplicate headers. Every source column needs an explicit decision: map it, ignore it, or mark it not applicable. Only the preview sample is validated up front; the remaining rows are checked during the import itself.
The **Transform preview** (trim whitespace, text case, date and number display) shows what a cleanup would look like on a small sample before you map. It is a preview only for now: the settings are saved with your profile and sent along with the import, but the CSV importer does not apply the transformations yet.
#### Mapping tools
The **Mapping tools** panel has three tabs:
* **Recipes**: save the current mapping as a recipe and apply it to the next file from the same source. Recipes are stored on this device for the active project, up to 20. Pick one and the **Schema comparison** shows which fields are reused, new, or removed before you apply it.
* **Rules**: a **Bulk mapping rule** for files with many similar columns. Match columns by **Starts with**, **Ends with**, **Contains**, or **Has tokens**, then choose an action: **Map by remaining name**, **Map to one target**, **Ignore fields**, or **Mark not applicable**. **Preview** shows the matches, changes, and issues without touching the mapping; **Apply rule** commits them.
* **Warnings**: sample values that may not fit the type of the field they are mapped to, so a text column pointed at a number field is caught before the import.
### Variants in a flat file
Supplier files usually list every size and color as its own row. The importer's **Nested Data** step can turn those rows into proper parent/variant structures during the import, so you don't have to [group them afterwards](/en/essentials/bulk-editing/group-as-variants).
When the file's structure suggests variants, the step shows a **Variants detected** chip and proposes a setup. Enable **nested data handling** and pick a **Variant mode**:
* **No variants**: import all rows as separate products.
* **Parent-Child**: link variants to parent products using an identifier column - pick the **Parent identifier column** and the **Child/SKU identifier column**.
* **Grouped by attribute**: group rows by a shared attribute, for example all colors of the same product.
WISEPIM shows how many **Parents**, **Variants**, and **Standalone** products the setup produces before you import, and suggests a grouping column when values in one column repeat while another stays unique - with the honest caveat that a repeating column isn't *always* a parent, so check before accepting. A row with a blank child SKU is treated as parent metadata: its fields feed the configurable parent instead of becoming a variant.
### Import templates
Once you've mapped a file, save the setup as a template: your column mappings and duplicate-handling choices, reusable on every future import with the same file shape. WISEPIM ships built-in templates for common source systems, detects Shopify, WooCommerce, and Magento exports and offers the matching one, and you can save your own. Next time you import a file from the same supplier or export, apply the template and skip the mapping work. For a quick, on-device alternative, use a [recipe](#mapping-tools).
When you apply a saved template to a file whose headers differ, the **Profile compatibility check** shows which mappings are compatible, which saved columns are missing from this file, and which columns are new. **Apply compatible mappings** applies only the matches and leaves the new columns unresolved for you to review. A template cannot be applied while the file has duplicate headers.
Closed the tab halfway through? The importer keeps a draft of your mapping and settings. Come back and it offers **Resume your import setup**: re-upload the same file, or one with the same columns, and your mappings and settings are restored. Only the setup is kept, never the file contents. If the columns changed, the draft is not applied and you can discard it.
### Multiple images in one column
A single CSV column can hold multiple image URLs separated by a delimiter. WISEPIM splits them automatically: the first URL becomes the main product image and the remaining URLs are added as gallery images.
You set the separator in the **Multi-Value** panel of the **Configure** step. The default is the pipe character (`|`), which is the most common choice, and you can switch it to a semicolon (`;`) or comma (`,`) to match your file.
If WISEPIM finds several image columns in your file, it surfaces a notice: "Multiple image URLs detected." The first column mapped to images becomes the main image; the rest go into the gallery. No extra steps needed.
### Nested category paths
Your file can carry a whole category tree in one cell. Write the path with slashes and WISEPIM builds every level for you:
```
Home/Kitchen/Knives
```
That creates **Home**, then **Kitchen** under it, then **Knives** under that, and puts the product in the deepest one. Separate several paths with a comma to assign a product to more than one branch:
```
Home/Kitchen/Knives, Gifts/Under 50
```
Existing categories are reused, so importing the same paths again does not create duplicates.
This saves you building the tree by hand before an import. Export the category path from your old system into one column, map it to categories, and the structure comes across with the products.
## Template defaults fill the rest
Your file rarely has every field. Product template defaults close that gap: any field your file doesn't map gets the default value you set in [Import settings](/en/settings/import), so new products land complete instead of half empty.
Defaults can cover status, type, visibility, brand, supplier, price, cost, stock, shipping, units, country of origin, and product family. Text fields can also use pattern defaults with `{{variable}}` placeholders, so a value like `{{brand}} {{name}}` is built per product.
Template defaults are **on by default** and you can turn them off for a single import. They only apply when a product is **created**. Updates to products you already have are never touched, so a re-import can't overwrite real data with a default.
A re-import never turns a missing value into a zero either. When the source leaves out a price or a stock quantity, WISEPIM keeps the value you already have. A real `0` in the source is still stored as `0`.
## Excel import
Prefer to work in Excel? Choose **Excel Import** in the import modal to open the dedicated Excel importer. It accepts `.xlsx` workbooks up to **10 MB**. Older `.xls` files are not supported: save them as `.xlsx` first.
Click **Import** on the Products page and pick **Excel Import**.
Drag in or browse for your `.xlsx` file. If the workbook has more than one sheet, use the **Sheet** selector to choose the one to import from.
Match your columns to WISEPIM fields in the same [mapping workspace](#map-your-columns) as the CSV importer, including the **Sample readiness** check and draft resume. Then start the import. WISEPIM brings your products in and notifies you when it's done.
## Demo data
Want to explore WISEPIM before importing your own catalog? Choose **Demo Data**, pick your industry, and WISEPIM loads a sample catalog with products, categories, attributes, and families already set up. It's the fastest way to see how everything fits together, and you can clear it out later when your real products are ready.
## How long does it take?
Import speed depends on catalog size and your platform's API rate limits. Each platform throttles requests differently, so times can vary.
| Catalog size | CSV import | Platform import |
| ---------------------- | -------------- | ------------------- |
| Under 100 products | A few seconds | Under a minute |
| 100–1,000 products | Under a minute | 5–15 minutes |
| 1,000–10,000 products | A few minutes | 15 minutes – 1 hour |
| 10,000–50,000 products | A few minutes | 1–4 hours |
CSV imports are fast because there's no API rate limiting involved. Platform imports depend on how quickly the source platform serves requests. Shopify, Magento, and WooCommerce all have different rate limits.
Start with a small test batch to verify everything works before importing your full catalog.
## Post-import completeness scan
Once a CSV import finishes, WISEPIM automatically scans the imported products for missing critical fields, like a main image, weight, and price. If any gaps are found, the **Import Cleanup Wizard** opens.
The wizard walks you through each gap one step at a time:
* **Missing images**: WISEPIM checks whether an unmapped column in your original file might hold the image URLs. If so, it suggests re-running the import with that column mapped. You can also paste a placeholder URL to fill all products at once.
* **Missing weight or price**: AI reads each product's existing title and description and extracts the value where it finds one. For products where it can't, you can set a single value for all of them.
* **Other field gaps**: similar step-by-step fix options, including AI enrichment for text fields.
You can skip any step and come back later. Skipped gaps stay visible on the Products page as a banner until all critical fields are filled.
## After your import
Once your products are in, here's what to do next:
1. **Work through the Cleanup Wizard**: if critical fields are missing, the wizard opens automatically. Fix them before you publish
2. **Spot-check your data**: open a few products and verify the information came through correctly
3. **Review your categories**: your category structure was imported automatically. Make sure it looks right
4. **Check your attributes**: same for attributes. They're already there, ready to use
5. **[Enrich with AI](/en/essentials/enriching-products)**: this is where WISEPIM starts earning its keep. Select products and let the AI improve your content
## Undo an import
Imported the wrong file, or the wrong store? Open the import in the [Process Tracker](/en/other-features/process-tracker) and choose **Rollback**. It removes what that import brought in, so you can fix your file and run it again from a clean starting point.
Rollback is only available on import tasks. Do it before you start enriching, so you don't throw away work you did on top of the imported products.
## Where each product came from
Every product remembers the source it first arrived from: a platform, a file, a scrape, or a feed. WISEPIM records this once, on the first import, and never changes it afterwards, so it stays a reliable record of origin.
You can filter your catalog by import source on the [Products](/en/essentials/managing-products) page. That makes it easy to answer questions like "show me everything that came from this supplier's file" before a bulk edit, an enrichment run, or a cleanup.
## Troubleshooting
### Import not starting
* Check that your integration is connected and tested on the Integrations page
* Verify your API credentials haven't expired
* Make sure your API user has the right permissions
### No products found
* Confirm your store actually has published products
* Check API user permissions, as some platforms restrict product visibility
* Try re-testing the integration connection
### CSV issues
* Save as **CSV (UTF-8)**: encoding problems cause garbled text
* Remove special characters from column headers
* Make sure required fields (name, SKU) are mapped
### Slow import
Large catalogs take time, and platform API rate limits can slow things down. If an import seems stuck, check the [Process Tracker](/en/other-features/process-tracker) for status updates.
## Related
Configure the mappings and defaults every import runs with.
Import products straight from any webshop URL.
Follow long-running imports and see exactly what changed.
Send your enriched catalog back out to your channels.
A guided first import, from source file to a catalog you can work with.
# Managing Your Products
Source: https://docs.wisepim.com/en/essentials/managing-products
Search, filter, bulk edit, and manage your entire product catalog from one central dashboard. Master the WISEPIM product page for faster daily workflows.
The Products page is your command center for the whole catalog. From here you can search, filter, edit, enrich, import, and export, all without leaving the page.
Your view preferences (columns, filters, sorting, page size) save automatically. Your workspace stays exactly how you left it.
## Page layout
The Products page has three zones:
| Zone | Location | What it does |
| -------------------------- | --------- | ------------------------------------------------------------------------------------------------- |
| **Display controls** | Top left | Controls *what* you see: search, filters, columns, layouts, language |
| **Actions** | Top right | Acts on products: create, import, export, bulk edit, enrich (translation is a mode inside Enrich) |
| **Selection & pagination** | Bottom | Select products, move between pages, set rows per page and row height |
## Display controls
The left side of the toolbar controls how your product data is displayed.
Find products instantly with search, or build advanced filters with 90+ fields and save them as presets.
Choose which columns to show, reorder them, and save layout templates for different workflows.
If your project has multiple locales configured, a **language selector** also appears in the toolbar to switch which language's content is displayed.
### Choose which fields you search
By default the search box looks across all fields. If that returns too much noise, click **Search in** next to the search box and pick the fields you want. Fields are grouped into **Identifiers**, **Content**, **Metadata**, **Commercial**, and **Other**. Use **Select all** to search everything again, or **Only** on a single field to narrow the search to just that one. The placeholder text updates to show what you are currently searching.
Two extra options sit in the same popover:
| Option | What it does |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| **Fuzzy matching** | Matches similar terms, not just exact matches. Handy when you are not sure how a name is spelled. |
| **Collapse variants** | Groups variant matches under their parent product, so one product family takes one row instead of twenty. |
SKU and EAN are matched exactly, because a partial match on an identifier is almost never what you want. The text fields (name, brand, supplier, description, meta title, meta description) match on parts of words, and fuzzy matching loosens them further.
### Saved searches
Found a view you keep coming back to? Click **Saved** in the toolbar and save it. A saved search stores your filters *and* the text in the search box, so it recreates the exact list you were looking at. The name is pre-filled with your current search text (up to 60 characters); change it if you like, and it appears in the **Saved searches** popover for one-click access. Delete one from the same popover.
Saved searches and saved filter sets are stored on the server, not in your browser. They follow you to any device you sign in on, so the view you built on your laptop is waiting for you on your desktop.
## Actions
The right side of the toolbar is where you take action on your products.
Add new products manually with smart defaults and template-driven fields.
Bring products in from Excel, CSV, Shopify, WooCommerce, Magento, and more.
Push your product data to connected platforms or download as a file.
Make changes to hundreds of products at once: prices, categories, text, and more.
Improve product descriptions, titles, and SEO fields using AI prompts. Translation is built in as one of the enrich modes.
There is no separate Translate button in the toolbar. To translate products, open **Enrich** and pick the translation mode. See [Translating products](/en/products/translating-products) for the full walkthrough.
Enrichment results now land in the table live. When a product finishes, its new content appears in the row on its own. No refresh, no reloading the page.
## Working with products
### Selecting products
Click the checkbox next to any product to select it. You can also:
* **Select all on the current page** using the header checkbox
* **Select all products across all pages** using the banner that appears after selecting the current page
Selecting everything across all pages acts on every product that matches your current filters, not just the rows you can see.
The selection counter at the bottom right shows how many products are selected. Once you have a selection, the bulk action buttons in the toolbar become active.
### Copy the selected SKUs
Need the identifiers of a selection in a spreadsheet, an email, or another tool? Select the products, open the [Command Menu](/en/essentials/command-menu) and run **Copy Selected SKUs**. In the **Copy selected SKUs** modal, pick the **Identifier field** (SKU, EAN, UPC, or MPN) and the **Separator** (**One per line**, **Comma-separated**, or **Tab-separated**). A live preview shows the list, and a count tells you how many selected products have no value in that field. Click **Copy N SKUs** to put the list on your clipboard, or **Download** to save it as a `.txt` file.
It works on the whole selection, including "select all across pages", in the order of the table. The clipboard copy is capped at the first 250,000 identifiers; for anything bigger, use **Download** for the full list.
### Previewing and editing
Each product row has action buttons on the right:
* **Eye icon**: opens a read-only [preview](/en/products/editing-products) with product details and navigation to adjacent products
* **Pencil icon**: opens the [quick edit modal](/en/products/editing-products) for the most-used fields, without leaving your product list
* **⋮ (three-dots) menu**: opens the row action menu (see below)
To open the **full [product editor](/en/products/editing-products)** with a tab for every field, use the ⋮ menu and choose **Edit**. There's no separate "click the name" shortcut. When you come back with **Back to Products** or your browser's back button, the table reopens on the row you left, on the same page.
Quick edit does not auto-save. Make your changes, then click **Save Changes**. Once saved, your updates are visible to other team members in real-time.
### Row action menu
The **⋮ (three-dots)** menu on each row holds the per-product actions:
| Action | What it does |
| ------------------------------ | --------------------------------------------------------------------------------------------------------- |
| **Mark Reviewed / Unreviewed** | Flips the product's review status in one click |
| **Edit** | Opens the full [product editor](/en/products/editing-products) |
| **Test prompt** | Opens [Prompt Lab](/en/essentials/prompt-lab) with this product loaded, so you can try an AI prompt on it |
| **Delete** | Removes the product (with confirmation) |
If your project uses a multi-stage product lifecycle, the **Mark Reviewed / Unreviewed** toggle is replaced by a stage selector so you can move the product through your custom stages instead.
### Reviewing products
The **Reviewed** flag marks a product as checked and ready. It's more than a label: review status can **gate exports**, so unreviewed products can be held back until someone has signed off. That makes "Reviewed" a useful filter for finding work that still needs attention, and a safe gate before you push data to a live store.
Change a product's review status from the **⋮ menu** (Mark Reviewed/Unreviewed), the preview modal, or quick edit. You can also update it in bulk via [Bulk Edit > Update Status](/en/essentials/bulk-editing/update-status).
The review status chip is display-only, you can't click it to toggle. Review state has its own **REVIEW STATUS** column; the **STATUS** column is the product's publishing status (Active, Inactive, Pending, or Archived) and is a different thing. The review column isn't shown by default; add it from [Customize Your View](/en/products/customizing-views) if you want it in the table.
### AI prompts column
Add the optional **AI PROMPTS** column to see which prompt, and which version of it, produced each product's latest successful enrichment per kind: title, description, short description, attributes, SEO or combined. It is the fastest way to tell products written with your new house-style prompt from the ones still on the old one. Pair it with the **Enrichment Prompt** and **Prompt Version** [filters](/en/products/filtering-products) to select them.
### Quality score
The **Quality Score** column gives each product an at-a-glance grade for how complete and well-optimized its data is (descriptions, images, attributes, SEO, and more). Sort by it to surface your weakest products first, then fix them with quick edit or [AI enrichment](/en/essentials/enriching-products). A rising quality score means cleaner listings and better-performing product pages.
## Operation history
Bulk changes are fast, which also means a wrong one lands fast. **Operation history** is your safety net: it lists your recent bulk changes and lets you undo any of them in one click.
Open the [Command Menu](/en/essentials/command-menu) with `⌘K` (or `Ctrl+K`) and search for **History**.
Operation history currently lives in the Command Menu only. There is no toolbar button for it.
Each entry shows how many products it touched, when it ran, and who ran it, plus a chip for what kind of change it was:
| Kind | What it covers |
| ----------------- | --------------------------------------------------------------------- |
| **Bulk action** | A change made from [Bulk Edit](/en/essentials/bulk-editing) |
| **AI enrichment** | Content written by [AI enrichment](/en/essentials/enriching-products) |
| **Import** | Products created or updated by an import |
| **Single edit** | A change you made to one product |
From any entry you can:
* **View changes** to see a field-level diff of exactly what changed, old value next to new value
* **Undo** to roll the whole operation back
* **Redo** to put it back if you undid it by mistake
An entry you have rolled back is marked **Undone**, so the list always tells you the current state.
An operation can only be undone as a group while the products are untouched. If some of those products changed after the operation ran, WISEPIM tells you how many diverged and blocks the group undo, rather than quietly overwriting newer work.
Operation history and undo are a paid-plan feature. On the free plan you can see the entry point but not roll changes back.
## Workflow examples
### Review new imports
1. [Filter](/en/products/filtering-products) by **Status = Unreviewed**
2. Use the preview (eye icon) to browse through products
3. [Enrich](/en/essentials/enriching-products) products that need better descriptions
4. Mark products as **Reviewed** when done
### Prepare for a new market
1. [Filter](/en/products/filtering-products) by **Translation status = Not translated**
2. Select all matching products
3. [Translate](/en/products/translating-products) into your target languages
4. Review translations using the Language Comparison view
### Seasonal price update
1. [Filter](/en/products/filtering-products) by category (e.g., "Summer Collection")
2. Select all matching products
3. [Bulk Edit > Change Price](/en/essentials/bulk-editing/change-price) to apply a percentage discount
4. [Export](/en/essentials/exporting-products) the updated products to your webshop
### Clean up imported data
1. [Filter](/en/products/filtering-products) for products with empty descriptions
2. Run [AI Enrichment](/en/essentials/enriching-products) on the selection
3. [Bulk Edit > Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace) to clean up formatting
4. [Bulk Edit > Standardize Case](/en/essentials/bulk-editing/standardize-case) on product names
If you repeat the same steps often, you can probably automate them. See [Automations](/en/automations/overview) to build workflows that run on their own.
## Related
Build advanced filters and save them as presets for daily work.
Open a product and edit every field in the full editor.
Change prices, text, and categories across hundreds of products at once.
Search, select, and run product actions with your keyboard.
# Prompt Lab
Source: https://docs.wisepim.com/en/essentials/prompt-lab
Test and refine AI prompts on a real product before you run them across your catalog. Tweak the settings, preview the output, and save what works.
The Prompt Lab is where you perfect an AI prompt before using it in bulk. Load a real product, write or tweak a prompt, and see the generated content side by side with the original. Nothing changes in your catalog until you choose to apply it, so you can experiment freely.
**Where to find it:** in the top navigation, open **AI & Automation** and choose **Prompt Lab**, or use your avatar menu → **Prompt Lab**.
Use the Prompt Lab to get a prompt right once. Then save it to your library and reuse it across hundreds of products with consistent results.
## The layout
The Prompt Lab has three panels:
| Panel | What it shows |
| --------------------------------- | ------------------------------------------------------------------- |
| **Original product** (left) | The current product name and content. Your baseline for comparison. |
| **AI enhanced product** (right) | The AI-generated content. Updates each time you test. |
| **Prompt configuration** (bottom) | Where you write your prompt and choose the settings. |
## Test your first prompt
Type a product SKU in the search field at the top right, then click **Load Product**. The product appears in the left panel.
Pick a product that already has a description. That gives you a clear before-and-after comparison.
Choose what to enrich, then set the industry, purpose, tone, and point of view. See [Configuration options](#configuration-options) below.
Start from the default prompt template, or write your own. Use [variables](#using-variables) like `{{title}}` to pull in real product data.
Click **Test Prompt**. The generated content appears in the right panel in 30 to 60 seconds.
Check the result against the original. Change one setting, test again, and keep what works.
## Configuration options
The bottom panel controls how the AI writes. Set these before you test.
### What to enrich
| Field | Use it when |
| --------------- | ------------------------------------------------------------------- |
| **Description** | You want compelling marketing copy or better existing descriptions. |
| **Title** | Product titles are generic and need SEO and appeal. |
| **Attributes** | You need consistent, standardized product specifications. |
### Industry
The industry tells the AI your market context, so it uses the right terminology and focuses on relevant features. Options include All Industries, Fashion and Apparel, Electronics, Home and Garden, Health and Beauty, Sports and Outdoors, Automotive, and more.
### Purpose
| Purpose | Best for | Produces |
| ---------------------------- | ---------------------------- | -------------------------------------- |
| **Standard** | Most product types | Well-rounded, informative content |
| **SEO Optimized** | Online catalogs and listings | Keyword-rich, search-friendly content |
| **Marketing Copy** | Product pages and promotions | Persuasive, conversion-focused content |
| **Technical Specifications** | B2B and complex products | Detailed, feature-focused content |
### Tone of voice
| Tone | Best for |
| ---------------- | ----------------------------------------- |
| **Professional** | B2B products and professional services |
| **Friendly** | Consumer products and lifestyle brands |
| **Enthusiastic** | Sports, entertainment, youth products |
| **Luxury** | High-end products and premium brands |
| **Technical** | Technical products and professional tools |
### Point of view
| Setting | Example | Best for |
| ----------------- | --------------------------------------------- | ---------------------------- |
| **Second person** | "You'll love how versatile this is" | A personal, engaging tone |
| **Third person** | "This product offers exceptional versatility" | A neutral, professional tone |
### Advanced options
Turn on **Include Specification Table** to add a structured table of technical details. This works well for electronics, appliances, and other spec-heavy products.
## Write effective prompts
A good prompt is specific. Tell the AI exactly what to create, how long it should be, and in what style. Add context about your brand and an example of the output you want.
### Using variables
Variables pull real product data into your prompt at test time. Wrap each one in double braces. The Prompt Lab's test run substitutes these **bare** variables from the loaded product:
| Variable | Inserts |
| --------------------- | ----------------------------------- |
| `{{title}}` | Product name or title |
| `{{description}}` | Current product description |
| `{{primary_keyword}}` | The primary keyword (SEO mode only) |
Bare variables like `{{title}}` are a Prompt Lab feature for test runs. The scoped variables you see elsewhere - `{{product.name}}`, `{{brand.tagline}}`, and the rest of the [Content Logic](/en/workflows/content-logic) catalog - are resolved when a saved prompt runs in a real enrichment, not by the Lab's **Test Prompt** button. A scoped variable left in a test prompt shows a warning chip and passes through unresolved, so judge scoped-variable prompts by an enrichment run on a single product rather than by a Lab test.
**Example prompt:**
```
Create a compelling description for {{title}}.
Current description: {{description}}
Focus on benefits and end with a call to action.
```
### Prompt tips
* **Be specific.** Define the length, format, and style you want.
* **Add structure.** Use numbered steps or bullet points for multiple requirements.
* **Give context.** Mention your brand voice and target audience.
* **Start simple.** Begin with a basic prompt, then add detail as you test.
For brand-consistent results, complete your [Knowledge Library](/en/other-features/knowledge-library) first. The AI uses it to match your brand voice automatically.
## Save and reuse prompts
Once a prompt works well, save it so you never rewrite it.
### Save a prompt
Confirm the prompt gives good results across a few different products.
Click **Explore Prompt Library** to open the save dialog.
Give it a clear name, a description, and tags. Set the industry and purpose so you can find it later.
Your prompt is stored in the [Prompt Library](/en/essentials/prompt-library) for reuse.
### Load an existing prompt
Click **Load from Library**, browse your saved prompts, and select one. All settings and prompt text load automatically, ready to test or modify.
Name prompts descriptively, like "Electronics SEO Description". Add a version number when you make a major change.
## From lab to bulk
Once a prompt is proven, use it to enrich your whole catalog.
Run the prompt on a few representative products from each category, including ones with minimal data.
Store the prompts that perform best in your library.
Select a saved prompt in a bulk enrichment operation to apply it across many products at once.
## Troubleshooting
Check the SKU for typos or extra spaces, and confirm the product exists in your current project. Try a different SKU to test the search.
Add more specific instructions to your prompt, name the unique selling points to highlight, and adjust the industry and purpose settings.
Complete your [Knowledge Library](/en/other-features/knowledge-library) for better brand context. Add tone examples and brand-specific terms to your prompt, and adjust the tone setting.
State the length you want in the prompt, using a word count or a number of paragraphs.
AI generation usually takes 30 to 60 seconds, and complex prompts take longer. If there's no response after 2 to 3 minutes or the test keeps timing out, contact support.
## Related
Organize, reuse, and share your saved prompts.
Apply your tested prompts to products in bulk.
Give the AI your brand voice for on-brand results.
Generate and refine content in a conversation.
# Prompt Library
Source: https://docs.wisepim.com/en/essentials/prompt-library
Save, organize, and reuse the AI prompts that generate your product content. Build your own collection, or start from community and expert-made prompts.
The Prompt Library is where all your AI prompts live. Save the prompts you perfect in the Prompt Lab, organize them by category, and reuse them to keep your content consistent. You can also browse prompts shared by other users and expert-made prompts from the WISEPIM team.
**Where to find it:** in the top navigation, open **AI & Automation** and choose **Prompts** (that menu entry is the Prompt Library), or use your avatar menu → **Prompt Library**.
A saved prompt is reusable across your whole catalog. Build a small collection of proven prompts, and your content stays consistent no matter who runs it.
## Three collections
The library is split into three tabs. Use the right one for the job.
| Collection | What's inside | Use it to |
| --------------------- | ---------------------------------------------- | --------------------------------------------- |
| **Your Prompts** | Prompts you created and saved. Private to you. | Reuse your proven, brand-specific prompts. |
| **Community Prompts** | Prompts shared by other WISEPIM users. | Find inspiration and adapt tested approaches. |
| **Curated Prompts** | Expert prompts built and tested by WISEPIM. | Start from a reliable, high-quality template. |
### Curated Prompts
The **Curated Prompts** tab holds over 100 prompts written and tested by the WISEPIM team. They cover every content type, from product descriptions to SEO meta, across a wide range of industries.
You do not have to dig through all of them. The tab is ranked for your project: prompts that match your industry and your tone of voice come first, so the best fit for your catalog is usually near the top. Save one to **Your Prompts** and adapt it, or use it as-is.
A new project starts with sensible default prompts so you can enrich from day one. Once you finish onboarding and WISEPIM knows your industry, those starting defaults are upgraded to industry-specific ones. Any prompt you wrote or edited yourself is left exactly as you set it.
## Find a prompt
Search by title or description, and the results filter as you type. Narrow them further with the filters:
* **What to Enrich**: description, title, or attributes
* **Industry**: your market sector
* **Purpose**: SEO, marketing, technical, or standard
Filter by industry first to cut the list down fast. Then add a purpose filter for precise results.
Each prompt appears as a card showing its title, description, category tags, version number, and last-updated date. Color-coded chips mark the industry, purpose, and tone at a glance.
## Create a prompt
Click **Create New Prompt** (the green button, top right). Or open the [Prompt Lab](/en/essentials/prompt-lab) and save a prompt from there.
Give it a descriptive, searchable title, a clear description, and the prompt text.
Choose the industry, purpose, and tone so the prompt is easy to filter later. Set the point of view and any advanced options.
Save to your library, then test it in the [Prompt Lab](/en/essentials/prompt-lab) before using it in production.
Need a head start? Use the **AI Prompt Wizard** to generate a prompt for you, then refine it.
### Edit a prompt
Click the edit icon on any of your prompts to change its title, description, text, or categories. Save the changes instantly. Edit a prompt when you want to improve its results, adapt it for new products, or refine its language.
The version number advances only when you change something that affects generation: the prompt text, enrichment type, tone or custom tone, purpose, industry, point of view, the spec-table flag or the title and target-size controls. Renaming or sharing a prompt does not bump it. The previous configuration is kept in the version history, and every enrichment records the exact prompt, version and title it used. For a major change, create a new prompt instead of overwriting, so you keep the working version as a backup.
### Set a prompt as default
When a prompt becomes your go-to for a content type, make it the default. Choose **Set as default** on the prompt card in the library, or open the prompt and use the same option in the view modal.
The default prompt is preselected every time you open the enrich modal for that field, and it is the prompt [Auto-Fill](/en/ai/auto-fill) uses when it fills gaps on its own. One click here saves a click on every enrichment run afterwards.
**Set as default** and the dropdowns in [Settings → Enrich Prompts](/en/settings/enrich-defaults) are the **same setting**: one default per enrichment type, stored on the project. Changing it in either place updates the other, and the most recent change wins - there is no precedence between them. Use whichever is closer to hand: the library when you've just written a prompt, the settings page when you want to review all five types at once.
### Choose how long descriptions should be
Description prompts have a **target size**, so you can reuse the same prompt and still get copy that fits the channel you are writing for.
| Target size | Roughly |
| ----------------- | ------------------------------------------------------------- |
| **Auto** | WISEPIM picks a suitable length for the product. The default. |
| **Compact** | 80 words |
| **Standard** | 150 words |
| **Detailed** | 300 words |
| **Comprehensive** | 500 words |
| **Custom** | A word count you set yourself |
Use **Compact** for marketplace listings with tight character limits, and **Detailed** or **Comprehensive** for your own storefront, where longer copy helps both shoppers and search engines.
## Reuse community and curated prompts
You don't have to write every prompt yourself. Copy a good one into your own collection and adapt it.
1. Browse and find a useful prompt.
2. Click the copy icon to **Duplicate** it into your collection.
3. Edit the copy to match your brand and products.
4. Test and refine it in the [Prompt Lab](/en/essentials/prompt-lab).
1. Browse the curated collection.
2. Click the bookmark icon to **Save to Your Prompts**.
3. The prompt is added to your personal collection.
4. Customize it to fit your needs.
When you reuse a prompt, study its structure. Note how the instructions are organized and how variables are used, then apply those techniques to your own prompts.
## Use variables inside a prompt
[Content Logic](/en/workflows/content-logic) variables work inside the prompt text itself. Write `{{product.name}}`, `{{brand.tagline}}`, or `{{category.target_audience}}` in the prompt body and each variable is replaced with that product's own value before the prompt reaches the AI.
```
Write a description for {{product.name}} by {{product.brand}}.
Brand voice: {{brand.tagline}}. Target audience: {{category.target_audience}}.
```
One prompt then behaves differently for every product, so you get unique, on-brand copy instead of the same template with the name swapped. Update a brand or category variable once and every prompt that uses it follows.
## Keep your library organized
A tidy library is faster to search. A few habits keep it that way:
* **Name clearly.** Use descriptive names like "Electronics SEO Description v2" or "Fashion Marketing Copy".
* **Categorize consistently.** Group by industry or content type, and tag with relevant keywords.
* **Review regularly.** Archive or delete prompts that no longer perform, and test the rest against new products.
Press `C` to create a new prompt when you're not typing in a field.
## Troubleshooting
Use more specific search terms, try different filter combinations, and browse the community and curated collections for inspiration.
Customize it for your product types and adjust the industry and purpose settings. Test it on a few different products in the Prompt Lab to find what needs changing.
Use the same prompt across similar products, complete your [Knowledge Library](/en/other-features/knowledge-library), and make sure the prompt instructions are specific enough.
Apply consistent naming and categories, and archive or delete prompts you no longer use.
## Related
Build and test prompts on a real product before you save them.
Apply your saved prompts to products in bulk.
Give the AI your brand voice for on-brand results.
Generate and refine content in a conversation.
# Quick Win
Source: https://docs.wisepim.com/en/essentials/quick-win
Run AI on a few of your lowest-scoring products and see a measured result: products succeeded, fields changed, and the average quality change.
Quick Win is a guided five-step flow built for new users. It picks a handful of real products from your catalog that need work, runs one AI task on them, and shows you the before and after with numbers the server measured. Nothing is estimated.
You do not need a finished catalog. Quick Win works from the products you already have, or imports a demo catalog into your project if you have none yet.
## The five steps
The stepper at the top reads **Connect**, **Context**, **Enrich**, **Preview**, and **Value**. Each step takes a few seconds, and you can adjust anything along the way.
Choose **Use existing catalog** to work with products already in WISEPIM. If a channel is connected, it shows as **Ready** and you can **Continue**. If a channel is not set up yet, **Open setup** takes you there first.
No products at all? Choose **Skip, use demo data** and then **Continue with demo data**. WISEPIM imports a sample catalog for your industry so you can see results without uploading anything.
Before the AI starts, WISEPIM shows the settings it will use. Everything is pre-filled from your goal. Adjust anything that looks off, then click **Looks good**.
* **Brand voice**: **Trained** if WISEPIM has already read your site (it shows the URL and page count). **Skipped** means no website was analyzed yet, so a neutral tone is used.
* **Tone**: **Auto-picked** per channel: "Channel SEO, benefit-driven", "SEO-optimized, keyword-rich", or "Conversational, brand-aligned".
* **Target language**: the language the output is generated in.
The step is named after your goal, and the products are chosen to match it, always starting from the lowest-scoring products in your catalog:
| Goal | Which products are picked |
| ---------------------------------------------- | ------------------------------------------------------------ |
| **Translate the products that need it.** | Low-scoring products without content in your target language |
| **Fill the most useful description gaps.** | Low-scoring products with missing descriptions |
| **Fix missing product SEO.** | Low-scoring products with missing SEO metadata |
| **Prepare a small channel-ready sample.** | Low-scoring products to prepare for your channel |
| **Improve the lowest-quality products first.** | The products with the lowest current quality scores |
The subtitle tells you how many products are in the run ("Running AI on 4 real products."). The count depends on what the selection finds in your catalog; it is not a fixed number. Each product card shows its current quality score.
The status line moves from **Selecting real products** (or **Importing your demo catalog**) to **AI task in progress** and ends at **Server-confirmed result**. The button stays greyed out until then, when it changes to **See the results**.
You see each product side by side: **Before** on the left, **After** on the right. These are the values the server stored, not a mock-up. Fields that were empty before are marked **(empty)** so you can see exactly what was added.
If the task succeeded but nothing changed, the page says so: "The task succeeded with no observed field change". WISEPIM never claims a change it did not measure; use **Try another product** to pick a different low-scoring product.
When you are happy with what you see, click **Continue to measured value**.
The final screen opens with "The server confirmed N successful products and M observed field changes." and four measured numbers:
| Metric | What it is |
| --------------------------- | ------------------------------------------------------------------------ |
| **Products succeeded** | Products the task processed without error |
| **Observed fields changed** | Fields whose stored value differs between the before and after snapshots |
| **Average quality change** | The average quality score movement across the products, in points |
| **Credits remaining** | Your balance after the run |
A metric that could not be measured shows **Not measured** rather than a guess. From here, **Explore more features** takes you into the rest of WISEPIM.
## When credits are short
Quick Win checks your balance before it starts. If the selected run cannot be paid for, the Enrich step stops with **More credits are needed** and shows the shortfall ("Needed: 12 · available: 4").
After a run, the Value step points you to the right next move based on what is left:
* **Run another Quick Win** when you still have credits for another focused run.
* **View upgrade options** when your available credit pool is used up.
* **Contact the project owner** when the project uses a shared credit pool and someone else adds credits.
## What happens to your catalog
Quick Win runs a real AI task on the selected products in WISEPIM, so the enriched content stays on those products afterwards, just like any other [enrichment](/en/essentials/enriching-products). The run shows up in the [Process Tracker](/en/other-features/process-tracker) like any other task. Nothing is pushed to your store until you export.
## Starting Quick Win again
You can run Quick Win as often as you like, for example to try another goal or a different tone. Each run picks from the products that currently score lowest.
Trying different tones in the Context step is the fastest way to feel how brand voice changes the output. Run it once with the auto-picked tone, then again with a different one, and compare the previews.
## Related
The full guided setup: connect your first channel, import products, and publish enriched content.
Learn how AI enrichment works across your full catalog: titles, descriptions, SEO meta, attributes, and more.
# Web Scraping Import
Source: https://docs.wisepim.com/en/essentials/web-scraping-import
Turn any public webshop into products: paste a URL, let AI crawl and extract the data, preview one product, then import the lot. No file or API needed.
Sometimes the data you want is on a website, not in a feed: a supplier's catalog, your own store on another platform, or a reference range you want to match. **Web Scraping Import** crawls a public site, uses AI to extract each product (name, SKU, brand, price, images, attributes), and imports them into WISEPIM. There is no file to prepare and no API to connect.
**What acting on it enables:** onboard a supplier or an existing storefront in minutes instead of asking for a feed, and bring products into WISEPIM where you can enrich, translate, and publish them.
Web Scraping Import works on any public website, with no API keys or setup. It always shows you a live preview of one extracted product before you commit, so you can confirm the data looks right first.
## How it works
**Category page** walks a listing page and its pagination to find every product (best for a supplier or competitor catalog). **Sitemap** starts from one product URL and finds similar pages across the site. **Manual list** takes a list of product URLs you paste in, one per line.
Paste the seed URL. Optionally set a URL pattern (to include only the right pages) and caps on how many listing pages and products to pull, so a first run stays small.
Run the preview. WISEPIM reports how many product URLs it matched, the pattern it detected, a few sample URLs, and one fully extracted product so you can check the fields landed correctly.
Happy with the preview? Start the import. It runs in the background, so you can leave the page and watch progress in the Process Tracker. When it finishes, the products are in your catalog, ready to work with.
Keep your first run small. Set the **Max products** and **Max listing pages** caps low, preview the result, and confirm the data looks right before you let it pull the whole catalog.
## Controls you can set
You shape each scrape with a few optional overrides. The defaults work for most sites, so reach for these only when a run needs a nudge:
* **Sitemap URL override**: point WISEPIM at the right sitemap when a site doesn't declare one in its `robots.txt`. Use this if the sitemap mode can't find product URLs on its own.
* **Product URL pattern override**: tell WISEPIM which URLs count as products (for example `/p/` or `/products/`) when the auto-detected pattern picks up the wrong pages.
* **Max listing pages**: how many pagination pages of a category to walk. Raise it for large catalogs, keep it low for a quick test.
* **Max products**: an upper bound on how many products a run imports. A safety cap that keeps a first run small and predictable.
A single run can match up to **5,000 product URLs**. Each page is read up to **1,000,000 characters** of HTML, and a run reads up to **8,000,000 characters** in total across all pages. These ceilings are generous enough for most supplier catalogs. If you are pulling something bigger, split it into runs by category.
## Reading the preview
The preview exists so you never import blind:
* **Matched URL count** tells you whether the crawl found roughly the number of products you expected. Zero or far too few means the pattern or seed URL needs adjusting.
* **The detected pattern** shows which URLs will be treated as products. If it is catching category or blog pages, tighten the pattern with the product URL pattern override.
* **The extracted sample** is the real test: check that name, price, images, and key attributes mapped correctly before you commit to the full run.
If WISEPIM can't extract a product from the first URL, it shows a clear warning rather than failing silently. The import can still work on the other pages, so it's worth previewing once more or starting the run and checking the results. If the sample stays empty, adjust the seed URL or pattern and preview again.
## When a site blocks the scraper
Some webshops sit behind bot protection: Cloudflare, DataDome, and similar services that block anything that isn't a real person in a real browser. When WISEPIM hits one, it doesn't fail with a vague error. It tells you which site is protected and which service is doing the blocking, then points you at the fix.
The fix is the **WISEPIM browser extension**. It imports from the page your own browser already loaded, so the protection never applies: as far as the site is concerned, you are just a visitor reading a product page. You get the same extraction, on sites the crawler cannot reach.
Bot protection is not a reason to give up on a source. Open the product page in your browser, click the extension, and the product lands in your project the same way a scraped one does.
## Import with the browser extension
The extension works on Chrome, Edge, and Firefox. Setup takes a minute:
Open the browser extension page in WISEPIM and choose **Add to Chrome**, **Add to Edge**, or **Add to Firefox**.
Back in WISEPIM, choose the project this browser should import into under **Import into project**.
Click **Connect this browser**. The browser now appears in your **Connected browsers** list, showing which project it imports into and when it was last used.
Open a product page in that browser and use the extension to send it into WISEPIM.
Each connected browser gets its own key, scoped to the one project you picked. The extension never sees your password. Click **Disconnect** on a browser and it stops importing immediately.
## Classify scraped products automatically
If your project has adopted [classification standards](/en/products/classification), scraped imports can file themselves into them. Before anything else runs, each imported product is checked against the standards you've adopted. Configure this under **Settings → Import by Scraping**, in the **Classification** section:
* **Assign families from ETIM** (on by default): a product that matches one of your adopted ETIM classes gets that class's family - with all its attributes - the moment it lands.
* **Match categories to GS1 GPC** (on by default): scraped breadcrumbs land in your adopted GPC categories instead of creating a duplicate tree next to them.
* **Adopt missing classes during import** (off by default): when a product clearly matches a class or category you haven't adopted yet, adopt it on the spot. Leave it off to only use what you already adopted.
Classification is free and structural - it costs no credits, runs before the enrichment chain below, and simply does nothing until you've adopted at least one standard.
The order matters more than it looks: the family assigned here decides which attributes the enrichment chain can fill. Adopt your ETIM classes first, and a scraped product arrives with the standard's attribute slots ready for web research and enrichment to complete.
## Enrich scraped products automatically
A scraped product page rarely carries everything you want. WISEPIM can close that gap the moment an import finishes, without you selecting anything.
Go to **Settings → Import by Scraping** and turn on the chain. It runs in order on every import the scraper or the extension brings in:
1. **[Web research](/en/ai/web-research)** gathers facts about each product from the web. This step needs the **Pro** plan or higher. Without it you can still run web research by hand from the products table.
2. **[Bulk Enrich](/en/ai/bulk-enrich)** writes the fields you choose: descriptions, short descriptions, titles, SEO title and meta, and attributes. Each field uses your project's default prompt unless you pick a different one.
The browser extension can skip the chain for a single import. Useful when you are grabbing one product just to look at it, and don't want to spend credits enriching it.
## Act on what you find
The seed URL or pattern is off. For a category page, make sure you pasted the listing page (not a single product); for sitemap mode, paste a real product URL so WISEPIM can learn the pattern. Adjust the pattern override and preview again. **Outcome:** the crawl finds the full set before you spend an import run on it.
Some sites bury data in scripts or images. Re-preview to confirm it is consistent, import what extracts cleanly, then fill the gaps with [Enriching Products](/en/essentials/enriching-products) (AI can read the product images to recover attributes). **Outcome:** a complete catalog even when the source page was thin.
Note the settings that worked: the source mode, the seed or category URL, and any pattern or sitemap overrides. Next time the supplier updates, enter the same values to pull the changes. For sources you re-import often, a structured [feed](/en/essentials/feed-hub) is the more reliable long-term option when one is available. **Outcome:** repeatable supplier onboarding.
If the source can give you an XML or CSV feed, prefer [Feed Hub import](/en/essentials/feed-hub) or [file import](/en/essentials/importing-products): structured feeds are faster and more reliable than crawling. Use scraping when no feed is available. **Outcome:** the right tool for each source.
## How it compares
| | Web Scraping Import | File / Feed import | Web Research |
| ------------ | ----------------------------- | ------------------------------------------ | ------------------------------------------- |
| **Input** | A live website URL | An XML / CSV / JSON file or feed | A search query or competitor URL |
| **Best for** | Sites with no feed available | Suppliers and channels that publish a feed | Gathering facts to enrich existing products |
| **Output** | Products in your catalog | Products in your catalog | Research you apply to content |
| **AI does** | Extracts fields from the page | Maps columns to fields | Searches and summarizes |
## Related
File-based import (CSV, Excel) when you have structured data.
Import from and publish to XML / feed sources.
Research products on the web to enrich what you already have.
Fill any gaps the scrape left, with AI.
# Introduction to WISEPIM
Source: https://docs.wisepim.com/en/introduction
Your customers buy based on the product information they see online. WISEPIM is the AI-powered platform that helps you make it better, faster.
## Product content is your silent salesperson
Every product page is a conversation with a customer. Your titles, descriptions, images, and specifications decide whether they buy or leave. Yet most e-commerce teams spend their time wrestling with spreadsheets, copy-pasting between platforms, and translating by hand, instead of actually improving the content.
Most PIM systems are built to store and centralize product data. WISEPIM is built to help you **improve** it.
WISEPIM works as a standalone PIM or as a smart layer on top of your existing PIM. Either way, your product content gets better.
## What WISEPIM does differently
Generate descriptions, titles, SEO content, and attributes that match your brand voice, across your whole catalog in one click.
AI-powered translations that read like a native speaker wrote them. Reach new markets in hours, not months.
Automated rules catch missing fields, bad formatting, and incomplete content before it reaches your customers. Every product, every channel.
Build visual automations that import, enrich, export, and notify on a schedule or when events happen. No manual steps.
## Core capabilities
Pull products from your e-commerce platform, a CSV, or your existing PIM, with smart field mapping.
Edit thousands of products at once. Filter, select, update. Done.
Build reusable AI prompts that match your brand voice. Consistent content across your whole catalog.
Teach WISEPIM about your brand, audience, and products. The more it knows, the better the output.
Build visual workflows that handle repetitive tasks for you, on a schedule, on demand, or when events happen.
Track the quality, completeness, and channel readiness of your product data across your whole catalog.
All of the AI and automation tools live together under **AI & Automation** in the top navigation, so prompts, the Prompt Lab, your Knowledge Library, AI Chat, automations, and Quality Guard are one click apart.
## Start from a goal
If you would rather work toward an outcome than pick a tool, two hubs turn WISEPIM into a short checklist:
* **[Grow sales](/en/guides/overview)**: get found in search, cover more sales channels, make listings that convert, and protect your margin.
* **[Reduce returns](/en/guides/cut-your-return-rate)**: returns are usually a data problem. Fix the riskiest products first, prevent the next batch, and watch your return rate move.
## Built for teams that care about product content
Whether you manage 100 or 100,000 products, stop spending weekends on product descriptions and focus on strategy instead.
Manage multiple client catalogs from one platform. Deliver consistent, high-quality product content at scale.
## Get started
Go from zero to enriched products in four steps.
Set up your integration with Shopify, Magento, WooCommerce, Lightspeed, or CCV Shop.
## Related
Outcome-first walkthroughs that take you from a real problem to a working result.
Your post-login home: catalog health, a ranked action queue, and live activity.
# Achievements
Source: https://docs.wisepim.com/en/other-features/achievements
Track progress and unlock badges as you improve your product data, with milestones across enrichment, SEO, automation, and data quality.
The Achievements page turns the work of improving your product data into a series of milestones. As you enrich products, fix quality issues, connect channels, and build automations, WISEPIM awards badges and points. It's a clear way to see how far you've come and what to focus on next.
Every achievement you earn has a direct impact: better product data means better search visibility and higher conversion. The progress you see here reflects real improvements to your catalog.
## Your stats at a glance
Four summary cards at the top of the page give you an instant overview:
* **Achievements earned**: the number of badges you've unlocked so far
* **Total points**: your cumulative point score across all categories
* **Completion**: the percentage of all available achievements you've earned
* **Remaining**: how many achievements are still to unlock
## Progress overview
The progress section breaks down your completion by category. Each category (Completeness, SEO, Quality, Automation, Integration, and others) shows a progress bar with how many achievements you've earned out of the total available.
Click any category to jump straight to that group in the achievements grid below.
## Almost there
The **Almost there** section highlights the achievements closest to completion. These are the ones where your current progress is furthest along. Unlocking them is the fastest way to move the needle on your score.
Each card in this section shows the achievement name, rarity, and a progress bar with how many steps remain.
## Achievements grid
The main grid shows every achievement, earned and locked. Each card displays:
* **Name and description**: what the achievement is for
* **Rarity**: common, rare, epic, or legendary. Rarer achievements require more effort and are worth more points
* **Progress bar**: for locked achievements with trackable progress
* **Requirements**: the specific conditions you need to meet
* **Points earned or available**: the point value of the achievement
Click any card to open the detail modal, which shows your current progress, tips for completing the achievement, and a full list of requirements.
### Filtering achievements
Use the filter controls above the grid to narrow down by:
* **Category**: Completeness, SEO, Conversion, Quality, Automation, Integration, Performance, Consistency, Content, and more
* **Rarity**: common, rare, epic, or legendary
Earned achievements are shown with a green background. Locked ones are shown with a lock icon until you meet the requirements.
## Motivation section
At the bottom of the page, WISEPIM shows a short summary of the impact your progress has had. From there you can jump directly to editing products or viewing your analytics to see the results in action.
## Related
Get set up fast: connect a channel, import products, and run your first enrichment.
See how your product data improvements translate into search visibility and conversion performance.
# Brand Portals
Source: https://docs.wisepim.com/en/other-features/brand-portals
Share a live, read-only catalog with retailers, resellers and buyers through one link. No account, no export file, always up to date.
A Brand Portal is your catalog as a web page you can send to anyone. You pick which products go in it, which columns are visible, and how it looks. WISEPIM gives you one link. Whoever opens it sees a branded, searchable catalog with no login and no account.
It replaces the spreadsheet you email to a retailer every month. The portal reads your live catalog, so when you fix a price or add a photo, the person looking at the link sees it. Nothing is ever editable from the outside.
Brand Portals are available on every plan and use **no AI credits**. Portal pages are unlisted and carry a random link, and search engines are told not to index them. They are not private on their own, so use a password for anything sensitive.
**What acting on it enables:** give partners a catalog that is never out of date, stop maintaining per-retailer spreadsheets, and let a buyer pull your whole assortment into their own WISEPIM project in one click.
## Create a portal
Find **Brand Portals** in the top navigation under **Advanced**.
Give it a **Portal name**, something you will recognize in the list later, like "Retailer catalog 2026". This is your internal name, and you can set a different public name in a moment.
You land straight in the editor. New portals are **Live** from the start, but nobody can reach it until you share the link.
The portal list shows every portal with its status and its view count, so you can see which links partners actually use.
## Configure a portal
The editor has three sections. The header carries the portal name (click it to rename), a **Live** or **Paused** chip, the view count, **Preview**, and **Save changes**.
### What's in the portal
**Products in this portal** decides the scope:
* **Categories**: pick branches of your category tree.
* **Product families**: limit to specific families, or leave it on **All families**.
* **Advanced filters**: add any condition you can build in the normal product filters, for example only products in stock above a certain quantity.
* **Include out-of-stock products**: on by default. Switch it off for a portal where everything shown must be orderable today.
A live "≈ N products" chip updates as you narrow the scope. Leave everything empty to share your whole catalog.
**Visible columns** decides what a visitor can see about each product. Search the list, use **Reset to defaults** or **Clear all**, and pick from your standard columns and your custom attributes. The default set covers the basics: main image, name, SKU, brand, description, price, EAN, special price, stock status and quantity, short description, categories, and dimensions.
Some columns are marked as sensitive: **cost price**, **supplier**, **supplier SKU**, **internal notes**, **margin**, and **purchase price**. Turning one on shows your buying terms to everyone who has the link. Check this list before you share a portal with a customer.
The column list is enforced on the server, not just hidden in the page. A column you did not enable is not sent to the visitor's browser at all.
### How it looks
**Look & feel** controls the branding:
* **Public name** and **Headline**: what visitors see at the top. These can differ from your internal portal name.
* **Logo** and **Hero banner**: upload a file, pick from your media library, or use **Generate with AI** for the banner.
* **Intro text**: a short welcome, terms note, or contact line.
* **Appearance**: **Light**, **Dark**, or **Match visitor** to follow their device setting.
* **Accent color**: 12 presets or your own hex code.
**Storefront** controls the catalog itself:
* **Opens in**: **Product grid** or **Data table**. Grid suits browsing, table suits buyers scanning specs.
* **Content languages**: appears when your project has more than one locale. Pick which languages to publish, and visitors get a language switcher.
* **Currency symbol**: € by default, with the common alternatives available.
* **Contact email** and **Website link**: where an interested visitor goes next.
### Sharing & access
**Share** holds the link itself:
* Your public address, plus **Copy public link**.
* **Portal is live**: switch off to pause. The link stays valid but visitors see a friendly "taking a break" message instead of your catalog.
* **Generate new link**: creates a fresh address. The old one stops working immediately.
**Access** holds the password. Use **Set a password** to protect the portal, **Change password** to rotate it, and the **Remove password protection** checkbox to open it up again.
**Export & import** decides what visitors may take with them:
* **Allow export**: off by default. Turn it on and choose CSV, Excel, or both.
* **Show import button**: on by default. This is what lets another WISEPIM user pull your catalog into their own project.
* **Apply pricing rules**: off by default. Turn it on to run prices through your [Pricing & Margins](/en/settings/pricing) rules before they are shown, so a partner sees their price rather than your stored price. WISEPIM warns you if a cost column is also visible, since showing both defeats the point.
**Danger zone** holds **Delete portal**. Deleting is permanent and kills the link.
Make one portal per audience, not one portal for everyone. A reseller portal with export on and cost columns off, and an internal portal with more columns and a password, are two portals that take two minutes each.
## What visitors see
Visitors land on your branding, not on WISEPIM's. The top bar carries your logo and public name, a category menu, the language switcher if you enabled more than one language, and buttons for **Contact**, **Export**, and **Import this catalog**. The hero shows your banner and headline with chips for the product count, category count, and a **Live data** marker.
From there they can:
* **Search** across products.
* **Filter** by category and conditions, matching all, any, or at least a number of them.
* **Sort** by featured, name, price, brand, or stock.
* Switch between the **grid** and the **table** view, and choose columns in the table view.
* Open any product for a full detail page: image gallery with a lightbox, identifiers, price, stock, and cards for description, specifications, logistics and shipping, and product details.
* Click **Download PDF** on a product to get a clean datasheet, generated in their browser.
### Export the catalog
If you turned **Allow export** on, visitors get an **Export** button. They choose CSV or Excel, optionally limit it to the products matching their current filters, and download the file.
A single export is capped at **5,000 rows**. Exports are also rate-limited per visitor to keep a portal from being scraped in bulk.
### Import this catalog
The **Import this catalog** button is what makes a portal more than a brochure.
* A visitor who is already signed in to WISEPIM picks a target project under **Import into** and clicks **Import catalog**. The import runs in the background and the products land in their project.
* A visitor without an account chooses **I'm new, get started free** to sign up, or **I have a WISEPIM account** to sign in first.
For a brand sending its assortment to twenty retailers, this turns catalog onboarding into one click on the retailer's side.
## Password protection
Set a password and visitors meet a lock screen carrying your branding before they see anything. They enter the password you sent them and click **View catalog**.
An unlock lasts **12 hours** on that visitor's browser, so a buyer working through your catalog is not asked again every few minutes.
**Generate new link** logs everyone out at once. Rotating the address invalidates every active unlock, so anyone still browsing has to use the new link and password again. That is exactly what you want when a link has leaked, and something to avoid on a busy Monday morning otherwise.
Password attempts are limited to **10 per hour** per visitor, so a portal cannot be brute-forced.
## Act on what you find
Build a portal scoped to what that retailer buys, turn **Allow export** on, and send the link once. They pull a fresh file whenever they need it. **Outcome:** the monthly export job disappears, and they stop working from stale data.
Set up a rule in [Pricing & Margins](/en/settings/pricing) scoped to that portal's channel, then turn on **Apply pricing rules** in the portal. Your stored prices never change, only what the portal shows. **Outcome:** one catalog serves several partner price levels. **Check first:** make sure cost price and margin columns are switched off.
Open **Sharing & access** and click **Generate new link**. The old address dies immediately and every active password unlock is cancelled. Send the new link to the people who should have it. **Outcome:** access is revoked in seconds, without deleting the portal or rebuilding it.
Use **Preview** in the editor header to see exactly what a visitor sees, then walk the visible-columns list once more. **Outcome:** you catch a sensitive column before a customer does.
Switch **Portal is live** off instead of deleting it. Visitors see a "taking a break" message, your settings survive, and you can bring it back for the next season. **Outcome:** you keep the setup work without leaving old prices in public.
## How it compares to exports and feeds
* **[Exporting products](/en/essentials/exporting-products)** gives someone a file. It is right when they need data at a fixed moment: a one-off price list, an accountant's request, a migration.
* **[Feed Hub](/en/essentials/feed-hub)** gives a machine a file on a schedule. It is right for marketplaces and comparison sites that fetch a feed automatically.
* **A Brand Portal** gives a person a page. It is right when a human needs to browse, search, and decide, and you want them looking at today's catalog rather than last month's download.
## Related
Show partner prices in a portal without touching your stored prices.
Send a file when a page is not what someone needs.
Scheduled product feeds for marketplaces and comparison sites.
Manage the logos, banners, and product photos your portal shows.
# Knowledge Library
Source: https://docs.wisepim.com/en/other-features/knowledge-library
Teach WISEPIM your brand voice, products, and audience. Fill in your Knowledge Library so AI writes content that sounds like your team, not a robot.
The Knowledge Library is your brand's memory. It holds your voice, your products, and your audience in one place. Every AI feature reads from it, so the more you fill in, the more your generated content sounds like you.
A complete Knowledge Library is the single biggest lever for better AI content. Spend an hour here and every product description, title, and translation improves.
## Why it matters
Without context, AI writes generic copy. With your Knowledge Library filled in, the same AI knows your tone, your selling points, and who you are talking to.
| Without a Knowledge Library | With a complete Knowledge Library |
| --------------------------------- | ----------------------------------- |
| Generic, one-size-fits-all copy | Content in your own voice |
| Inconsistent tone across products | Consistent messaging everywhere |
| Misses your key selling points | Highlights what makes you different |
| Talks past your customers | Speaks to your real audience |
## Knowledge categories
Your Knowledge Library is split into focused sections. Fill in the ones that matter most to you first. You do not need to complete every field to see results.
Your mission, values, and story. This is the foundation, so start here. Include your brand positioning and what sets you apart.
How your brand sounds. Add tone-of-voice adjectives (friendly, expert, playful), your communication style, and words or phrases to use or avoid.
Who you sell to. Describe your customer segments, their pain points, their goals, and the questions they ask before buying.
Why customers choose you. Capture your core benefits, your competitive advantages, and the value you deliver over alternatives.
Rules your content must follow. Note required formats, must-have details, and any compliance or industry terminology to respect.
Your visual identity. Document brand colors, imagery style, and any visual conventions AI should keep in mind.
## Brand identity
Brand identity is the foundation, and it has its own form. Fill it in first: every other section builds on it, and it is the part the AI leans on hardest when it writes.
Three things go in here:
* **Brand story**: who you are, where you came from, and what you exist to do. This gives the AI the context behind your products, not just the specs.
* **Voice**: how your brand sounds. Warm or precise, playful or expert. Add the words you use and the words you never use.
* **Values**: what you stand for. Sustainability, craftsmanship, value for money. These are the promises the AI should reinforce instead of inventing its own.
Once this is filled in, every description, title, SEO snippet, and translation is written from it. If AI output ever feels off-brand, this is the first place to look.
## Fill in your Knowledge Library
Navigate to the Knowledge Library from your main menu. You can also jump straight to any section from the [Command Menu](/en/essentials/command-menu).
Begin with brand identity. It is the foundation every other section builds on.
Open a category card and fill in its fields. Finishing one section before moving on keeps your context coherent.
Concrete details beat vague ones. Write in the tone you want AI to copy, and use the exact terms your industry uses.
Your progress saves automatically as you type. Each category shows its own completion percentage, and the overview shows your total.
Already have brand guidelines, a tone-of-voice doc, or customer research? Use them as your source. Copying from existing material is the fastest way to a complete library.
## Track your progress
The overview shows a completion percentage based on how many fields you have filled with meaningful content. Use it to spot gaps.
* **Per-category progress** shows which sections still need attention.
* **Overall progress** shows how close you are to a complete library.
* **Low-completion categories** are the best place to focus next.
## Keep it current
Your Knowledge Library is a living document. Update it whenever your brand, products, or audience change. Common triggers:
* Your messaging or positioning shifts.
* You launch a new product line or category.
* Your audience grows or changes.
* The market or competition moves.
After a major update, generate a few sample descriptions and check that the AI output matches your brand. Adjust the relevant section if anything feels off.
## Troubleshooting
Fill in **brand voice** and **brand identity** thoroughly. Add concrete tone adjectives and example phrases your brand uses. Vague input gives vague output.
Add detail to **value proposition** and **content requirements**. List your specific benefits and the must-have details every description should include.
Complete **target audience**. Add customer segments, common questions, and pain points so AI knows who it is writing for.
Start with the sections that matter most, not every field. Set aside dedicated time and reuse your existing brand documents.
## Related
Generate titles, descriptions, and SEO copy that draws on your Knowledge Library.
Build and test prompts that use your brand context automatically.
Jump straight to any Knowledge Library section in one keystroke.
Chat with an AI that already knows your brand and products.
# Managing Product Attributes
Source: https://docs.wisepim.com/en/other-features/managing-attributes
Create and organize custom fields that define your product data model. Set up text, number, select, image, and file attributes to structure your catalog.
Attributes are the building blocks of your catalog. Each one is a custom field that holds a specific piece of product data: a color, a weight, a description, an image. Together, they form the data model every product follows. Set them up well and every product stays consistent, searchable, and easy to filter.
Attributes are shared across your project. When you create an attribute, it becomes available for assignment to any [product family](/en/products/product-families).
## Attribute Types
WISEPIM supports a range of attribute types to cover different kinds of product data:
| Type | Use case | Example |
| ---------------- | ---------------------------- | ------------------------------- |
| **Text** | Short single-line values | Product name, SKU, brand |
| **Text Area** | Longer multi-line content | Descriptions, care instructions |
| **Number** | Whole numbers | Warranty years, piece count |
| **Decimal** | Numbers with decimals | Weight, dimensions, price |
| **Date** | Date values | Release date, expiry date |
| **DateTime** | Date and time values | Sale start time |
| **Select** | Single choice from a list | Size (S, M, L), Color |
| **Multi-Select** | Multiple choices from a list | Compatible devices, features |
| **Boolean** | True/false toggle | Waterproof, wireless |
| **Color** | Color picker | Primary color |
| **Image** | Image upload | Product photo, diagram |
| **File** | File upload | User manual, certificate |
Use **Select** and **Multi-Select** instead of free text whenever the values are predictable. This keeps your data consistent and makes filtering reliable.
## Creating an attribute
The New Attribute form keeps creation fast. It captures only the essentials, so you can add a field and move on. Everything else (validation, cleaning, enrichment) lives in the attribute's settings, which you open after creating it.
Navigate to **Product Attributes** from the sidebar.
Click the **New Attribute** button to open the creation form.
Enter a **Label** (the human-readable name) and select the **Type**. The **Code** (the technical identifier) is generated from the label as you type, and you can edit it.
Optionally pick an **attribute group** and set a **sort order**. These control where the field appears in product forms.
Toggle whether the attribute is **required**, **unique**, **filterable**, **searchable**, or **visible** in product forms. New attributes are visible by default.
For **Select** and **Multi-Select**, choose between custom inline options or a shared [attribute options set](#attribute-options-shared-value-lists). You can also tick **allow new options on import** so that imported values you have not predefined get added automatically instead of being dropped. For **Number** and **Decimal**, you can link a [unit of measure](/en/products/units-of-measure) code set.
Click **Create Attribute**. It is now available for assignment to product families.
The attribute code cannot be changed after creation. Use a descriptive, lowercase format like `screen_size_inches` or `is_waterproof`. Codes also cannot clash with reserved system fields such as `sku`, `price`, `brand`, or `weight`.
Some plans cap the number of custom attributes. When you reach the limit, the page shows a counter chip and the **New Attribute** button becomes an upgrade prompt. [Upgrade your plan](/en/settings/billing) to add more.
## Attribute properties
Set these five toggles when you create an attribute. They shape how the field behaves across your catalog:
* **Required**: must be filled in for all products that use this attribute.
* **Unique**: no two products can have the same value for this attribute.
* **Filterable**: can be used to filter the product list.
* **Searchable**: included in product search results.
* **Visible**: shown in product forms and displays.
Mark a field **Filterable** when shoppers or your team will want to slice the catalog by it (color, brand, size). Mark it **Searchable** when its value is something people type to find a product.
You do not have to reopen the form to change these later. In the list view, each row has a strip of one-click property toggles for **Filterable**, **Searchable**, **Unique**, **Required**, and **AI enrichable**. Click one and it updates instantly, so you can fine-tune your whole model without opening a single modal.
## Quick edit vs full settings
There are two ways to change an attribute after it exists, and they do different jobs:
* **Quick edit** (the pencil icon on a row) reopens the same basic fields you set on creation: label, type, group, sort order, the five properties, and the value source for select types. The code stays read-only. Use it for everyday tweaks. The Save button highlights only when you have unsaved changes, so you always know where you stand.
* **Settings** (the broom icon on a row) opens the deeper, tabbed configuration below: validation rules, data cleaning, enrichment behavior, quality weight, and platform mapping. Use it when you want the field to enforce clean data or take part in AI enrichment.
Need a near-identical attribute? Use the **duplicate** action on any row. It copies the attribute and its settings, then opens the copy for editing so you only change what differs.
## Configure attribute settings (after creating)
Creating an attribute defines the field. Configuring its settings makes the field smart: it enforces clean data, lets AI fill it in, and tunes how much it counts toward your quality score. Open these from the **settings (broom)** action next to any attribute.
The settings open in a tabbed modal. Which tabs and options appear depends on the attribute type.
### General
* **Import, export, and enrichment toggles**: choose which operations this attribute takes part in.
* **AI enrichable**: allow AI to suggest or generate values for this field.
* **Quality weight**: how much this attribute counts toward a product's completeness score, on a scale from nice-to-have to critical. For number and decimal fields you can also set a unit and a plausible min/max, so the quality checks can flag values that fall outside a sensible range.
### Validation rules
Enforce data quality so bad values never reach your channels:
* **Text length**: minimum and maximum character limits, plus a format pattern (email, URL, alphanumeric, phone).
* **Number ranges**: acceptable min and max values, and decimal precision for decimal fields.
* **Date ranges**: earliest and latest allowed dates, and a date format.
* **Selections**: minimum and maximum number of choices for multi-select, plus per-option rules (length, pattern, uniqueness, and a custom error message).
### Data cleaning
Cleaning rules normalize values automatically during import and editing, so your data stays consistent without manual work:
* **Basic**: trim whitespace, remove empty values, collapse extra spaces, and convert blanks to a fallback value.
* **Text**: normalize case, strip special characters, fix encoding, strip or limit HTML, and convert line breaks.
* **Numbers**: remove currency symbols, standardize thousand and decimal separators, and round to a set precision.
* **Options**: deduplicate, sort, and map similar values together so "Blue" and "blue" become one.
### Enrichment
For text fields, tune how AI fills the attribute:
* **Confidence threshold**: minimum confidence score required before a suggestion is used. Higher means fewer but more reliable values.
* **Enable AI suggestions** and **require manual review**: decide whether a person checks AI output before it is applied.
* **Word limits**: minimum and maximum word counts for generated text.
* **Enrichment instructions**: tell the AI exactly what this field should contain, for example "Extract the screen size in inches from the specifications".
### Platforms
This tab shows how the attribute maps to each connected sales channel (Magento, a webshop, a marketplace). Mapping itself happens in the integration's **Data Mapping** tool, and the tab links you straight there so you can line up your internal field with the platform's field, mark it as a configurable or variant attribute, and keep exports consistent.
The mapper has two modes: **Map** to build mappings by dragging or choosing a source directly, and **Review** to audit coverage and correct individual mappings. **Smart match attributes** runs locally on strong name matches, without an AI call, and you review the result before saving. **Undo** reverses the last manual mapping, auto-map, or removal. Long attribute lists are paged, so a 500-attribute model stays workable.
## Build a whole data model with the AI Data Model Architect
Starting from scratch, or moving into a new industry? The AI Data Model Architect generates a complete starting model for you: attributes, attribute groups, and families, all at once. Open it from the **AI Data Model Architect** button on the Product Attributes page.
Tell the Architect what you sell. There is a quick mode that builds a model straight from the industry, and a guided wizard where you add sales channels, catalog size, pain points, and target marketplaces for a more tailored result.
Decide what to generate: general attributes, category-specific attributes, attribute groups, and families. The Architect also recommends unit of measure and option sets where they fit.
Every suggested attribute comes with a reason and priority (essential, recommended, optional). It also flags overlaps with attributes you already have, so you can merge or rename instead of creating duplicates.
See exactly how many attributes, groups, and families will be created or updated, then apply. Your model is built in seconds instead of hours.
The Architect is the fastest way to set up a new project. Generate a solid baseline, then refine the attributes you care about with per-attribute settings.
## Bulk actions on attributes
When your model grows, editing fields one at a time gets slow. Select the checkboxes on multiple attributes and a toolbar appears with actions that apply to the whole selection at once. You can select everything that matches your current filters in a single click.
* **Toggle properties**: set **required**, **unique**, **filterable**, **searchable**, **visible**, or **AI enrichable** across every selected attribute. Each property shows whether the selection is currently all on, all off, or mixed, and you choose to set it on, set it off, or leave it untouched.
* **Move to group**: reassign every selected attribute to another [attribute group](#organizing-with-attribute-groups), or ungroup them, in one move.
* **Bulk edit settings**: push validation, cleaning, and enrichment rules to every selected attribute. Each section has its own apply switch, so untouched sections are left alone, and a **Preview** tab shows the exact before-and-after changes before you commit.
* **Export to CSV**: download just the selected attributes.
* **Delete**: remove the selected attributes. A short undo window lets you reverse it if you change your mind.
Found a set of cleaning and enrichment settings that works well? Save it as a **template** from any attribute's row, then apply it to a whole selection later through Bulk edit settings. It is the fastest way to keep similar fields consistent.
## Organizing with attribute groups
Attribute groups bundle related attributes for a cleaner product form. For example, you might group "Width", "Height", and "Depth" under a "Dimensions" group.
Navigate to **Attribute Groups** from the sidebar, or from the **Manage** dropdown on the Product Attributes page.
Create a new group with a **name** and a **code**. Set a **sort order** to control where the group sits relative to other groups.
Choose whether the group shows for **all products** or only for **specific categories**. Category scope keeps forms focused, so a "Battery" group appears only on electronics, not on apparel.
Select which attributes belong in this group.
Click **Save**. The group organizes its attributes into a section in product forms.
Group attributes by purpose: a "Specifications" group for technical details, a "Marketing" group for descriptions and features, a "Logistics" group for shipping info.
## Attribute Options (shared value lists)
For **Select** and **Multi-Select** attributes, the choices can come from a shared, reusable list called an **attribute options set** (a controlled vocabulary). Instead of typing the same options into every attribute by hand, you define the list once and point multiple attributes at it. Update the list in one place and every attribute that uses it stays in sync.
Open **Attribute Options** from the **Manage** dropdown on the Product Attributes page. Each options set has:
* A **name**, **code**, and optional **description**.
* A list of **values**, each with a code and a label per language, so your options are translated alongside the rest of your catalog.
* An **active/inactive** state per value, so you can retire an option without deleting its history.
* A **new value handling** policy that decides what happens when an import contains a value that is not yet in the list: **flag it for review**, **allow it** to be added automatically, or **skip it**.
You can build a list by hand, or import one from CSV. When you create or quick-edit a Select or Multi-Select attribute, pick **Attribute Options (shared vocabulary)** as the value source and choose the set.
Use a shared options set whenever the same list shows up on more than one attribute, for example a brand list, a material list, or a size scale. It is the single most effective way to stop near-duplicate values from creeping into your catalog.
## Import and export attributes
For larger models, you do not have to build attributes one by one.
* **Import from CSV**: click **Import** and upload a CSV to create many attributes at once. You can also import attribute definitions from a connected platform such as Magento, WooCommerce, Shopify, or a webshop importer.
* **Export to CSV**: export your selected attributes or your full filtered list to CSV. This is handy for backups, sharing your model with a teammate, or editing in a spreadsheet.
Pair export with import to bulk-edit: export your attributes, adjust them in a spreadsheet, then re-import.
## Views and filters
The Product Attributes page adapts to how you work, so a 20-attribute model and a 500-attribute model both stay manageable.
* **Three layouts**: switch between a **table**, **cards**, or a **grouped** view that organizes attributes by their group.
* **Density and columns**: toggle between compact and comfortable spacing, and choose which optional columns (code, operations, AI, sort order) to show.
* **Quick filters and search**: filter by group or type, search by label or code, and combine quick-filter chips (required, filterable, AI enrichable, has options, no group, and more) with match-all or match-any logic to zero in on exactly the attributes you need.
* **Saved views**: save a set of filters as a named view and reapply it in one click.
## Troubleshooting
### Attribute not showing in product forms
* Check that the attribute is marked as **Visible**.
* Verify the attribute is assigned to the product's [family](/en/products/product-families).
* Confirm the attribute group is not hidden by its category visibility scope.
### Validation errors during data entry
* Review the validation rules for overly strict settings.
* Check for conflicting rules (e.g., min value higher than max).
* Make sure error messages are clear so your team knows what to fix.
### Inconsistent data across products
* Switch from free-text to **Select** or **Multi-Select**, backed by a shared [attribute options set](#attribute-options-shared-value-lists) where possible.
* Enable **data cleaning** rules to normalize values automatically.
* Use the [Data Quality](/en/analytics/data-quality) tools to find and fix inconsistencies.
## Related
Assign attributes to product families to define which data each product type requires.
Link number and decimal attributes to unit code sets for consistent, convertible measurements.
Organize products into hierarchical categories for navigation and filtering.
Track completeness and fix inconsistent attribute values across your catalog.
# Managing Product Categories
Source: https://docs.wisepim.com/en/other-features/managing-categories
Build a category tree to organize your catalog and list products in the right place on every sales channel.
Categories are the backbone of your catalog. They group related products into a tree (like Electronics > Smartphones > Android) so customers find what they need and your data stays organized for every platform you sell on.
Categories are shared across your project. A product can sit in many categories, but always mark one as the **primary category**. Platform integrations and reports use the primary category.
## How categories work
Categories form a parent-child tree. Each level narrows the scope.
* **Parent categories** are broad top-level groups (Electronics, Clothing, Home & Garden).
* **Child categories** sit under a parent and get more specific (Electronics > Laptops).
* **Category paths** are the full route from top to bottom (Electronics > Smartphones > Android Phones). Paths drive breadcrumbs, URLs, and platform mappings.
Keep your tree 3 to 4 levels deep. Going deeper adds clutter without helping customers find products faster.
A category is more than a label in a tree. It carries real content: a description, SEO meta, and AI notes that travel with it to your sales channels. Here is what you can set on each one:
| Field | What it does |
| --------------- | ----------------------------------------------------------------------------------------------------- |
| **Name** | The display name customers see. Keep it clear and jargon-free. |
| **Description** | Rich text shown on the category page. Great for SEO and for helping shoppers understand the section. |
| **Parent** | The category this one sits under. Leave it empty for a top-level category. |
| **Slug** | The URL-friendly identifier (for example `smartphones`). Generated from the name, and editable. |
| **Sort order** | Position within the same level. Lower numbers appear first. |
| **Active** | Whether the category is live. Turn it off to hide a category without deleting it. |
| **SEO meta** | Meta title, meta description, and keywords for search engines. |
| **AI notes** | Short guidance for the AI when it writes this category's content (tone, focus, must-mention details). |
The full hierarchy path (like `electronics/smartphones`) is shown as a read-only column. It is built automatically from the parents you choose, so you never type it by hand.
## Create a category
Go to **Product Categories** in the sidebar. You see your categories as a tree.
Click **New Category** to open the form.
Enter a **Name**. Add a **Description** to give the category page real content. The **Slug** fills in automatically, and you can edit it under advanced settings along with the **Sort order**.
Pick an existing category as the parent to make this a subcategory. Leave it empty for a top-level category.
Click **Save**. You can now assign products to the category.
## Assign products to categories
There are two ways to put products into a category:
* **From a product page:** open a product, pick categories in the category field, and mark one as primary.
* **In bulk:** select several products on the Products page, then use [bulk edit](/en/essentials/bulk-editing) to assign or change categories at once.
Assign products to the most specific child category, not a broad parent. A laptop belongs in "Electronics > Laptops", not just "Electronics".
## Fill categories with AI
Categories are a quiet SEO win. A good description and meta tags on every category help shoppers and search engines, but writing them by hand for a deep tree is slow. WISEPIM does it for you.
### Bulk enrichment
Use the **Enrich** action to generate content across many categories at once. You choose:
* **Which fields** to write: description, meta title, meta description, and keywords.
* **Which languages** to write them in, so multilingual catalogs get covered in one run.
* **Internal links** to weave in, pointing to related categories. This builds the kind of internal linking search engines reward.
This turns an empty tree into a fully described, search-ready one without manual writing.
### Per-category AI assist
When you edit a single category, an AI assist panel sits right in the form. Generate a description or SEO meta for that one category, review the suggestion, and accept it into the field. Add **AI notes** to steer the result toward your tone or must-mention details.
## Import and export categories
You do not have to build your tree by hand.
* **Import from CSV**: bring an existing category tree in from a spreadsheet, or import categories from a connected platform.
* **Export to CSV**: download your categories for backups, audits, or editing in a spreadsheet before re-importing.
## Navigate the tree
Categories show as an interactive tree by default. Expand and collapse branches to focus on one part of your catalog, and search to jump to a category fast. Matches are highlighted as you type, so a deep tree stays easy to navigate. Prefer a flat list? Switch to the table view.
## Reorganize your tree
Edit any category to change its name, slug, sort order, or parent. When you move a category under a new parent, its children move with it, and the hierarchy path updates automatically.
Changing a category's slug can break platform integrations that rely on the old URL. Check your category mappings after you reorganize.
Two common cleanups keep your tree useful:
* **Split** a category when it holds too many products and browsing gets hard. For example, split "Clothing" into "Men's Clothing" and "Women's Clothing".
* **Merge** categories when each holds only a few products and the split does not help customers. Combine "USB Cables" and "HDMI Cables" into "Cables & Adapters" when volumes are low.
## Map categories to your sales channels
Every platform has its own category system. Map your WISEPIM categories to each platform's categories in your [integration settings](/en/settings/integrations) so products land in the right place on every channel.
| Platform | Maps to |
| --------------- | ------------------------------ |
| **Shopify** | Shopify collections |
| **WooCommerce** | WooCommerce product categories |
| **Magento** | The Magento category tree |
| **Lightspeed** | Lightspeed categories |
You set mappings per integration. Go to **Settings > Integrations**, select your platform, and set up the category mappings there.
## Troubleshooting
* Confirm the product is assigned to the category on its product page.
* Check the category's visibility settings.
* If you use filters, make sure the category is not excluded.
* Confirm the category has a mapping in your integration settings.
* Run the integration sync after you set the mapping.
* Review the platform's category rules. Some require specific fields or formats.
* Check the **Sort order** values. Categories at the same level sort by this number, lowest first.
* Confirm parent assignments are correct. A misplaced parent builds the wrong tree.
## Related
Define which attributes each product type needs using families.
Create the custom fields that store your product data.
Analyze revenue and performance at the category level.
# Overview
Source: https://docs.wisepim.com/en/overview
Your post-login home: catalog-health at a glance, a ranked queue of the highest-impact fixes, live activity, and one-click jumps into every tool.
The Overview is the first screen you see after logging in. It answers one question fast: *what is the single best thing I can do for my catalog right now?* It pulls your real catalog data into a health score, a ranked queue of fixable gaps, and a live activity feed, then links you straight into the tool that does the work.
**What acting on it enables:** start every session on the highest-impact task instead of guessing, catch a quality drop the day it happens, and keep the whole team pointed at the same priorities.
Everything on the Overview is your **real** catalog data, not a sample. A brand-new project shows a short activation checklist (connect a store, import products, run your first enrichment) instead of the dashboard, until there is data to summarize.
## Your activation checklist
Until your first enrichment lands, the Overview is a three-step checklist. Once WISEPIM confirms that at least one product was enriched successfully, the checklist changes to **Your first enrichment delivered value** with an **Improve another product** button, and a **Next:** card points you at the most useful follow-up for this project:
* **Next: N **, a gap taken from the project's current catalogue coverage.
* **Next: review **, when a channel's latest sync reports errors.
* **Next: complete **, with the current translation coverage for that language.
* **Turn repeated work into an automation**, once several separate enrichment runs have succeeded.
* **Choose the next products to improve**, which opens the catalogue.
## What's on your dashboard
A greeting, your overall catalog-quality score with its trend since yesterday, the single biggest gap right now (for example "2,400 products missing a description"), and an Ask AI box that opens the assistant with your question pre-loaded.
A short AI-written read on your catalog, with a handful of focus items to consider today. You get one briefing per project per day.
Four sparklines tracking the 30-day trend of each quality domain: **Completeness**, **Channel Readiness**, **SEO**, and **Conversion Potential**. Each shows the current score and its change, so you see direction at a glance.
"Recommended catalogue priorities, ranked from current coverage signals." A ranked inbox of the most worthwhile fixes (missing fields, weak images, untranslated content), each labelled **Top priority**, **Recommended**, or **Later priority**. Each row is a one-click action that queues the job and opens [Products](/en/essentials/managing-products) already filtered to the affected products.
Your worst-scoring product families, a completion funnel (how many products are fully vs partially done), locale coverage per language, channel sync status, and a live feed of recent edits, imports, and enrichment runs.
An eight-tile launcher to the tools you reach for most: Products, Chat, Analytics, Process Tracker, Prompt Library, Prompt Lab, Media, and Quality Guard.
## Your daily briefing
Once a day, per project, WISEPIM writes you a briefing: a plain-language summary of what changed in your catalog and a short list of focus items worth your attention.
Each focus item can be handled in place:
* **Mark it done** when you have dealt with it.
* **Rate it** with a thumbs up or thumbs down. This teaches WISEPIM which suggestions are useful to you.
* **Dismiss it** if it is not relevant. That focus stays out of your briefings for the next 14 days.
Rate the items you dismiss with a thumbs down before dismissing. Dismissing alone hides the item for two weeks; rating it tells WISEPIM why, so future briefings get closer to what you actually care about.
## Start from a goal instead
The action queue is organised by score impact. If you would rather start from a business outcome, the top navigation has two goal hubs that group the same work differently:
* **[Grow sales](/en/guides/overview)** walks you through getting found in search, covering more sales channels, making listings that convert, and protecting your margin.
* **[Reduce returns](/en/guides/cut-your-return-rate)** treats returns as a data problem: fix the riskiest products first, prevent the next batch, and watch your return rate.
The **AI & Automation** hub sits beside them and gathers everything that writes or automates content: prompts, the [Prompt Lab](/en/essentials/prompt-lab), your [Knowledge Library](/en/other-features/knowledge-library), AI Chat, the [Automation Builder](/en/automations/overview), Content Logic, and [Quality Guard](/en/quality-guard/overview).
## Reading the dashboard
* **The trend on the health header** is the fastest signal. A drop overnight usually means an import or a channel sync brought in incomplete data. Open the action queue to see exactly what slipped.
* **Two pulse sparklines diverging** is informative: Completeness rising while Conversion Potential falls means you are filling fields that do not influence buyers. Rebalance toward the dimension that pays.
* **The action queue is already prioritized** from your current coverage signals: how many products each gap touches and how much of the catalogue it represents. The ranking is a recommendation, not a promise of score movement, but working top-down is still the most efficient path. When some signals could not be checked, the queue says so rather than showing an all-clear.
* **The worst-families list** tells you where to concentrate. Fixing one weak family often lifts the blended score more than scattering effort across the catalog.
## Act on what you find
A sudden drop almost always traces to fresh data. Check the recent-activity feed for an import or sync, then open the action queue: it will already list the new gaps (missing descriptions, images, or attributes). Fire the matching one-click job. **Outcome:** the drop is reversed within the same session, before those products reach a channel.
Click the family in the worst-families list to open [Products](/en/essentials/managing-products) filtered to it, then run a targeted [enrichment](/en/essentials/enriching-products) on the missing fields. **Outcome:** lifting one weak family raises the blended catalog score more than piecemeal fixes elsewhere.
Each quality domain links into the [Analytics](/en/analytics/data-quality) reports, where you can see field-level health, the per-channel readiness matrix, and the historical trend. **Outcome:** you move from "the score is down" to "these five fields on these products are the cause."
Type the question into the Ask AI box in the header. The assistant opens with your catalog context already loaded and can point you at the right report or action. **Outcome:** a clear next step without hunting through menus.
## Related
The full reporting suite behind the Overview's pulse and health numbers.
Field-level health, quick wins, and the fix workspace.
Where the action-queue jumps land, filtered and ready to fix.
A guided first run that shows the dashboard come to life.
A 45-minute Monday ritual that turns this dashboard into a repeatable habit.
# Classification (ETIM & GS1 GPC)
Source: https://docs.wisepim.com/en/products/classification
Adopt ETIM classes and GS1 GPC bricks: map your families and attributes to the standards your partners use and score every product against them.
Wholesalers, marketplaces, and trading partners don't read your custom attribute names. They read **standards**: ETIM for technical products (electrical, HVAC, plumbing), and GS1 GPC for global retail categories. Classification is where you connect your catalog to those standards, so your data exports in the format your partners' systems already expect.
You'll find it under **Products → Classification** in the main menu. The section has three tabs:
* **ETIM classes**: browse the imported ETIM release and adopt classes into your project.
* **Mapping review**: review the engine's proposed links between your families/attributes and the standard.
* **GS1 GPC**: drill through the GPC hierarchy and turn bricks into categories.
ETIM class data is loaded per release by an administrator. Once a release is imported, the full catalog appears here and you can start adopting classes. WISEPIM always browses the newest fully imported release, and shows class names in your app language when the release carries it (ETIM's international file is English; national files add more languages as they are imported).
## Browse the ETIM catalog
The hub shows your current **ETIM release**, its **languages**, how many classes you've **adopted**, and any **pending mapping suggestions**. Below that, two shelves: your adopted classes, and the full release catalog.
Finding the right class is fast:
* **Your groups**: chips for the ETIM product groups your project actually works in, most-used first. Click one to filter to it.
* **Search**: find classes by name, code (like `EC000034`), or trade synonym (like "MCB"). Search spans the whole release.
* **Filters**: narrow by product group, adoption status (**Adopted** / **Not yet adopted**), and sort by code order or feature count.
Each class card shows the class name, its EC code, product group, synonyms, and how many features it defines. Adopted classes carry a green **Adopted** chip.
## Class detail: see what the standard defines
Click **View class** on any card to see everything the standard defines for it, in ETIM's own order. Each feature row shows:
* The **EF feature code** and name, with a **Required** chip on mandatory features
* The feature **type**: **A** (text/select), **N** (numeric), **L** (yes/no), or **R** (range)
* The **unit** ETIM prescribes for numeric features
* The **permitted values** for select features - expand a row to see every value with its EV code
This is worth a look before you adopt: it tells you exactly which attributes your products will need to fill.
## Adopt a class
Click **Adopt class** and WISEPIM builds a ready-to-use [product family](/en/products/product-families) from the ETIM definition. The dialog shows exactly what gets created before anything is written:
* A product family `ETIM_{CODE}` named after the class
* One attribute per ETIM feature, mapped to its feature code
* Value lists for select-type features
* The units of measurement the class prescribes
Nothing is overwritten - you can edit everything afterwards. Assign products to the family and they get the standard's attributes immediately.
Already adopted a class and a newer release arrived? Open the class and click **Re-sync family**. The family is refreshed against the imported release, and existing attributes keep their data.
Adopted families show an ETIM chip in the [product families](/en/products/product-families) list that links straight back to the class, and every materialised attribute shows a quiet `ETIM EF…` reference in the product editor. Click it to see what ETIM says about that feature: its type, prescribed unit, whether the class requires it, and its permitted values.
## Mapping review: let the engine do the matching
If you already have families and attributes, you don't have to link them to the standard by hand. On the **Mapping review** tab, click **Run mapping** and the engine compares everything you own against ETIM and proposes the matches. You just confirm them.
Every suggestion carries a tier chip that tells you how it was found, and how much scrutiny it deserves:
| Tier | What it means |
| ---------- | --------------------------------------------------------------------------------------------------- |
| **Memory** | You confirmed this same match before. Safe to accept. |
| **Exact** | The names (and units) line up exactly with the standard. Safe to accept. |
| **Fuzzy** | The names are close but not identical - worth a glance before you accept. |
| **AI** | An AI model picked this when the cheaper tiers found nothing. Read the reasoning before you accept. |
**Run mapping** runs the memory, exact, and fuzzy tiers - they finish in seconds. **Run AI mapping** sends the leftovers to the AI tier; it's slower, so save it for when the cheap tiers are exhausted.
### Reviewing a suggestion
Each card puts your family or attribute next to the proposed ETIM class or feature, with a confidence percentage and a plain-English rationale ("Matched on the name and the unit", "Matched on a listed synonym"). AI suggestions include the model's reasoning. The card also spells out what adopting does - for example, adopting a family→class match links the family to the class and creates its standard attributes on your products.
* **Adopt** confirms the match. Runner-up candidates appear as **close alternatives** with their own **Adopt this instead** button; adopting any candidate settles the whole suggestion and clears the siblings automatically.
* **Dismiss** hides a suggestion for good - the engine won't propose it again.
* **Pick a different class… / Pick a different feature…** lets you search the standard yourself when the engine's proposal is wrong but you know the right code. Your correction is learned by the memory tier, so the engine gets it right next time.
### Work through the queue in bulk
For a large backlog, use the bulk bar: **Select safe matches** ticks every suggestion the engine is at least 90% confident about - the ones that are almost always right, and then one click adopts or dismisses the whole selection.
A good rhythm: run mapping, bulk-adopt the safe matches, then hand-review the fuzzy and AI tiers. Ten minutes of review typically links most of an existing catalog to the standard.
## GS1 GPC: turn bricks into categories
The **GS1 GPC** tab is a browser for the Global Product Classification, four levels deep:
| Level | What it is | Example |
| ----------- | -------------------------------------------------------------------------------------- | ------------------------- |
| **Segment** | The broadest industry grouping - the aisle your products sit in | Food/Beverage/Tobacco |
| **Family** | A product area within a segment | Beverages |
| **Class** | A group of closely related product types | Coffee/Coffee Substitutes |
| **Brick** | The actual product type you classify against - the level your products get assigned to | Coffee – Ready to Drink |
Drill down by clicking rows, or search the whole release by name. Clicking a brick shows GS1's official definition, so you can check you have the right one before importing.
### Import into your categories
* On a **brick**, click **Add as category** to create the brick and its full parent path as [categories](/en/other-features/managing-categories) in your project.
* On any level above, **Import all** creates that node and every brick beneath it.
Nothing is written blind: a review modal first shows the exact category path that gets built, how many categories are new versus already there, and flags any bricks GS1 has deprecated. Turn off **Include everything below this node** to create just the structure without the bricks. Confirm with **Create categories**.
Because the whole path is created, imported bricks always sit in the right place in your category tree, and any channel that reads GPC recognises them as that exact product type.
### Switch release or language
Click **Release & language** in the header to move to another GPC publication or rewrite your category names in a different language. Before committing, WISEPIM shows exactly what changes: which bricks carry over, which categories get renamed (old → new), and which bricks aren't in the new release. Categories keep their identity through the switch, so every product stays attached, and nothing is ever deleted.
## ETIM conformance in the product editor
Once a product's family is linked to an ETIM class, the product editor (and Quick Edit) gains an **ETIM** tab that scores the product against the standard:
* A **conformance score** showing how many of the class's features are valid on this product
* A per-feature checklist with a plain-English reason for anything that isn't: "No value yet", "Add a unit", "Value isn't in the permitted list", "Unit isn't an ETIM unit", and so on
* A **Fix** jump on every failing row that takes you straight to that attribute
### Auto-fill with AI
When features are missing or invalid, an **Auto-fill with AI** button appears. It fills the missing features and corrects the invalid ones, then re-scores instantly - fixed rows flash green. It costs **1 credit** per run, and the button only shows when there is actually something to fix, so a conformant product never triggers a paid no-op. Anything the AI can't determine confidently is skipped and annotated, never guessed.
ETIM conformance also feeds into the product's [Data Quality](/en/analytics/data-quality) breakdown as an additional domain next to the [four standard ones](/en/settings/data-quality#domain-weights), measuring feature coverage and value validity, because buyers and technical marketplaces filter on exactly these features. It appears only for products whose family is linked to an ETIM class.
## Classification works across WISEPIM
Adopting standards pays off beyond this page:
* **Scraped imports classify themselves.** With [auto-classification](/en/essentials/web-scraping-import) enabled, imported products that match an adopted ETIM class get that class's family the moment they land, and scraped breadcrumbs file into your adopted GPC categories instead of creating a duplicate tree.
* **BMEcat exports need no mapping.** A [Feed Hub](/en/essentials/feed-hub) BMEcat feed exports your ETIM classes and their features directly - what ends up in the catalog is decided by the class each family is linked to.
* **Enrichment respects the standard.** AI enrichment and web research fill ETIM-bound attributes with the class's permitted values and prescribed units.
ETIM classification © ETIM International, licensed under ODC-By 1.0.
## Related
Adopted ETIM classes become product families with the standard's attributes.
GPC bricks import as categories in your project tree.
Export a BMEcat catalog straight from your adopted ETIM classes.
ETIM conformance scores as a quality domain across your catalog.
# Creating Products
Source: https://docs.wisepim.com/en/products/creating-products
Add a new product in seconds. A name is all you need, template defaults handle the rest, and you can auto-generate a SKU.
Need a new product in your catalog? You can add one in seconds. Open the create modal, give the product a name, and let your template defaults do the rest. Everything else can wait until you have it.
Set up your [product templates](/en/settings/templates) first. New products are then pre-filled with your default brand, price, status, product type, and more, so you fill in less every time.
## Create a product
Click the **+** button in the top-right toolbar of the Products page.
The modal opens on the **Quick add** tab: **Create now, complete later**. Only the product name is required. Add a SKU, brand, or price here if you already have them.
Switch to the **Details**, **Pricing**, **Inventory & shipping**, **SEO**, or **Attributes** tab for the rest. See the [full field list](#product-fields) below.
The product appears in your table right away. WISEPIM saves it in the background.
## Product fields
Only the product name is required. Every other field is optional, and template defaults can fill many of them for you.
### Required
* **Product Name**: the display name of the product.
### SKU
Type a SKU yourself, or click the generate button to create one from your SKU template pattern.
Set a SKU pattern in your product template (for example, `{brand}-{category}-{###}`). The generate button next to the SKU field then builds a matching SKU for you automatically. Supported tokens are `{brand}`, `{category}`, and `{###}` (a random number).
### Optional
| Field | Description |
| ---------------------------- | ---------------------------------------------------------- |
| **EAN** | European Article Number (barcode) |
| **UPC** | Universal Product Code |
| **Brand** | Product brand name |
| **Manufacturer Part Number** | The manufacturer's own part number (MPN) |
| **Description** | Full product description (rich text editor) |
| **Short description** | A one-paragraph summary for listings |
| **Product Type** | Simple, Configurable (Parent), Bundle, Virtual, or Grouped |
| **Status** | Active, Inactive, Pending, Archived, or Draft |
| **Product Family** | Assigns a set of attributes to the product |
The other tabs group the remaining fields into sections:
| Section | Fields |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Catalog setup** | **Visibility** (**Visible to customers** or **Hidden from customers**), **Categories**, **Product Family** |
| **Identifiers & sourcing** | **Supplier** and the product's identifiers |
| **Prices & cost** | **Price**, **Special price**, **Cost** |
| **Inventory** | **Stock quantity**, **Stock status** (**In stock**, **Out of stock**, **On backorder**), **Low-stock threshold**, **Manage stock**, **Allow backorders** |
| **Dimensions & weight** | **Weight**, **Length**, **Width**, **Height**, each with its **Unit** |
| **Shipping & customs** | **Country of origin**, **HS code**, **Shipping class**, **Handling instructions**, **Requires shipping**, **Free shipping**, **Fragile**, **Dangerous good** |
| **Search metadata** | **Meta title**, **Meta description**, **Meta keywords**. Template-generated values are used automatically unless you override them here |
| **Custom attributes** | The attributes of the chosen product family |
**Brand** and **Supplier** autocomplete from the values already used in your project, so spellings stay consistent from the first product on.
The **Name**, **EAN**, **UPC**, **Brand**, and **MPN** fields support `{{variable}}` autocomplete. Start typing `{{` to pull in values from your [content-logic variables](/en/workflows/content-logic), so you can build consistent fields automatically. The **Description** field is a full rich-text editor for formatted copy.
Choosing a **Product Family** at create time attaches that family's attributes to the product, ready to fill in later from the editor's Custom Attributes tab.
## Products that are variants of each other
Creating each size or color as its own product is fine. You do not have to decide on the structure up front.
Once they exist, group them under a parent product so channels show one listing with options instead of a row of near-identical products. Set a **Parent product** on each one while [editing the product](/en/products/editing-products), or select them all in the table and run the **Group as Variants** [bulk action](/en/essentials/bulk-editing/group-as-variants).
## Save time with template defaults
When you have [product templates](/en/settings/templates) configured, new products are pre-filled with your default values. This saves time and keeps your catalog consistent.
Some of these defaults don't appear as fields in the create modal, but they're still applied automatically when the product is created. So even with a near-empty form, your new product can already have the right SEO patterns, stock settings, shipping rules, and category in place.
Template defaults can include:
* **Brand, supplier, and status**
* **Price and cost**
* **Product type and visibility**
* **Product family and category**
* **SEO fields** (meta title and description patterns)
* **Stock management settings**
* **Weight and dimension units**
* **Shipping requirements**
## Adding products faster
Configure your [product templates](/en/settings/templates) first. You then skip filling in the same defaults on every new product.
Assign a [product family](/en/products/product-families) and the right attributes are added for you. No need to set them up one by one.
Adding a lot of products? [Importing](/en/essentials/importing-products) from a spreadsheet or connected platform is much faster than creating them one by one.
## Related
Configure default values and SKU patterns that pre-fill every new product.
Assign a family to add the right set of attributes automatically.
Create many products at once from a spreadsheet or connected platform.
Open a product and fill in the rest of its details.
# Customizing Your Product View
Source: https://docs.wisepim.com/en/products/customizing-views
Choose your columns, reorder them by drag-and-drop, set row height, and save the whole setup as a layout you can switch back to anytime.
The Products table adapts to how you work. Pick which columns to show, reorder them, set the row height, and save the whole setup as a layout. Then switch between layouts for daily review, bulk editing, export prep, or any other task.
## Choose your columns
Click the **Columns** button in the toolbar to open the column selector.
Click **Columns** in the toolbar.
Check a column to show it, uncheck to hide it. Use the search box to find columns fast.
Drag columns up or down in the selected list to change their order in the table.
Click **Apply** to update your view. Click **Save as default** instead to apply now and make these columns (and sorting) the project default. The toast "Default columns saved" confirms it: "Next time, your columns will look like this."
Columns are split into two groups:
* **Default columns**: standard product fields (Name, SKU, Price, Status, and more)
* **Custom attributes**: fields from your attribute groups and [product families](/en/products/product-families)
The **Actions** column is always visible and locked to the right of the table. You cannot hide or move it.
Your choice of columns and the order you put them in are saved for you. Close the page, come back tomorrow, and the table looks the way you left it. The same goes for changes you make to the default columns.
### The AI PROMPTS column
Add the **AI PROMPTS** column to see which prompt last wrote each product's content. The cell shows the prompt title with a version chip (for example "v3") and the field it wrote (Description, Titles, SEO metadata, and so on). When several fields were enriched with different prompts, the cell adds "+N more". Hover the cell for **Latest enrichment prompts**, a tooltip listing every prompt and version used on that product. It is the quickest way to spot products still carrying content from an older prompt version.
### Resize a column
Drag the handle between two column headers to make a column wider or narrower. Double-click that same handle and the column sizes itself to fit its content, which is the quickest way to read a long description or a full category path without dragging.
## Set the row height
Use the row height selector in the bottom-right pagination area to control how much space each row takes. Pick the height that fits your task.
| Height | Best for |
| --------------- | ----------------------------------- |
| **Compact** | Scanning large lists quickly |
| **Normal** | Everyday use |
| **Comfortable** | Reviewing product details (default) |
| **Spacious** | Working with product images |
## Set the page size
Next to the row height, pick how many products load per page. A small page size keeps the table quick on a big catalog. A large one means less clicking when you are reviewing a filtered list end to end.
WISEPIM remembers your choice, so you set it once instead of on every visit.
Your personal view of the products table, including filters, is stored per project on your account, so it follows you to another browser or device. It expires after 24 hours. Clearing your filters is remembered as well, so an old filter never comes back by surprise. On load, an explicit filter in the URL wins, then the project's default filter, then your remembered view.
## Work through rows faster
Two table behaviors save a lot of clicking once you know them:
* **Expand a parent product** to see its variants inline, right under the parent row. You can check a whole size or color range without opening each variant.
* **Shift-click to select a range.** Click the first row, hold `Shift`, click the last, and everything in between is selected, ready for a [bulk action](/en/essentials/bulk-editing).
## Save a layout
Got a view you like? Save it as a layout so you can switch back to it anytime.
A layout captures your whole view setup:
* **Visible columns** and their order
* **Sort settings** (which column, which direction)
* **Active filters** (search query and advanced filters)
* **Page size** (rows per page)
### Create a layout
Configure columns, filters, and sorting the way you want them.
Click the **Layouts** button in the toolbar.
Click **Save Current View**, give it a clear name, and optionally set it as your default.
The modal suggests a name from your active filters (for example, "Status: Active + Category: Electronics"). Change it to anything you like.
### Switch and manage layouts
To switch, click **Layouts** and select a saved layout. The active layout name shows as a blue badge on the button.
From the Layouts modal you can also:
* **Apply** a saved layout
* **Update** the active layout with your current changes
* **Rename** a layout
* **Set as default** to auto-load it when you open the Products page
* **Delete** a layout you no longer need
When your current view differs from the active layout, an **Update** button appears. Use it to save your changes without creating a new layout.
## Tips for everyday use
Set up a layout for each job: a "Daily Review" with status and description columns, a "Price Update" with price and margin columns, or an "Export Prep" with every field your webshop needs.
Make your most-used layout the default. The Products page then opens ready for your main workflow every time.
Use the **Reset to Default** button in the column selector to start fresh whenever your view gets too busy.
## Related
Narrow the table down, then save the filters as part of a layout.
See where the custom attribute columns come from.
Build a layout that makes editing many products at once easier.
Set up an export-ready view with the exact columns you need.
# Discounts & Pricing
Source: https://docs.wisepim.com/en/products/discounts
Set up volume discounts, tiered pricing, promotions, and customer group pricing. Build your rules in WISEPIM, then sync them to your stores.
Reward bulk buyers, run timed promotions, and give B2B customers their own prices. You build every pricing rule in WISEPIM, then sync it to your connected stores. No more editing prices by hand on each platform.
Start in the **Discounts** section. Create your **customer groups** and **discount rules** there. Then apply them to products or categories from the product detail page.
Discounts and **[Pricing & Margins](/en/settings/pricing)** rules are two different tools. Discounts change what a product costs your customers: they work on your stored prices and special prices, and they sync to your stores. Pricing & Margins rules never touch your stored prices. They add a markup or margin at the moment a product is exported, per channel. Use discounts for promotions and B2B pricing, and Pricing & Margins for channel fees and margin protection.
## What the overview shows
The Discounts overview gives you a quick read on your pricing setup:
| Metric | What it means |
| ------------------- | ------------------------------------------- |
| **Total Discounts** | How many discount rules you have created |
| **Active Now** | Discounts that are live right now |
| **Customer Groups** | How many customer segments you have defined |
| **Scheduled** | Discounts set to start on a future date |
From here, jump to **Customer Groups**, **Volume Discounts**, or **Scheduled Promotions**. Or use a quick action to start a new discount right away.
The overview is split into three tabs: **Overview** (the feature cards and quick actions), **Platforms** (which stores discounts sync to), and **Help** (a short setup guide). You will also see an **Analytics** card marked *coming soon*, so you know that view is on the way.
## Create a customer group
Customer groups let you show different prices to different buyers. Use them for B2B clients, wholesale buyers, VIP members, or retail shoppers.
Go to **Discounts > Customer Groups** in the sidebar.
Open the form for a new group.
Enter a **name** (for example, "Wholesale"), a unique **code** (for example, `wholesale`), and an optional description.
Choose whether the group **requires approval** before customers can join. Choose whether it is the **default group** for new customers.
If you have connected stores, link this group to the matching customer group on each one. Pricing then syncs automatically.
Click **Save**. The group appears in your list right away.
### Manage your groups
The Customer Groups page tracks key stats at a glance:
* **Total Groups**: how many groups you have
* **Active Groups**: groups that are currently on
* **Require Approval**: groups where customers must be approved before they get group pricing
* **Platform Mapped**: groups linked to a connected store
You can **edit**, **delete**, or **set as default** any group from the list. The default group covers customers who do not belong to a specific group.
Map each group to your stores so price updates sync on their own. This saves you from updating prices by hand on every platform.
## Choose a discount type
Volume discounts reward customers for buying more. There are six types. Pick the one that fits your goal:
A simple percentage or fixed amount off, no matter the quantity. Good for sales and promotions.
Take a percentage or fixed amount off, based on quantity. For example: 10% off for 10–24 units, 15% off for 25–49, 20% off for 50+.
Set a fixed unit price at each quantity level. For example: $9.99 each for 1–9 units, $8.99 each for 10–24, \$7.99 each for 25+.
Give free products when customers buy in multiples. For example: buy 2, get 1 free.
The discount grows as the quantity grows. For example: 5% off at 10+, 10% off at 25+, 15% off at 50+.
Apply different discount rates to different quantity ranges within the same order.
## Create a volume discount
You can start from a template or build a discount from scratch. Templates are faster, so start there.
### Start from a template
Go to **Discounts > Create Discount**. You will see a set of templates.
Choose the one that fits your goal:
* **Simple Flat Discount**: a fixed percentage off, for sales
* **Flash Sale with Coupon**: a timed discount that needs a coupon code
* **Buy X Get Y Free**: free products based on quantity
* **Bulk Volume Pricing**: tiered discounts for wholesale
* **Tier Pricing**: fixed unit prices at quantity breaks
* **Custom**: a blank form to build your own
The template fills in common settings and example tiers. Change the name, tiers, scope, and targeting to fit your needs.
Click **Save**. The discount joins your volume discounts list.
### Discount settings
When you create or edit a discount, you can set the following:
| Setting | What it does |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Name** | A clear name for your own reference |
| **Discount Type** | Tier price, bulk discount, buy-x-get-y, flat discount, and more |
| **Scope** | Apply to specific products, a whole category, or everything |
| **Apply To** | All customers, specific groups, logged-in users, or specific customers |
| **Calculation Method** | Replace the price, take the discount off the current price, or compound (apply together with other discounts so they stack) |
| **Priority** | When discounts overlap, the higher priority one wins |
| **Start / End Date** | Turn the discount on and off automatically |
| **Coupon Code** | Require a coupon code before the discount applies |
| **Combine with Others** | Whether this discount can stack with other active ones |
## Manage your discounts
The **Volume Discounts** page lists every discount rule, with tools to filter and act on them.
### Find a discount fast
Use the filter tabs to narrow the list:
* **All**: every discount you have created
* **Active**: discounts that are live now
* **Scheduled**: discounts set to start later
* **Inactive**: discounts that are turned off
You can also filter by **scope** (product, category, or global) with the scope dropdown.
### Act on a discount
For each discount, you can:
* **Edit**: change the name, tiers, targeting, or schedule
* **Activate / Deactivate**: turn it on or off without deleting it
* **Duplicate**: copy it as a starting point for a new one
* **Delete**: remove it for good
Team members with a read-only role can open discounts and tiers but cannot edit, delete, activate, deactivate or duplicate them, or set a customer-group default. A discount stays in the project it was created in.
Deactivating a discount stops it from applying to orders but keeps the setup, so you can switch it back on later. Deleting removes it for good.
## Set up pricing tiers
Tiers are the heart of a volume discount. Each tier sets a quantity range and the price or discount for that range.
### Example: bulk percentage discount
| Quantity range | Discount |
| -------------- | -------- |
| 10–24 units | 10% off |
| 25–49 units | 15% off |
| 50+ units | 20% off |
### Example: fixed tier pricing
| Quantity range | Unit price |
| -------------- | ---------- |
| 1–9 units | \$9.99 |
| 10–24 units | \$8.99 |
| 25+ units | \$7.99 |
### Discount methods per tier
Each tier can use its own method:
* **Percentage Off**: a percentage off the original price
* **Fixed Discount**: a fixed amount off the original price
* **Fixed Price**: a set unit price that replaces the original
* **Price Per Unit**: a set price per unit, no matter the original
Add a short description to each tier (for example, "10% off for 10–24 units"). Your team can then read the pricing structure at a glance.
## Schedule a promotion
Set a start and end date, and the discount turns itself on and off. No manual steps on the day.
Run a timed promotion that starts and ends on its own.
Set up holiday or seasonal discounts weeks ahead and let them run.
Offer intro pricing for a limited time when you launch a product.
Schedule end-of-season pricing to start and end on set dates.
Scheduled discounts show up in the **Scheduled** tab on the Volume Discounts page, so you always know what is coming.
## Sync discounts to your stores
Volume discounts and customer group pricing sync to your connected stores on their own. Create or update a discount in WISEPIM, and the price change goes to your platforms.
| Platform | Status |
| ----------- | ----------- |
| Lightspeed | Supported |
| Magento 2 | Coming soon |
| Shopify | Coming soon |
| WooCommerce | Coming soon |
| CCV Shop | Coming soon |
Each discount can have platform-specific settings. These control how it appears on each connected store and keep it compatible.
## Plan limits
Your plan sets how many volume discounts and customer groups you can create:
| Plan | Volume Discounts | Customer Groups |
| ---------- | ---------------- | --------------- |
| Free | Up to 5 | Up to 3 |
| Pro | Unlimited | Unlimited |
| Enterprise | Unlimited | Unlimited |
Reached your limit? Upgrade in **[Settings > Billing](/en/settings/billing)**.
## Best practices
When two discounts could hit the same product, set the priority so you know which one wins.
Apply a new discount to one product or category first. Check the price is right before you widen the scope.
Put wholesale and B2B buyers in their own groups. Assign volume discounts to those groups so retail customers never see wholesale prices.
Set start and end dates on seasonal and promo discounts in advance. You will never forget to switch one on or off.
## Troubleshooting
* Check that the discount is **active**, not just scheduled for a future date.
* Confirm the **scope** matches the product or category you expect.
* Make sure **Apply To** includes the right customer group, or "all customers."
* If a coupon code is required, check the customer is entering it correctly.
* Look for overlapping discounts on the same scope. The one with the highest **priority** wins.
* If **Combine with Others** is on, discounts may be stacking. Turn it off if they should not combine.
* Check the **calculation method** is right (replace price, discount on price, or compound).
* Make sure the group has a **platform mapping** for the target store.
* Confirm the integration is connected and active in **[Settings > Integrations](/en/settings/integrations)**.
* Check the sync status in the customer group details for any error messages.
## Related
Set base prices and product details before you layer discounts on top.
Update prices and fields across many products at once.
Connect the stores your discounts and pricing sync to.
See your plan limits and upgrade for more discounts and groups.
# Editing Products
Source: https://docs.wisepim.com/en/products/editing-products
Edit products two ways: quick edit for fast fixes or the full editor for deep work with AI enrichment, SEO, quality scores, and product relationships.
WISEPIM gives you two ways to edit products: the **quick edit modal** for fast, focused changes without leaving the product list, and the **full edit page** for comprehensive editing with AI enrichment, web research, quality scores, and relationship management.
## Quick edit vs. full edit page
| | Quick Edit Modal | Full Edit Page |
| -------------------- | ---------------------------------------------- | ------------------------------------------------------------- |
| **How to open** | Pencil icon in the product table | Row **⋮** menu > **Edit**, or open the product's URL directly |
| **Where it opens** | Modal overlay (stay in the product list) | Dedicated page at `/products/edit/{sku}` |
| **Best for** | Fast corrections, price tweaks, status updates | Deep product work, AI enrichment, content creation |
| **Tabs** | 9 tabs | 10 tabs |
| **AI enrichment** | **Generate translations** only | Enrich buttons on every major field |
| **Web Research** | No | Full tab with research results and field merging |
| **Relationships** | Parent product only | Link variants, bundles, cross-sells, upsells |
| **Digital assets** | No | Product sheets, landing pages |
| **Volume discounts** | Multi-select with conflict detection | No |
| **Sale presets** | Quick buttons (24h, 7-day, weekend, monthly) | Date fields |
| **Profit margin** | Live calculation display | No |
| **Sidebar scores** | No | Completion, quality, and translation status |
| **Unsaved changes** | Discard confirmation when you close | Navigation blocking with confirmation dialog |
Both editors share the same core fields (name, descriptions, pricing, inventory, SEO, categories, custom attributes). The difference is context: the modal is for speed, the page is for depth.
## Quick edit modal
Click the **pencil icon** in the Actions column of the product table to open the quick edit modal. It gives you access to the most-used fields in a compact layout without navigating away from your product list.
### Tabs
* **Basic Info:** product name, product family, parent product, SKU, brand, and descriptions (original and enriched shown side-by-side)
* **Details:** product type, MPN, supplier, weight, dimensions, status, visibility
* **Pricing:** regular price and cost with live profit margin, special pricing with quick sale presets, volume discounts with conflict warnings
* **Shipping and Inventory:** EAN, UPC, HS code, stock quantity, stock status, low stock threshold, shipping toggles
* **SEO:** meta title, description, keywords with a live Google search preview and character counts
* **Categories:** tree-based category selector with multi-select
* **Custom Attributes:** product attributes from the assigned product family, in the same [attributes panel](#the-attributes-panel) as the full editor
* **ETIM:** how the product conforms to its family's [ETIM class](/en/products/classification), with per-feature validation and AI auto-fill
* **Quality:** how the product scores on quality, SEO, and media data, plus **Quick wins**, the small fixes that lift this product the most right now
Quick Edit remembers the tab you used last. Open the next product and it lands on the same tab, so a run of price fixes or SEO fixes stays a run.
Start on the **Quality** tab when you are working through a cleanup list. The Quick wins tell you what to fix on this product before you touch anything else, so you spend your time where it pays off.
### Translate from Quick Edit
If the product has no translations yet, a **Generate translations** button appears in the modal. Click it to translate this product into your project languages without leaving the list. See [translating products](/en/products/translating-products) for what gets translated and what it costs.
### Original and enriched descriptions
The **Basic Info** tab shows the **Original Description** and the **Enriched Description** side-by-side. The original is the text as it came from your source system. The enriched version is what AI generates.
You can edit both, and they stay independent. Fix a typo in the original without touching the AI version, or polish the enriched copy on its own. Nothing you write in one field overwrites the other.
If the product changes on the server while you have Quick Edit open (a teammate saves it, or an AI enrichment finishes), a banner appears at the top of the modal to warn you. Reload before you save, or you will write your older values over the newer ones.
### Saving and closing
Quick Edit does not auto-save. Click **Save Changes** and the modal closes as soon as the server confirms the save. The row in the table updates in place and keeps its position, also when an enrichment lands on it later, so a run of edits does not shuffle the list under you.
* Close the modal with unsaved edits and WISEPIM asks **Discard unsaved changes?** Choose **Discard changes** or **Keep editing**.
* If the save fails, you see **We couldn't save this product**. Your edits stay in the modal, so check your connection and try again.
* If someone else saved the product in the meantime, you see **This product changed elsewhere**. Your edits are kept; review the latest state, then try again.
### Special pricing features
The Pricing tab includes features designed for fast promotional setup:
* **Profit margin:** automatically calculated from price and cost
* **Quick sale presets:** one-click buttons for 24h Flash Sale, 7-Day Sale, Weekend Sale, and Monthly Sale that set the date range for you
* **Status badges:** shows whether a special price is active, scheduled, or expired
* **Volume discounts:** assign discount rules with automatic conflict detection (warns about overlapping quantity ranges or mixed discount types)
## Full edit page
Open the full edit page from the row's **⋮ (three-dots) menu**: choose **Edit**. (You can also navigate straight to the product's URL.) This is a dedicated page with the full product URL (`/products/edit/{sku}`) and gives you access to everything.
### Tabs
* **Basic Info:** product name, brand, SKU, and descriptions. The **Original Description** is preserved from your source system. The **Enriched Description** holds the AI-improved version, ready to review before publishing.
* **Details & Pricing:** product type, supplier, MPN, pricing, cost, and product configuration (visibility, product type)
* **Web Research:** AI-gathered product information from the web with merge status, field tracking, and the ability to merge research data into product fields
* **Shipping & Inventory:** EAN, UPC, HS code, country of origin, stock quantity, dimensions, weight, and shipping toggles
The **Brand**, **Supplier**, **HS code** and **Shipping class** fields autocomplete from the values already used across your catalog, so spellings stay consistent.
* **SEO:** meta title, description, and keywords with a live Google search preview. AI can also suggest internal links to related products directly in your descriptions.
* **Categories:** tree-based category selector with multi-select. Child categories automatically include their parents.
* **Relationships:** link this product to variants, bundle items, grouped items, cross-sells, upsells, and related products. View relationships as a list or an interactive graph.
* **Custom Attributes:** all attributes grouped by [attribute group](/en/other-features/managing-attributes) in the [attributes panel](#the-attributes-panel), with search, filters, units, and controlled option lists. Available attributes depend on the assigned [product family](/en/products/product-families).
* **ETIM:** conformance against the product's [ETIM class](/en/products/classification): a score, a per-feature checklist with plain-English fixes, and one-click AI auto-fill.
* **Data Quality:** overall quality grade, completeness, channel readiness, SEO and discoverability, and conversion potential scores with a detailed domain breakdown and actionable recommendations.
The **Web Research** and **Custom Attributes** tabs only show when there's something to display: Web Research appears once research has been run for the product, and Custom Attributes appears when the product has attributes (usually from its [product family](/en/products/product-families)). So ten tabs is the maximum, not what you'll always see.
### The attributes panel
The **Custom Attributes** tab got a full overhaul, built for catalogs where a product can carry hundreds of fields (an adopted [ETIM class](/en/products/classification) alone brings dozens):
* **Grouped and collapsible:** attributes render in sections per [attribute group](/en/other-features/managing-attributes), each with a filled/total count. Ungrouped fields collect under **Other attributes**. On products with a very large attribute set, only the first section starts open.
* **Search and filters:** search by label or code, and filter to **All**, **Empty**, or **Required** fields. A warning chip counts required attributes that are still missing.
* **Three layouts:** switch between full grid fields, one-attribute-per-row (best for long ETIM feature names), or a dense two-column compact view. Your choice is remembered.
* **Units built in:** numeric attributes show their unit inside the field. If the attribute's [unit set](/en/products/units-of-measure) has one unit, it's shown as text; with more, you get an inline unit picker with the attribute's default unit first.
* **Ranges:** interval attributes (like an operating temperature of −40 to 85 °C) render as paired **Min** / **Max** inputs sharing one unit.
* **Searchable option lists:** select fields backed by an [attribute options set](/en/other-features/managing-attributes#attribute-options-shared-value-lists) are always searchable, show labels in the language you're editing, and only offer active values. When a product family narrows the allowed values, you only see the ones that apply.
* **Family scoping:** with a family selected, you see that family's attributes plus general (unscoped) ones - attributes belonging to a *different* family stay out of the way.
* **ETIM context:** attributes materialised from an ETIM class carry a quiet `ETIM EF…` reference. Click it to see what the standard says: type, prescribed unit, whether the class requires it, and the permitted values.
### Sidebar
The right sidebar shows three live scores for the product you are editing:
* **Completion Score:** how much of the expected data is filled in
* **Quality Score:** an overall data quality grade
* **Translation Status:** whether the product content has been translated and reviewed
### AI enrichment
The full edit page has **Enrich** buttons next to every major field: titles, descriptions, SEO metadata, categories, and product attributes. Click one to run an AI prompt on that specific field. When AI updates a field, it lights up with a visual animation so you can see exactly what changed.
Enrichment runs via WebSocket, so updates appear in real-time without refreshing.
### Original vs. enriched content
WISEPIM always keeps the **Original Description** intact. It is the exact text from your source system. AI writes to the **Enriched Description** field instead, which you can review and compare before saving. The translation status reflects whether the enriched content has been reviewed and approved.
### Product families and variants
If your product belongs to a [product family](/en/products/product-families), the **Custom Attributes** tab shows all the attributes defined for that family, organized by attribute group. The **Relationships** tab lets you link variants of a configurable product, or see which parent product this variant belongs to.
#### Make a product a variant
A variant is a product that hangs under a parent, for example each size and color of the same shirt. Grouping them keeps your catalog tidy and lets channels show one listing with options instead of ten near-identical products.
There are three ways to set this up:
* **On the edit page:** pick a **Parent product** on the product you want to turn into a variant. The search shows configurable products by default; toggle **Show all products, not just configurable ones** to pick a simple product, and WISEPIM converts it to a configurable parent when you save (an amber warning tells you first). Clear the field to detach the variant and make it standalone again.
* **In Quick Edit:** the same **Parent product** field is on the **Basic Info** tab, so you can attach a variant without opening the full page.
* **In bulk:** select the products in the table and run the **Group as Variants** bulk action to attach them all to one parent in a single step. See [Group as Variants](/en/essentials/bulk-editing/group-as-variants).
The **Parent product** field only appears on **simple** and **virtual** products - a configurable, bundle, or grouped product can't itself become a variant. A variant cannot have variants of its own, bundle/grouped/virtual products cannot be parents, and the parent has to live in the same project. If a product refuses to attach, check those first.
**Deleting a configurable parent permanently deletes all of its variants** along with it. Detach the variants first (clear their Parent product field, or remove the links from the parent's Relationships tab) if you want to keep them as standalone products.
#### Manage variants from the parent
On a configurable parent, the **Relationships** tab (full editor only - Quick Edit doesn't have it) is where variants live:
* **Link Products** attaches children to the current product: pick the **Variant** relationship type, search by name or SKU, select the products, and link them in one go.
* Each variant card has an **Actions** menu with **View Product** and **Remove Link**. Removing a link detaches the variant - the product is never deleted, it just becomes standalone.
* On a product that *is* a variant, the tab shows a read-only banner - "This product is a variant of …" - linking to the parent. Changing or clearing the parent happens on the Basic Info tab, not here.
Switch between the **list view** and the **graph view** with the toggle in the tab header - the graph maps every linked product around the current one, color-coded by relationship type, which is the quickest way to sanity-check a complex product's structure.
In the products table, a parent row shows a chevron with its **variant count** under the checkbox - click it to expand the variants, indented beneath their parent. The advanced filters can slice by **Has Variants** and **Is Variant**, and with **Collapse variants** on (in [Product views settings](/en/settings/product-views)), search results group variant matches under their parent instead of flooding the list.
### Digital assets
From the header of the full edit page, you can create:
* **Product Sheet:** export as a downloadable PDF product sheet
* **Landing Page:** design a landing page for this product
### Unsaved changes protection
If you try to navigate away with unsaved changes, WISEPIM shows a confirmation dialog so you don't accidentally lose work.
### Imported images in the gallery
The product gallery can hold images that were mirrored from your source webshop but never stored in the Media Library. They carry an **Imported** badge. They still go out to your sales channels, so if you do not want one published, delete it from the gallery. There is no library asset behind them, so you cannot reorder them, keep versions, or run AI edits on them. Upload or link the image from the [Media Library](/en/products/media-library) to get the full toolset.
## Previewing a product
Click the **eye icon** in the Actions column to open a read-only preview. This is useful when you just need to check a product's details without risking accidental edits.
The preview has six tabs:
| Tab | What it shows |
| --------------- | --------------------------------------------- |
| **Compare** | Original and AI-enhanced content side-by-side |
| **Details** | The product's core fields |
| **Attributes** | Custom attributes from the product's family |
| **Marketplace** | How the listing looks on each sales channel |
| **Media** | The product's images and other assets |
| **Quality** | The product's data quality read |
From the preview you can also:
* **Browse** through products with previous/next arrows
* **Change status** (Reviewed / Unreviewed)
* **Edit** to start making changes. This opens the **quick edit modal** (not the full page), so you can fix things fast and stay close to your product list.
### See the listing before the channel does
The **Marketplace** tab renders your product the way each channel shows it, so you can catch a truncated title or a missing image before you push. It previews **Amazon**, **Bol.com**, **Google Shopping**, and **Shopify**.
Switch between **Original data** and **AI enhanced** to see exactly what the AI copy buys you on a real listing. Each channel also carries a readiness badge, so you can tell at a glance whether this product is ready for that channel or still missing something it requires.
**Restyle with AI** sits next to the content toggle. Pick **Business**, **Creative**, **SEO** or **Confident** and WISEPIM runs your description enrichment prompt in that tone and drops the result into the listing, so you can compare tones on a real product page. It is a dry run: nothing is saved to the product, and credits are only spent when you click a preset. The presets are unavailable until the project has a description enrichment prompt.
Run the Marketplace tab on a handful of products before a big export. It is the quickest way to spot the field a channel needs that your catalog does not fill yet.
## Tips
* **Start with quick edit:** for most day-to-day edits (fixing a price, updating stock, tweaking a description), the quick edit modal is faster because you stay in your product list.
* **Switch to the full page for content work:** when you're writing descriptions, optimizing SEO, or enriching products with AI, the full edit page gives you the space and tools to do it properly.
* **Review enriched content before publishing:** AI writes to the enriched fields, not the originals. Check the side-by-side view, then save when you're happy.
* **Use the SEO preview:** both editors show a live Google search preview in the SEO tab. Stay within the recommended character ranges (Title: 30–60, Description: 70–160) for the best results.
* **For bulk changes, use bulk edit:** if you need to change the same field on multiple products, [bulk editing](/en/essentials/bulk-editing) is much faster than editing products one by one.
## Related
Set up families to define which custom attributes apply to a product.
Learn how AI enriches titles, descriptions, attributes, and more.
Change the same field across many products at once.
Create and organize the custom attributes shown in the editor.
# Filtering & Searching Products
Source: https://docs.wisepim.com/en/products/filtering-products
Find any product fast: search across fields, describe what you want in plain language, build advanced filters, or fix data quality with one-click presets.
Finding the right products is the start of almost every job in WISEPIM: enriching, translating, fixing prices, preparing an export. The Products page gives you two tools for it.
* **Quick search** in the toolbar for fast, instant lookups.
* The **filter modal** for everything else. It has **four modes**, so you can find products the way that fits the task: describe what you want in plain language, build precise conditions by hand, check products against a Quality Guard rule, or pick a ready-made data quality filter.
Whichever way you find a set of products, the payoff is the same: a focused selection you can act on in one go, with [bulk editing](/en/essentials/bulk-editing), [AI enrichment](/en/essentials/enriching-products), or an [export](/en/essentials/exporting-products).
## Quick search
The search bar sits in the top left of the toolbar. Start typing and press **Enter**. Clear the field to show all products again.
By default it looks across the key text fields at once: product name, SKU, EAN, descriptions, and meta fields. You do not need to know which field holds your term.
You control what search covers and how strict it is in **[Settings > Product views](/en/settings/product-views)**. Pick exactly which fields the search bar reads, and turn on **fuzzy search** to match similar terms so small typos and spelling variations still find the product.
Quick search is best for "I know roughly what I'm looking for" moments: a SKU, a brand, a word in the title. For anything structured ("all products under €50 with no image"), open the filter modal.
## Open the filter modal
Click the **Filters** button next to the search bar. A red badge on the button shows when filters are active. The modal opens with four tabs across the top.
| Mode | Best for | What it does |
| -------------------- | --------------------------------- | --------------------------------------------------------------------------------------------- |
| **Natural language** | The fastest way to a precise list | Describe what you want in plain words. AI builds the filter conditions for you. |
| **Advanced filters** | Exact, repeatable queries | Stack conditions across 90+ fields, combine them with AND/OR, and save them as reusable sets. |
| **Compliance** | Channel-readiness triage | Find the products that pass or fail a [Quality Guard](/en/quality-guard/overview) rule. |
| **Presets** | Daily data quality cleanup | One-click filters for the most common catalog issues. |
You can switch modes at any time, and they work together: generate a filter with natural language, then open **Advanced filters** to fine-tune it.
## Natural language
This is the default tab, and usually the quickest way to a precise list. Describe what you are looking for in plain words and AI turns it into real filter conditions.
Type something like "Products under €50 missing a description" or "Inactive products created in the last 30 days." Press **Enter** to generate.
AI shows the conditions it created, explains what it did, and lists anything it couldn't map to a filter. Check that it matches your intent.
Click **Apply** to use the filter, or **Refine in Advanced filters** to adjust a condition by hand. **New search** clears it and starts over.
Not sure where to start? The tab shows example prompts (like "No main image" or "Out of stock with a special price"). Click one to run it instantly and see how a description maps to filters.
Natural language understands the same fields and operators as Advanced filters, including pricing, stock, dates, categories, translation status, and even synced order counts, so you can ask for fairly specific things and get an accurate list back.
Natural-language filters forgive typos and plurals in category and family names, and several family names in one sentence become a single "in" condition. If a condition cannot run, WISEPIM repairs it once before showing it. You can also reference other fields and dates, for example `{{product.brand}}` or `{{current.year}}`, and the AI is offered the same variables.
## Advanced filters
Build precise, repeatable queries by hand. Use this when you want full control, or to fine-tune a filter that natural language started.
Click **Add filter**, choose a field, pick an operator, and enter a value.
Stack as many as you need. Toggle any condition off without deleting it, so you can test combinations fast.
Pick **AND** (match all conditions) or **OR** (match any). With OR, a slider lets you set how many conditions must match, for example "at least 3 of these 5."
The summary panel previews how many products match while you are still building. Use it to catch a condition that is too wide or too narrow before you commit. Click **Apply filters** to update the list.
The preview count is your safety check before a bulk action. If you expected 40 products and the preview says 4,000, fix the condition first.
### Paste a list of SKUs
Got a list of products from a supplier, a colleague, or a report? You do not have to build a condition per SKU.
Pick the **SKU** field with the **in list** operator, then paste the column straight from Excel or a CSV into the value box. WISEPIM splits it into individual identifiers for you and filters to exactly those products. This is the fastest way to act on a list someone sent you: paste, apply, then enrich, edit, or export the result.
A broken or malformed filter now shows an error instead of quietly matching your whole catalog. That matters most right before a bulk action: if something is wrong with your filter, you find out on screen rather than by running an action on every product.
### Filter per language
If your project has more than one language, you can filter on the content of a specific language rather than your primary one. Use it to find products whose German description is empty while the Dutch one is fine, and then translate or enrich only that gap.
### Fields you can filter on
You can filter on **90+ built-in fields plus your own custom attributes**, organized into groups so they are easy to find:
| Group | Examples |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Categories & Organization** | Categories, Product Family, Inferred Industry |
| **Basic Information** | Name, SKU, EAN, UPC, MPN, Brand, Supplier |
| **Descriptions** | Description, Original vs. Enriched, Short Description, word counts |
| **SEO** | Meta Title, Meta Description, Meta Keywords (with length checks) |
| **Pricing** | Price, Special Price, Cost, Profit Margin, Active Sale |
| **Inventory** | Stock Quantity, Stock Status, Low Stock, Backorders |
| **Physical** | Weight, Dimensions, Has Dimensions |
| **Shipping & Customs** | Requires Shipping, HS Code, Country of Origin, Dangerous Goods |
| **Status & Review** | Status, Review Status, Visibility, Import Source |
| **Product Configuration** | Product Type, Has Variants, Is Variant, Edit Version |
| **Translation** | Translation Status, Translated To / Not Translated To language, per-field translation |
| **Quality Metrics** | Quality Score, Completion Score, Quick wins |
| **Quality Guard** | Rule compliance, Quality Guard Status, last checked, bypassed |
| **Timestamps** | Created, Updated, Last Imported / Exported / Enriched / Translated |
| **Media & Assets** | Has Main Image, Main Image URL, Image Count, Main Image Width (px), Main Image Height (px) |
| **Web Research** | Whether a product has web research data |
| **AI Prompts** | Enrichment Prompt, Prompt Version, Enriched Field Group: which prompt and version produced the latest successful enrichment per kind |
| **Platform & Sync** | Synced to Shopify / Magento / WooCommerce / Lightspeed |
| **Related Products** | Has Related Products, Related Products Count |
| **Commerce** | Orders (distinct synced orders containing the product) |
Image width and height come from the measured asset in your media library. Products whose main image is only an external URL match "no value". The prompt fields are snapshots, so they keep working after you edit, rename or delete a prompt.
### Operators you can use
The operators adapt to the field type:
* **Text**: contains, doesn't contain, equals, starts/ends with, in list, is not in list, regex match, case-sensitive equals, word count, character length, is empty
* **Regex match**: a regular expression, case sensitive; start with `(?i)` to ignore case. Patterns are limited to 200 characters. Tick **Save this pattern for reuse** and it shows up under **Saved patterns** for that field next time, up to 12 per field, stored in this browser
* **Multiple terms**: **includes any of**, **includes all of** and **includes none of** take a comma-separated list of terms, so one filter can cover several spellings or brands
* **Clean-up probes**: **has stray whitespace** (leading, trailing or double spaces), **contains HTML** and **doesn't contain HTML** need no value and work on localized fields and custom attributes
* **Number**: equals, greater than, less than, between
* **Date**: within the last X days, older than X days, between, before, after
* **Category / Select**: is, is one of, in, not in, has any, has all
* **Yes/No**: is true, is false
* **Find duplicates**: **is unique** / **is duplicate**, to catch repeated SKUs, EANs, or names across your catalog
The "is duplicate" operator on **SKU** or **EAN** is the fastest way to find accidental duplicates before they reach a channel. Run it, review the matches, and clean them up. Negative operators such as **doesn't contain**, **is not in list** and **includes none of** also match products where the field is empty.
### Save a filter as a set
Use the same filter often? Save it once and reload it in a click.
Set up the conditions you want to keep.
Enter a name in the **Save filter set** box and click save.
Open the modal and click a saved set to apply it instantly. Rename or delete sets any time.
Saved filter sets are stored on your account, not in your browser. Save one on your laptop and it is there on your desktop too. Sets you have not used for 90 days are cleaned up automatically, so the list stays short and useful.
### Recent filters
Above your saved sets, the modal keeps a **Recent** section: the last 5 filter sets you applied in this project, newest first. Each one is summarised by its first condition, with a "+N more" chip for the rest. Click one to load it back into the builder, then **Apply filters**. Recent filters live in this browser only, and clearing all filters does not add an entry.
## Compliance
The **Compliance** tab filters your catalog by whether products pass or fail a [Quality Guard](/en/quality-guard/overview) rule. This is your channel-readiness lens: instead of guessing which products are export-ready, you check them against the exact rule that gates a channel.
Search and select one of your active Quality Guard rules. Each card shows its scope and severity.
**Violates** finds the products that fail the rule (the ones to fix). **Complies with** finds the products that have been checked and pass.
A live count shows how many products match before you commit. Click apply to load them.
The rule's scope is applied automatically, so you only see products the rule actually targets. Filter to the violators, select them, and fix the gap with bulk edit or AI enrichment, then they pass on the next check.
No rules yet? The tab links straight to **Create a rule** in Quality Guard. See [Quality Guard](/en/quality-guard/overview) to set up the checks that gate your exports and syncs.
## Presets
The **Presets** tab gives you **46 one-click filters** that each surface a common data quality problem across your catalog, grouped into 10 categories. It is the fastest way to find what needs attention.
Each preset card shows how many products have that issue right now, so you can see your biggest problems at a glance and prioritize.
| Category | What it surfaces |
| ---------------- | ------------------------------------------------------------------------- |
| **Quick Fixes** | The highest-impact issues: low quality, unreviewed, no image, no category |
| **Content** | Missing description, short description, or enriched content |
| **SEO** | Missing meta title, description, or keywords, and length problems |
| **Commerce** | Missing price, EAN, brand, or cost |
| **Inventory** | Out of stock, low stock, missing weight |
| **Media** | No image, missing alt text |
| **Quality** | Low quality score, incomplete products |
| **Translation** | Not translated, partially translated |
| **Status** | Draft, inactive, unreviewed |
| **Product Type** | Variant and configuration issues |
Click any preset to filter the list to the affected products. From there, select them and act: [enrich with AI](/en/essentials/enriching-products), [bulk edit](/en/essentials/bulk-editing), or fix them one by one.
Use Presets as your daily quality checklist. Start with **Quick Fixes** to see what needs attention most, then work through **Missing Description** and **Low Quality** until the counts drop.
## Act on what you find
Filtering is only step one. The reason to narrow your list is to act on it efficiently:
Use any of the four modes to get a focused list.
Tick individual products, or use **Apply to all** to select every product that matches your filter, across all pages.
[Enrich with AI](/en/essentials/enriching-products), [bulk edit](/en/essentials/bulk-editing) a field, [translate](/en/products/translating-products), or [export](/en/essentials/exporting-products). The action only touches the products you filtered to.
This is what makes filtering powerful: a precise filter plus a bulk action turns an afternoon of one-by-one edits into a single click on hundreds of products.
## Tips
* **Start with natural language.** It is the quickest way from "I need X" to a real filter, and you can always refine it in Advanced filters.
* **Combine search and filters.** Use search for quick lookups and the modal for structured queries. They work together.
* **Filter before bulk actions.** Narrow your list first, then select all matching products, so a bulk action only touches the ones that need it.
* **Save your daily filters.** Filter for "unreviewed products" every morning? Save it as a set and it is one click away.
* **Check compliance before you export.** Run the Compliance tab against the rule that gates a channel to find and fix blockers before they cost you a failed sync.
## Related
See how search, filters, and selection fit into your daily product workflow.
Act on a filtered selection: update many products at once.
Filter for missing content, then fill it with AI.
Set up the rules the Compliance filter checks against.
# Media Library
Source: https://docs.wisepim.com/en/products/media-library
Upload, organize, and attach product images and media in one place. Edit with AI, optimize for platforms, and link assets to products.
The Media Library is your central hub for all product media: images, videos, PDFs, spreadsheets, and more. Upload once, then link assets to any product, apply AI-powered edits, and keep everything organized with folders and tags.
Assets in the Media Library are shared across your entire project. You can link the same image to multiple products without duplicating the file.
## Browsing your assets
Open the Media Library from the main navigation. The sidebar on the left lets you filter by:
* **Quick Filters**: All, Favorites, or Recent
* **Folders**: organize assets into named folders
* **Tags**: label assets for cross-cutting classification
* **File Type**: Images, Videos, PDFs, Excel, CSV, or Other
Switch between **Grid view** and **List view** using the toggle in the top bar. Grid view shows thumbnails at a glance. List view shows a table with columns for name, type, size, dimensions, tags, folders, rating, modified date, and creator. Click any column header to sort.
Use the search bar to filter assets by name. As you scroll, the library loads more assets automatically.
The library remembers your filters, view mode, zoom, and sort per project, so it opens the way you left it. Tag and folder filters are remembered by name; if one was deleted in the meantime, its filter is dropped and a toast tells you which: "Cleared saved filters that no longer exist: …".
## Uploading assets
Click **Upload** in the top-right corner, or drag and drop files directly onto the library. Supported formats include images, videos, PDFs, Excel, CSV, `.txt`, and `.md` files.
You can upload multiple files at once. A progress panel shows each file's upload status: **Complete**, **Processing**, or **Already uploaded** if the file already exists.
## Generate images with AI
No photo for a product? Describe the shot you want and AI creates it. This is the fastest way to fill gaps in your catalog: a clean studio shot for a product that arrived without images, a lifestyle scene for a campaign, or a banner in the exact size a channel needs.
Click **Generate** in the top bar to open **Generate an image**. You can also start a generation from a product, and the finished image lands in your library like any other asset.
Generating an image costs credits based on the output quality you pick: **1K** costs 15 credits, **2K** costs 25 credits, and **4K** costs 35 credits. The modal shows the cost before you start.
Choose the kind of shot you need. Each type sets the right aspect ratio for you, so you do not have to think about sizes.
| Image type | Aspect ratio |
| ---------------- | ------------ |
| **Product shot** | 1:1 |
| **Lifestyle** | 4:3 |
| **Social post** | 1:1 |
| **Story / Reel** | 9:16 |
| **Hero banner** | 16:9 |
| **Flat-lay** | 1:1 |
| **Packaging** | 1:1 |
| **Close-up** | 1:1 |
The **Aspect ratio** field follows the type you picked.
Under **Generate for a product (optional)**, search by product name or SKU. The image links to this product automatically, so you do not have to attach it afterwards.
Write what you want to see in the **Describe the image** box, for example "A matte black water bottle on a white studio background with soft shadows". Be specific about the product, the background, and the lighting.
Not sure what to write? Open **Need inspiration?** and click a chip (Studio on white, Lifestyle scene, Flat-lay top down, Held in hand, Cinematic hero, and more). The chips change with the image type you picked.
Add reference images to steer the style or composition. Pick them from your Media Library, or paste an image URL.
**1K** is fast and standard quality, **2K** is sharper, and **4K** gives the finest detail. Match the quality to where the image will be used: 1K for a quick internal check, 2K or 4K for a live product page or a print asset.
Generation usually takes 15 to 60 seconds. The result appears with a **New image** chip. If it is not right, click **Regenerate** to try again, or use **Set as main image** from the toast to make it the product's main photo straight away.
Generate at 1K while you are still working out the prompt, then run the winning prompt again at 2K or 4K. You spend far fewer credits getting to the shot you actually want.
## The detail panel
Click any asset to open the detail panel on the right. From here you can:
* **Rename** the asset
* Add or change the **Rating** (star rating for quick quality grading)
* Write **Notes** for internal context
* Add **Tags** and assign the asset to **Folders**
* See which **Products** the asset is linked to, and add or remove links
* View **Versions**: previous uploads of the same image, with the option to restore an older one
* View **Variations**: resized, converted, or AI-edited copies derived from the original
* See asset **Details**: file type, size, dimensions, created and modified dates, and creator
* **Download** the original or any variation
* **Share** the asset with teammates or external collaborators via a link with configurable permission levels and expiry
* **Delete** the asset. Deleting or unlinking an image also removes its imported or scraped twin, so a deleted image never goes out to a channel again, and the product's main image is re-derived. Images that only exist in the legacy import form show in the product gallery and can be deleted there
### Preview and lightbox
Click **Open in full screen** in the detail panel to open the asset in the full-screen **Preview** viewer. The preview supports zoom, rotation, and side-by-side info panel. Press `Esc` or click outside to close.
For images inside the grid, you can also open the **Lightbox**, a lightweight overlay that lets you zoom and rotate without leaving your current view.
For spreadsheets and CSV files, **Quick Look** renders the file contents inline as a searchable table, right inside WISEPIM.
## Image Tools
Select an image and click **Image Tools** in the detail panel (or use the bulk toolbar) to access the built-in image editing tools.
### Edit with AI
Describe the change you want, for example "Place the product on a pure white seamless studio background", and AI generates a new version of the image. Every AI edit becomes a new **Version**, so you can always undo. You can also add up to 4 reference images to guide the style or composition, and pick from curated style presets (white background, lifestyle scene, relight, and more) to fill in the prompt fast.
Pick a **resolution** for the result: standard (1K), sharper (2K), or maximum (up to 4K). Higher resolutions add finer detail but cost more credits, so match the resolution to where the image will be used.
### Animate with AI
Turn any image into a short video using a text prompt. Describe the motion, for example "Slow cinematic dolly-in, soft natural light", choose landscape or portrait format, and the video generates in the background. It appears in your library when ready, usually within 1–3 minutes.
A generated video costs 500 credits, so it is a lot more expensive than a generated image. Pick the products that earn it back: hero products, campaign items, and anything you promote on social.
### Remove Background
AI removes the background from the image and saves the result as a transparent PNG. The original stays untouched as a previous version.
### Resize and Convert
Change the image dimensions or convert it to a different format (JPEG, PNG, WebP, etc.) with a quality setting. The result is saved as a **Variation** so the original remains intact.
### Optimize for Platform
Choose a target and WISEPIM automatically resizes and converts the image to match its requirements. Targets are grouped into:
* **E-commerce platforms**: Shopify, Magento, WooCommerce, and Lightspeed
* **Web**: standard, high quality, and mobile
* **Social**: Facebook, Instagram, LinkedIn, X, Pinterest, and more
* **Print**: standard and high quality
Each target sets the right dimensions, format, and quality, so your images load fast and look right wherever they end up.
## Bulk image actions
Select multiple assets using the checkboxes that appear on hover, then use the **Image Tools** button in the bulk toolbar to apply Remove Background, Resize and Convert, or Optimize for Platform to all selected images in one go.
You can also **Download** a selection as a ZIP file, or **Delete** selected assets.
## Attaching media to products
There are two ways to connect assets to a product:
1. **From the Media Library**: open an asset's detail panel, scroll to **Products**, and click **Link to product**. Search by name or SKU, select the products, and confirm.
2. **From the product editor**: open a product, go to the **Media** tab (the product gallery), and click **Link from Media Library**. Browse or search your library, pick the images, and they appear in the product gallery instantly.
### The product gallery
The product gallery inside a product shows all linked images and media. You can:
* Drag to **reorder** images
* **Set a main image**: the first image shown on listings and exports
* **Remove background** on any image directly from the gallery
* **Unlink** an image from the product without deleting it from the library. Select several images and unlink them in one go
* **Upload** new images directly into the product, which also adds them to the Media Library
* **Copy the image URL** to use in external tools
## Related
Open the product editor and work with the Media tab to manage a product's gallery.
Browse, filter, and organize your product catalog.
# Product Families
Source: https://docs.wisepim.com/en/products/product-families
Define the fields each product type needs once, then assign a family so every product inherits the right attributes and validation rules.
A product family is a template for a product type. It defines which attributes a product should have. Assign a product to a family, and it inherits all of that family's attributes automatically.
This saves you from adding the same fields to every product by hand. Define a family once, then reuse it across your whole catalog.
Think of a family as a blueprint. A **Clothing** family might require size, color, and material. An **Electronics** family might require voltage, wattage, and connectivity.
## How families work
A family is a set of attributes that together describe one product type. Assign a product to that family, and the product gains every attribute the family defines.
For each attribute you add to a family, you can set two things in the family editor:
| Setting | What it controls |
| ------------------------ | -------------------------------------------------------------------------- |
| **Required or optional** | Whether the field must be filled in before the product counts as complete. |
| **Variant axis** | Whether the attribute creates product variants, such as size or color. |
The order attributes appear in is assigned automatically as you select them, so you do not set it by hand here.
Families also support a per-attribute default value and validation overrides in the data model, but these are not yet editable in the family editor. Set validation on the attribute itself through its [attribute settings](/en/other-features/managing-attributes).
### Parent and child families
Families can be nested. A child family inherits every attribute from its parent and can add its own on top. Use this when product types share a common base but differ in the details.
For example:
* **Apparel** (parent): brand, material, care instructions
* **Tops** (child): adds sleeve length, neckline
* **Bottoms** (child): adds inseam, waist type
* **Outerwear** (child): adds insulation type, waterproof rating
Define shared attributes on the parent and add only the specialized ones to each child. This avoids duplicating fields across similar product types.
## Create a family
Go to **Product Families** in the sidebar. You'll see a table of every existing family.
Click **New Family** in the top-right corner to open the form.
Add a name (such as "Electronics") and a unique code (such as `electronics`). Add a description if it helps your team understand the family's purpose.
To inherit attributes from another family, pick a parent. Leave this empty for a top-level family.
Choose the attributes products in this family should have. For each one, set whether it's required and whether it's a variant axis. Their order follows the order you select them in.
Click **Save**. The family appears in the table right away.
The code must be unique in your project. Use a lowercase, descriptive code like `clothing` or `electronics-accessories`. You can't change the code after you create the family.
## Assign products to a family
After you create a family, assign products to it so they inherit its attributes.
Open any product from the **Products** page.
Locate the **Family** field in the product details.
Pick the right family from the dropdown. The product inherits every attribute that family defines.
### Assign in bulk
To set a family for many products at once, use [bulk editing](/en/essentials/bulk-editing) on the Products page. Select the products, choose the bulk edit action, and set the family for all of them.
## Manage families
The Product Families page lists every family in a sortable table. Use the **search bar** to filter by name or code.
| Column | What it shows |
| -------------- | ------------------------------------------------------------- |
| **Name** | The family name, indented to show its place in the hierarchy. |
| **Code** | The family's unique identifier. |
| **Attributes** | How many attributes the family has. |
| **Children** | How many child families it has. |
| **Actions** | Edit and delete buttons. |
1. Click the **edit icon** (pencil) in the Actions column.
2. Update the name, description, parent, or attribute assignments.
3. Save your changes.
Editing a family's attributes affects every product in it. If you add a new required attribute, existing products will need that field filled in.
1. Click the **delete icon** (trash) next to the family.
2. Confirm in the dialog that appears.
Deleting a family affects every product that uses it. Those products lose their family assignment, but their existing attribute values stay intact. This can't be undone, so check before deleting a family with active products.
## Work with attributes
Families are built from attributes and attribute groups. Manage both from the Product Families page.
Create, edit, and organize the individual attributes that make up your data model.
Group related attributes for cleaner organization. For example, put "width", "height", and "depth" in a "Dimensions" group.
## Best practices
Map out your product types and how they relate before you build families. A clear plan saves time and avoids duplication.
Each family should represent one distinct product type. Avoid broad families with dozens of optional attributes.
Too many required fields slow down product creation. Require only the fields you truly need.
Share common attributes through parent and child families. This keeps your data model lean and easy to maintain.
## Families from ETIM classes
You don't have to build every family by hand. If your project uses the ETIM standard, [adopting an ETIM class](/en/products/classification) creates a ready-made family (`ETIM_{CODE}`) with one attribute per feature the class defines, plus value lists and units - exactly as the standard prescribes.
ETIM-linked families show an **ETIM chip** in the families list that links to the class definition. These families are managed by ETIM: re-syncing the class refreshes the family against the imported release, and existing attribute data is kept. Products in an ETIM-linked family also get an **ETIM conformance score** in the product editor, so you can see how close each product is to satisfying the standard.
## Troubleshooting
* Check that the family saved successfully.
* Confirm the family belongs to the correct project.
* Refresh the Products page to load the latest family data.
* Child families inherit from their parent. Check that the parent has the expected attributes assigned.
* New attributes added to a parent flow down automatically. Refresh the page if they don't show up.
* Confirm you have permission to delete families.
* If the family has children, reassign or delete the children first.
## Related
Build the attributes your families are made of.
Assign families to products and keep your catalog organized.
Set a family for many products in one action.
Translate product content into your project languages with AI.
# Translating Products
Source: https://docs.wisepim.com/en/products/translating-products
Translate product titles, descriptions, and metadata into your project languages at once with AI. Reach new markets without manual translation work.
Translation is one of the **Enrich with AI** actions. Select products, choose **Translation**, and AI translates your core content fields into your project languages. It runs in the background, so you can keep working.
AI translates a fixed set of six fields: **product name**, **description**, **short description**, **meta title**, **meta description**, and **meta keywords**. Custom attributes are not translated, so codes and spec values stay as they are.
First set up your target languages in **[Settings > General](/en/settings/general)**. Translation uses the languages configured in your project. With no extra languages set up, the Translation option won't appear.
## Prepare your content first
AI translations are only as good as the source text. Short, vague descriptions produce weak translations. Make sure your content is accurate and complete in your primary language before you translate.
[Enrich your products with AI](/en/essentials/enriching-products) first to sharpen titles, descriptions, and metadata in your primary language. Then translate the improved content.
When a field has enriched or reviewed content, translation uses that as the source automatically. So the cleaner your enriched copy, the better every translation comes out. Enrich first, then translate.
## Translate products
Check individual products on the **Products** page. Or apply filters and choose **Apply to all** to translate your whole filtered catalog.
Click **Enrich with AI** in the toolbar. The modal opens with every available action.
Select **Translation**. AI translates the six core fields into each language set up in your project. Open the options to fine-tune what gets translated and how (see below).
Choose **Fast** or **Pro**. Fast is the default and the right choice for almost every run (see below).
Click **Start Enrichment**. The translation runs in the background. Track its progress in the **[Process Tracker](/en/other-features/process-tracker)**.
## Fast or Pro
There are two translation modes. They differ in the model behind them, and in what they cost.
| Mode | Cost | What it is |
| ------------------------ | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Fast** *(recommended)* | 1 credit per product, per language | Industry-leading quality at catalog speed. This is the default and it handles normal product copy well. |
| **Pro** | 5 credits per product, per language | A much larger model. Use it for catalogs where the wording carries real nuance: luxury, regulated products, or copy that sells on tone. |
Translating one product into three languages costs 3 credits on **Fast** and 15 credits on **Pro**. Check your balance in **[Settings > Billing](/en/settings/billing)** before a catalog-wide run.
Start on **Fast**. Translate a handful of products, read the result in one target language, and only reach for **Pro** if the copy genuinely needs the extra nuance. On a large catalog that choice is the difference between hundreds and thousands of credits.
## What keeps translations consistent
Three things work in the background so repeat runs do not drift:
* **Translation memory.** The same phrase gets the same translation every time, across chunks, across products, and across separate runs. Your brand words and stock phrases stay stable.
* **Re-translation only when it is needed.** A language is skipped if it was already translated with the same settings from the same source text. Change the source and it is translated again automatically, so editing or enriching a description forces a fresh translation instead of leaving a stale one behind.
* **An optional auto-learn glossary.** Turn it on in **[Settings > Translation](/en/settings/translation)** and confident findings from your [linguistic reviews](/en/analytics/linguistic-review) become dictionary entries by themselves. It is off by default, and it never overwrites entries you set yourself or terms you marked as do-not-translate.
Credits are reserved when you launch the run. If your balance does not cover the whole selection, WISEPIM translates as many products as the balance allows and drops the rest, and the task log tells you how many it could afford. If a translation fails, the credits for it are refunded automatically at the same weight, so a failed **Pro** language returns 5 credits. You are only charged for the languages that actually came back, and a resumed run never pays twice for chunks that were already prepaid.
## If a run stops early
Translation tasks can be picked back up from the **[Process Tracker](/en/other-features/process-tracker)**:
* **Resume** finishes only the products that were never processed. It costs no extra credits, because the original run already paid for them.
* **Restart** runs the whole selection again from the start, and is charged as a fresh run.
* **Retry failed** re-runs just the items that failed.
After a run that stopped or partly failed, use **Resume** first. **Restart** is for when you changed your settings and want every product translated again with the new ones.
## Fine-tune the translation
The defaults work out of the box, but a few options materially change quality. Open them in the Enrich with AI modal before you start:
Choose which of the six fields to translate. Skip the ones you do not need, or translate only metadata for an SEO pass.
Pick a tone of voice and a style from literal to creative. Literal stays close to the source. Creative adapts the copy for the new market.
Keep brand and product names exactly as written, so they are never translated by accident.
Give AI extra guidance, for example "use formal address" or "keep units in metric." Save instructions you reuse as a template.
Save your favorite setup as a **translation template**. Load it on your next run so every batch stays consistent, with no need to set the options again.
### Supported languages
WISEPIM supports **93 languages**, including English, Dutch, German, French, Spanish, Italian, Portuguese, Polish, Scandinavian languages, Asian languages, and more. Which ones you can use depends on the languages you set up in **[Settings > General](/en/settings/general)**.
## Review translations
When translation finishes, use the language selector on the Products page to switch languages and check the results.
Pick a target language with the language selector.
Review the translated title, description, short description, and meta fields.
Use **Configure Language Columns** to view several languages next to each other.
### Translation status
Each product tracks its own translation status. Filter the products table by status to find what still needs work.
| Status | Meaning |
| ------------------------ | -------------------------------------------------------- |
| **Fully translated** | Every key field is translated into all target languages. |
| **Partially translated** | Some fields or languages are still missing. |
| **Not translated** | No translations exist yet. |
Individual fields can also show as **Outdated**. This happens when you change the source text after translating: the existing translation no longer matches, so the field is flagged for a re-run. Translate again to bring it back in sync.
## Best practices
Enrich products in your primary language first. Better source text means better translations.
Translate 5 to 10 products first to check quality before you run the full catalog.
Technical terms, brand names, and product jargon may need a manual touch-up after translation.
Filter by category and translate in batches. This makes review easier and keeps each category consistent.
## Troubleshooting
Set up at least one target language besides your primary language in **[Settings > General](/en/settings/general)**.
Make sure you selected at least one product. Then check that you have enough AI credits in **[Settings > Billing](/en/settings/billing)**. With a partial balance the run still starts but only covers the products it can pay for; with no affordable products it stops with "Insufficient credits".
Improve your source content first. [Enrich with AI](/en/essentials/enriching-products) in your primary language before you translate.
Only text fields are translated. Numbers, images, and codes stay as they are. An empty source field has nothing to translate.
## Related
Sharpen titles, descriptions, and metadata before you translate.
Set up the project languages that translation uses.
Watch the progress of background translation jobs.
Filter, select, and review products across languages.
From adding a locale to a reviewed, per-language feed you can publish.
# Units of Measure
Source: https://docs.wisepim.com/en/products/units-of-measure
Define and manage UOM code sets like weight, length, and volume, and link them to numeric product attributes for consistent, exportable measurements.
Units of measure (UOM) let you attach standardized unit systems to your numeric product attributes. Instead of storing a raw number in a weight or dimension field, you define a UOM code set (a named group of related units) and link it to an attribute. Your catalog then carries consistent, convertible measurements that export correctly to every channel.
A UOM code set groups related units under one roof. For example, a "Dimensions" set might contain mm, cm, m, and in. One base unit anchors the set; all others carry a conversion factor relative to it.
## UOM code sets
Go to **Products → Attribute Options → Units of Measurement** to see and manage your code sets.
Each code set has:
* **Name** and **Code**: the display name and a unique slug (lowercase, no spaces).
* **Category**: one of Weight, Length, Volume, Area, Quantity, Time, or Custom. Pick **Custom** for anything that does not fit the standard types, such as pallets, rolls, or boxes.
* **Base unit**: the reference unit with factor 1. All other units in the set specify how many base units they equal (e.g., if cm is the base: mm = 0.1, m = 100).
### Creating a code set
Click **New Unit Set**. Fill in the name, code, optional description, and category. Then add units one by one under **Unit Values**:
| Field | Description |
| ---------- | ---------------------------------------- |
| **Code** | Internal identifier, e.g. `mm` |
| **Name** | Display name, e.g. Millimeter |
| **Symbol** | Short label shown with values, e.g. `mm` |
| **Factor** | How many base units this unit equals |
Mark one unit as **Base unit** (it gets factor 1 automatically). Click **Set as base** on any row to promote it. You can also set validation rules per unit: minimum value, maximum value, and decimal precision.
Click **Save Changes** (or **Create Code Set** for a new one). The code set is immediately available for linking to attributes.
### Editing a code set
Click the edit icon on any row in the table. You can rename the set, add or remove units, change the base unit, and update conversion factors. Changes apply to all products using that code set.
Use the **Category** filter above the table to quickly find code sets by measurement type.
### Display format and export settings
Each code set has two additional configuration sections in its modal:
**Display format** controls how values appear in the app: decimal separator (period or comma), thousands separator, and number of decimal places.
**Export settings** control how values land in exports:
* **Append**: value and unit in one column, e.g. `100 mm`
* **Separate columns**: value and unit in separate columns (configure column name suffixes)
* **Ignore unit**: value only, no unit exported
You can override the export setting per export run from the export dialog.
## Importing UOM via the UOM Importer
For large catalogs, use the UOM Importer to load unit sets from a CSV file. Access it from the **Import CSV** button on the Units of Measurement page.
The importer walks you through four steps:
Upload a CSV file (max 50 MB). The importer analyzes it and shows a preview of the first 10 rows. Your CSV needs at minimum: UOM set name (or code), unit code, unit name, and unit symbol. A conversion factor column is recommended.
Match your CSV columns to the UOM fields. Required fields are marked with an asterisk. The importer auto-detects common column names.
Set a default category for unit sets without a category column, choose a default locale for unit names, and enable **Auto-link to Attributes** to automatically connect imported unit sets to matching numeric attributes.
The import runs in the background. You can track progress directly on the page or in the Process Tracker. When complete, you'll see a summary of units created and any errors.
## Applying UOM to products
Link a UOM code set to a product attribute in **Other Features → Managing Attributes**. Set the attribute type to **Number** or **Decimal** (the UOM field only appears for these types) and choose the code set from the UOM field. After linking, every product that uses that attribute will display values with their unit and benefit from conversion and export features.
When editing a single product, a UOM field shows a unit selector alongside the numeric input. Pick the unit that applies to that product.
## Changing UOM in bulk
To change the unit of measure across many products at once, use the bulk edit action **Change Unit of Measure**. Select products, open Bulk Edit, and find it under **Attributes and Custom Fields**. You can convert both the unit label and the actual numeric values using the conversion factor from the code set.
See [Change Unit of Measure](/en/essentials/bulk-editing/change-uom) for full details.
## Related
Bulk-convert units across products, with optional automatic value conversion.
Create numeric attributes and link them to a UOM code set.
# Quick Start Guide
Source: https://docs.wisepim.com/en/quickstart
Go from zero to optimized product content in four steps: connect your store, import products, enrich with AI, and export back.
WISEPIM improves your product content in four steps. Connect your store, import your products, enrich them with AI, and export the results back. You can be up and running in minutes.
## Four steps to better content
[Set up your integration](/en/integrations/supported-platforms) with your e-commerce platform. We support Shopify, Magento, WooCommerce, Lightspeed, CCV Shop, and more.
[Pull your products](/en/essentials/importing-products) into WISEPIM. The importer maps your fields for you. Review the mapping, confirm, and your catalog is ready.
[Select products and click Enrich](/en/essentials/enriching-products). WISEPIM writes optimized titles, descriptions, and attributes from your prompts and Knowledge Library.
[Push your enriched products](/en/essentials/exporting-products) back to your platform. One click, and your store has better content.
## Before you begin
You don't need to set up everything first. When you import, WISEPIM creates attributes and maps fields for you. Still, a few things are worth setting up early for the best results.
Have admin access to your e-commerce platform and your API credentials on hand. See our [integration guides](/en/integrations/supported-platforms) for platform-specific setup.
Open the [Prompt Library](/en/essentials/prompt-library) and create a reusable prompt template. It tells the AI how to write content for your brand.
The [Knowledge Library](/en/other-features/knowledge-library) teaches WISEPIM about your brand. Add your brand voice, audience, and product context. The more you share, the better the AI writes.
[Projects](/en/essentials/managing-projects), [attributes](/en/other-features/managing-attributes), and [categories](/en/other-features/managing-categories) can wait. Set them up later, or let import create them for you.
### Your first sign-in
New accounts start with a short setup wizard. It asks about your company and website, the markets and languages you sell in, and which platforms you want to connect, then tunes WISEPIM to match. It takes a few minutes and runs once, and every step tells you roughly how long is left ("About 4 min left").
A few steps do more than collect answers:
* **What do you want to achieve first?** Pick a goal or describe it in your own words, then click **Set my goal**. It decides what WISEPIM sets up first and tunes the prompt library to match.
* **What does great product data look like for you?** Set your quality bar and click **Switch on my rules**. WISEPIM switches on matching Quality Guard rules straight away: "Your quality rules are switched on. Weak products will be flagged."
* The integrations step shows top picks for your industry. Click **Show all N platforms** to see every connector.
When the wizard ends, "Your next steps are saved under Settings → Onboarding", so you can come back to anything you skipped.
Pick your markets and languages carefully here: they become your project's locales for [translations](/en/products/translating-products). Everything else can be changed later in [Settings](/en/settings/overview).
Enter your store's website and WISEPIM crawls it during setup, pre-filling your company details, industry, and brand context, so the AI writes with your actual business in mind from the very first enrichment.
## Find your way around
Once you are logged in, the top navigation has four groups. Almost everything lives under one of them:
| Group | What's inside |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Catalog** | Your [products](/en/essentials/managing-products), plus the tools that organise them. |
| **AI & Automation** | Everything that writes or automates content: [prompts](/en/essentials/prompt-library), the [Prompt Lab](/en/essentials/prompt-lab), your [Knowledge Library](/en/other-features/knowledge-library), AI Chat, the [Automation Builder](/en/automations/overview), Content Logic, and [Quality Guard](/en/quality-guard/overview). |
| **Channels** | Your [integrations](/en/integrations/supported-platforms) and the connections that move data in and out. |
| **Analytics** | Every [report](/en/analytics/overview), from revenue to [data quality](/en/analytics/data-quality). |
**Media** sits at the top level on its own, next to the four groups.
Prefer to start from a goal rather than a menu? **[Grow sales](/en/guides/overview)** and **[Reduce returns](/en/guides/cut-your-return-rate)** are two hubs that turn the work into a short checklist. Grow sales covers search visibility, channel coverage, listings that convert, and margin. Reduce returns points you at the products whose data is most likely to cause a return.
## Navigate with the Command Menu
The Command Menu is the fastest way around WISEPIM. Open it with `⌘K` on Mac or `Ctrl+K` on Windows, or click the **search icon** in the top-right corner. Then type to jump to a page, find a product, run a calculation, or trigger a page action.
| Action | How |
| ------------------------- | -------------------------------------------------- |
| **Open the Command Menu** | `⌘K` / `Ctrl+K`, or click the search icon |
| **Jump to any page** | Type the page name, like "products" or "analytics" |
| **Search products** | Type a product name, SKU, or keyword |
| **Run a calculation** | Type a math expression, like `24 * 1.21` |
The Command Menu does much more: favorites, unit and currency conversions, page actions, and contextual docs links. See the full [Command Menu guide](/en/essentials/command-menu).
## Get help on the page you're on
Stuck on a screen and want to know more? You don't have to leave WISEPIM or search the docs. Click your **avatar** in the top-right corner and choose **Documentation** under *Support*.
It opens the documentation for **exactly the page you're on**, in **your interface language**: so the instructions you read match what's in front of you. Open it from the products page and you land on product management; from analytics, the analytics guide; from an import screen, the import guide.
Prefer the keyboard? The same **Documentation** shortcut is in the Command Menu (`⌘K` / `Ctrl+K`). Both open help for the page you're currently viewing, see [Opening documentation](/en/essentials/command-menu#opening-documentation).
## What to try first
Once your products are in, these are the fastest ways to see results:
Pick a few products and generate AI descriptions. Compare the before and after.
Pick a few products and translate them into a new language. Native-quality results in seconds.
See how your catalog scores on completeness, channel readiness, SEO, and conversion potential.
Try different prompt setups and see the results live before you apply them to your catalog.
## Need help?
Step-by-step setup for every supported platform.
Our team is here to help with any question or setup.
## Related
A five-part guide that takes these four steps all the way to live, enriched listings.
Filter, sort, and select products once your catalog is in WISEPIM.
# Custom Dashboards
Source: https://docs.wisepim.com/en/analytics/custom-dashboards
Build your own analytics view with drag-and-drop widgets. Combine the revenue, conversion, product, and quality metrics your team cares about into one page.
A custom dashboard puts the metrics you care about on one page. Instead of jumping between report pages, you build a single view that fits your role and your workflow.
Create as many dashboards as you need. Make one for daily operations, one for weekly management reviews, and others for specific campaigns or product launches.
**What it lets you do:** reduce the time between "something changed" and "I know about it" from days to minutes. The payoff is faster decisions for the people who need a specific slice of the data, without giving them access to every analytics detail.
## Create a dashboard
In the sidebar, go to **Analytics > Custom Dashboards**. You see a grid of your dashboards, or an empty page if you have none yet.
Click **Create Dashboard** to open the builder with a blank canvas. To start from a ready-made layout instead, click **Start with a Template**.
Click the title in the page header and type a clear name, like "Daily Sales Overview" or "Product Launch Tracker."
Drag metrics from the widget panel onto the canvas. Each widget tracks one metric or shows one visualization.
Click **Save** in the top-right corner. Your dashboard is stored in the cloud, so you can reach it from any device.
Not sure where to start? Use a template. Templates give you a ready-made dashboard for common needs like revenue tracking, product performance, and data quality monitoring.
## Build your layout
The builder is a visual editor with two areas:
* **The canvas**: where your widgets live. Position and resize them to get the layout you want.
* **The widget panel**: a sidebar that lists every metric and visualization you can add.
### Add a widget
Browse the widget panel. Each widget has a name and description so you know what it shows. Drag a widget onto the canvas to add it.
### The widget library
Pick the widget that matches the question you are asking. A single number answers "where are we right now?" A chart answers "how did we get here?" and "which part is the problem?"
| Widget | Best for |
| ------------------- | ----------------------------------------------------------------------------------------- |
| **Stat Card** | One number, big and readable. Your headline metric. |
| **Trend Card** | One number with its direction of travel over the period. |
| **Comparison** | Two values side by side, like this period against the last one. |
| **Ticker** | A compact row of several numbers you want to keep an eye on. |
| **Sparkline** | A tiny trend line that adds context to a single number. |
| **Line Chart** | A metric over time, with the shape of the change visible. |
| **Bar Chart** | Values compared across a handful of groups. |
| **Horizontal Bar** | The same comparison when the labels are long, like product or channel names. |
| **Diverging Bar** | Changes that go both up and down from a middle point, like gains and losses per category. |
| **Donut** | How a total splits into a few parts. |
| **Breakdown Donut** | The same split with the underlying numbers listed beside it. |
| **Funnel** | Drop-off across the steps of a process. |
| **Gauge** | A value read against a range, like a quality score out of 100. |
| **Goal Progress** | How far along you are toward a target you set. |
| **Activity Rings** | Several progress measures in one compact view. |
### Configure a widget
Every widget binds to a live metric from your account, so the numbers on your dashboard are the same numbers behind the full reports. Pick a metric such as **Daily Revenue** for a trend line or **Revenue by Channel** for a breakdown, then set the display options. Depending on the widget type, you can:
* Choose which metric to show
* Set the time range for the data
* Set comparison periods
* Filter by product family, category, or channel
Match the widget to the metric. **Daily Revenue** reads best as a Line Chart or Sparkline, because the shape over time is the point. **Revenue by Channel** reads best as a Horizontal Bar or Breakdown Donut, because you want to compare the parts.
### Move and resize
Drag a widget to move it. Pull its edges to resize it. Make your most important metrics bigger so they stand out.
Your changes are not saved automatically. Click **Save** before you leave the page, or you lose your layout and widget settings.
## Start from a template
Prefer a head start? The Template Library has ready-made dashboards for common analytics needs.
On the Custom Dashboards page, click **Start with a Template**.
Browse the templates. Each one shows a description and a preview of its widgets. Click one to create a dashboard from it.
A template-based dashboard works like any other. Add, remove, or rearrange its widgets to fit your needs.
## Manage your dashboards
The Custom Dashboards page shows every dashboard as a card. Each card displays the name, a preview of its widgets, and quick actions to edit, duplicate, and delete. Once you have more than six dashboards, pagination appears so you can browse them all.
Click a dashboard card to open it in the builder. Make your changes, then click **Save**. If you try to leave with unsaved changes, you are asked to save or discard them first.
Use the duplicate action on a card to make an exact copy. This saves time when you want a variation of an existing dashboard. For example, clone "Sales Overview" to create a region-specific version.
Click the star icon on a card to favorite it. Favorited dashboards appear in the analytics sidebar, so you can open them in one click from anywhere in Analytics.
Favorite your most important dashboard. It then sits in the sidebar, saving you a click every time you check your key metrics.
Use the delete action on a card to remove a dashboard you no longer need. You are asked to confirm first.
Deleting a dashboard is permanent and cannot be undone. Make sure you no longer need it before you confirm.
## What makes a good dashboard
A dashboard is only useful if it tells you something new quickly. Keep these principles in mind when you build:
* **One job per dashboard.** A daily operations dashboard should answer "is anything broken right now?" A weekly management dashboard should answer "are we on track this month?" Mixing the two creates noise.
* **Lead with the most important metric.** Make it the largest widget, placed top-left. If the first thing you see on the daily ops dashboard is your quality score, you will scan for anomalies faster.
* **Limit to 6–10 widgets.** More widgets means more time scanning, which defeats the point. If you need more, make a second dashboard.
* **Include at least one trend widget.** A single number without context (revenue today vs. yesterday) tells you less than a sparkline over 30 days. Pair point-in-time KPIs with trend lines.
* **Set comparison periods on KPI widgets.** A revenue number without a period-over-period comparison is hard to interpret. Even a "vs. previous 30 days" comparison tells you immediately whether the number is good or bad.
## View a dashboard
Once you save a dashboard, click **View Dashboard** in the header to switch to view mode. This is a clean, read-only layout of your widgets. It works well for daily monitoring or for sharing your screen in meetings. If you have unsaved changes, you are asked to save or discard them first.
## Act on what you find
A custom dashboard surfaces the anomaly, but it does not explain it. Click through to the full analytics report behind the metric for the breakdown. For revenue drops, go to [Revenue & Sales](/en/analytics/revenue-sales). For quality drops, go to [Data Quality](/en/analytics/data-quality). Custom dashboards are the alarm; the full reports are the diagnosis.
Use a template as a starting point, then filter its widgets to the relevant product family or category. Set the time range on each widget to cover the campaign period. Duplicate it as a baseline before the launch so you can compare launch-day metrics against the pre-launch period. Outcome: rapid feedback on whether the launch is performing as expected while it is still running.
Build a separate "management view" dashboard with larger widgets, fewer details, and a 30-day default range. Switch to view mode before the meeting for a clean read-only layout. Favorite it so it appears in the sidebar for one-click access. Outcome: consistent, professional reporting that takes seconds to open rather than minutes to assemble.
Add a Data freshness widget and a channel sync status widget alongside your revenue and quality metrics. If a sync stalls, you will see it on the dashboard immediately rather than discovering it hours later when numbers stop updating. Outcome: faster incident detection, reducing the window of stale data before it is noticed.
## Move local dashboards to the cloud
Your dashboards are stored in the cloud, so you can reach them on any device where you are logged in. If you created dashboards before, when they were saved in your browser, WISEPIM finds them and offers a one-click migration.
When WISEPIM finds local dashboards, a migration banner appears at the top of the Custom Dashboards page.
Click **Migrate Now** to move all your local dashboards to the cloud.
Once migration finishes, your dashboards are available on every device.
## Related
Track and improve your product data quality with completeness scores and clear suggestions.
Go back to the Analytics Hub for a full view of all your e-commerce metrics.
# Create Product Attribute
Source: https://docs.wisepim.com/en/api-reference/attributes/create
POST /api/attributes
Create a custom product attribute via the WISEPIM API. Define field type, validation rules, and options for text, number, select, and other attribute formats.
Create a new attribute for products.
### Body Parameters
Unique identifier for the attribute
Display label for the attribute
Project ID
Type of attribute. One of: text, textarea, number, decimal, date, datetime, boolean, select, multiselect, color, image, file
Whether the attribute is required
Array of options for select/multiselect types
Validation rules for the attribute
```json theme={null}
{
"code": "color",
"label": "Color",
"project": 1,
"attribute_type": "select",
"is_required": true,
"options": ["red", "blue", "green"],
"validation_rules": {
"min_selections": 1,
"max_selections": 1
}
}
```
```json theme={null}
{
"id": 1,
"code": "color",
"label": "Color",
"attribute_type": "select",
"created_at": "2024-01-01T12:00:00Z"
}
```
# Create Category
Source: https://docs.wisepim.com/en/api-reference/categories/create
POST /api/categories
Create a new product category via the WISEPIM API. Define parent relationships, set metadata, and build your catalog hierarchy programmatically with ease.
Create a new category for organizing products.
### Body Parameters
Category name
Project ID
Parent category ID for nested categories
Category description
Whether the category is active
```json theme={null}
{
"name": "Electronics",
"project": 1,
"parent": null,
"description": "Electronic products category",
"is_active": true
}
```
```json theme={null}
{
"id": 1,
"name": "Electronics",
"slug": "electronics",
"project": 1,
"created_at": "2024-01-01T12:00:00Z"
}
```
# Create Product
Source: https://docs.wisepim.com/en/api-reference/products/create
POST /api/products
Create a product via the WISEPIM API with attributes, pricing, inventory, and categories. Includes request parameters, validation rules, and examples.
Create a new product with the specified attributes and settings.
### Body Parameters
Unique identifier for the product within a project
Product name
ID of the project this product belongs to
Rich text description of the product
Brief product description for listings
Product price. Must be zero or positive; a negative `price`, `special_price` or `cost` returns 400. Leave it out to store the product without a price (`price_state` becomes `missing`)
Type of product. One of: simple, configurable, virtual, bundle, grouped
Product status. One of: active, inactive, pending, archived
Array of category IDs this product belongs to
Key-value pairs of product attributes and their values
### Response
The unique identifier for the created product
The product SKU
Timestamp when the product was created
```json theme={null}
{
"sku": "PROD-001",
"name": "Example Product",
"project": 1,
"description": "Detailed product description",
"short_description": "Brief overview",
"price": 99.99,
"product_type": "simple",
"status": "active",
"categories": [1, 2],
"attributes": {
"color": "blue",
"size": "medium"
}
}
```
```json theme={null}
{
"id": 1,
"sku": "PROD-001",
"name": "Example Product",
"created_at": "2024-01-01T12:00:00Z",
"status": "active",
"project": 1
}
```
# Delete Product
Source: https://docs.wisepim.com/en/api-reference/products/delete
DELETE /api/products/{id}
Delete a product from your catalog via the WISEPIM API. Includes path parameters, response codes, and important notes about permanent removal behavior.
Delete a product from the system.
### Path Parameters
The ID of the product to delete
### Response
Returns a 204 No Content response on successful deletion.
# Get Product
Source: https://docs.wisepim.com/en/api-reference/products/get
GET /api/products/{id}
Retrieve a single product by ID via the WISEPIM API. Returns all fields including attributes, categories, pricing, inventory, and quality score data.
Returns detailed information about a specific product.
### Path Parameters
The ID of the product to retrieve
### Response
Product ID
Product SKU
Product name
Full product description
Product attribute values
List of categories the product belongs to
```json theme={null}
{
"id": 1,
"sku": "PROD-001",
"name": "Example Product",
"description": "Detailed description",
"short_description": "Brief overview",
"price": 99.99,
"status": "active",
"product_type": "simple",
"created_at": "2024-01-01T12:00:00Z",
"updated_at": "2024-01-01T12:00:00Z",
"categories": [
{
"id": 1,
"name": "Electronics"
}
],
"attributes": {
"color": "blue",
"size": "medium"
}
}
```
# List Products
Source: https://docs.wisepim.com/en/api-reference/products/list
GET /api/products
Retrieve a paginated list of products from the WISEPIM API. Filter by status, category, or attributes and sort results with flexible query parameters.
Returns a paginated list of products. You can filter and sort the results using query parameters.
### Query Parameters
Filter products by project ID
Filter by status (active, inactive, pending, archived)
Filter by product type (simple, configurable, virtual, bundle, grouped)
Filter by category ID
Page number for pagination
Number of items per page
### Response
Total number of products matching the filters
URL for the next page of results
URL for the previous page of results
List of product objects
```json theme={null}
{
"count": 100,
"next": "https://api.example.com/products?page=2",
"previous": null,
"results": [
{
"id": 1,
"sku": "PROD-001",
"name": "Example Product",
"status": "active",
"product_type": "simple",
"created_at": "2024-01-01T12:00:00Z",
"project": 1
}
// ... more products
]
}
```
# Update Product
Source: https://docs.wisepim.com/en/api-reference/products/update
PUT /api/products/{id}
Update a product attributes, pricing, inventory, or categories via the WISEPIM API. Supports partial updates with flexible field selection and validation.
Update the details of an existing product.
### Path Parameters
The ID of the product to update
### Body Parameters
Updated product name
Updated product description
Updated product status
Updated attribute values
```json theme={null}
{
"name": "Updated Product Name",
"description": "Updated description",
"status": "active",
"attributes": {
"color": "red",
"size": "large"
}
}
```
```json theme={null}
{
"id": 1,
"sku": "PROD-001",
"name": "Updated Product Name",
"updated_at": "2024-01-01T13:00:00Z"
}
```
# Create Project
Source: https://docs.wisepim.com/en/api-reference/projects/create
POST /api/projects
Create a new project via the WISEPIM API to organize catalogs, teams, and integrations. Set project name, industry, languages, and configuration in one call.
Create a new project for managing products and their attributes.
### Body Parameters
Project name
Project description
Project status. One of: active, completed, on\_hold, cancelled
AI configuration settings
Global attribute behavior settings
```json theme={null}
{
"name": "Summer Collection 2024",
"description": "Summer fashion collection",
"status": "active",
"ai_settings": {
"models": {
"description": "gpt-4",
"titles": "gpt-3.5-turbo"
},
"quality_checks": {
"enabled": true,
"min_words": 100
}
}
}
```
```json theme={null}
{
"id": 1,
"name": "Summer Collection 2024",
"status": "active",
"created_at": "2024-01-01T12:00:00Z"
}
```
# Create Prompt
Source: https://docs.wisepim.com/en/api-reference/prompts/create
POST /api/prompts
Create a new AI prompt template via the WISEPIM API for automated content generation. Define prompt text, target fields, and generation parameters in code.
Create a new prompt template for AI-powered content generation.
### Body Parameters
Prompt template title
Brief description of what this prompt does
The actual prompt template text
Type of enrichment. One of: description, titles, product\_attributes
Desired tone of voice. Options include: seo, excited, professional, confident, formal, casual, humorous, sophisticated, custom
Content purpose. Options include: standard, short, detailed, benefits\_focused, technical, emotional, marketplace, luxury
```json theme={null}
{
"title": "Product Description Generator",
"description": "Generates SEO-optimized product descriptions",
"prompt_text": "Create a compelling product description for {product_name} with the following features: {features}",
"enrich_type": "description",
"tone_of_voice": "professional",
"purpose": "standard"
}
```
```json theme={null}
{
"id": 1,
"title": "Product Description Generator",
"version": "1.0.0",
"created_at": "2024-01-01T12:00:00Z"
}
```
# List Prompt Versions
Source: https://docs.wisepim.com/en/api-reference/prompts/versions
GET /api/prompts/{id}/versions
Retrieve the version history of an AI prompt via the WISEPIM API. Track prompt changes over time and reference previous configurations for auditing purposes.
Get the version history of a specific prompt template.
### Path Parameters
The ID of the prompt
### Response
List of prompt versions
```json theme={null}
{
"versions": [
{
"version_number": "1.0.0",
"prompt_text": "Original prompt text",
"created_at": "2024-01-01T12:00:00Z"
},
{
"version_number": "1.0.1",
"prompt_text": "Updated prompt text",
"created_at": "2024-01-02T12:00:00Z"
}
]
}
```
# Action nodes
Source: https://docs.wisepim.com/en/automations/action-nodes
Action nodes do the real work in an automation: import, export, enrich with AI, bulk edit, call APIs, and send notifications in multi-step workflows.
Action nodes do the real work in your automation. They import data, export it to channels, enrich it with AI, and more. Chain several actions together to build a multi-step workflow.
Add and configure action nodes in the [visual builder](/en/automations/builder). Click a node to open its settings. A green checkmark means the node is ready. An amber icon means it still needs setup.
## Choose an action
Each action node does one job. Pick the one that matches your goal.
| Action | Use it to |
| --------------------- | -------------------------------------------------------------- |
| **Import products** | Pull product data into WISEPIM from another platform or a file |
| **Export products** | Push product data out to a channel or file |
| **AI enrichment** | Generate or improve product content with AI |
| **Bulk edit** | Change many products at once |
| **API request** | Send data to or from another system over HTTP |
| **Send notification** | Alert your team when something happens |
## Import products
Pull product data into WISEPIM from an external source.
| Setting | What it does |
| ------------------ | ----------------------------------------------------- |
| **Source** | The platform or file format to import from |
| **Create missing** | Create new products for items not yet in your catalog |
Supported sources: Shopify, WooCommerce, Magento, Lightspeed, Kaufland, CSV file, and WebShopImporter. To pull a file from a URL on a schedule, use **Import from URL** instead.
## Import from URL
Fetch a CSV, Excel or XML feed from a public URL and import it, without anyone uploading a file. This is the node for supplier feeds that refresh on their own server.
| Setting | What it does |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Feed URL** | A public http(s) address of the file |
| **Format** | Auto-detect, CSV, Excel or XML. Excel adds a **Worksheet** picker; XML adds an **Item XPath** so WISEPIM knows which element is one product |
| **Load feed preview** | Reads the feed and opens the column mapping workspace with AI auto-map. One column must map to SKU |
| **Duplicate handling** | **Overwrite mapped fields**, **Merge (fill empty only)** or **Skip existing** |
| **Fill unmapped fields from project templates** | Apply your template defaults to fields the feed does not cover |
Limits: CSV up to 50 MB, Excel up to 20 MB and 200,000 rows, preview up to 32 MB. The node waits when another import is already running for your account. An import started this way cannot re-trigger the same automation's **After Import** trigger, but other automations can chain off it.
### Picqer
The **Picqer** node brings products and live stock in from Picqer. It can also push stock to other projects you own, so one Picqer connection keeps several catalogs in sync.
| Setting | What it does |
| ------------------------------- | -------------------------------------------------------- |
| **Also sync to these projects** | Other projects that should receive the same stock levels |
Cross-project syncing matches products by SKU and only copies stock quantity, stock status, and the manage-stock flag. Nothing else is touched, so each project keeps its own content and prices. See [Picqer](/en/integrations/picqer) for the connection itself.
## Export products
Push product data to a destination channel or file.
| Setting | What it does |
| --------------- | ---------------------------------------- |
| **Destination** | The platform or file format to export to |
| **Format** | For file exports: Excel or CSV |
Supported destinations: Shopify, WooCommerce, Magento, Lightspeed, Kaufland, and Excel or CSV file.
If you use [Pricing & Margins](/en/settings/pricing) rules, the prices in an export can differ from the prices stored in WISEPIM. The rules apply at export time only. Your stored prices never change.
## AI enrichment
Generate or improve product content with AI. This action runs a prompt from your [Prompt Library](/en/essentials/prompt-library).
| Setting | What it does |
| -------------------- | ---------------------------------------------------------------- |
| **Enrichment type** | The AI task to run (see the table below) |
| **Prompt** | Which prompt from your Prompt Library to use |
| **Fields** | For Bulk Enrich, which fields to rewrite |
| **Max categories** | For AI categorization, the most categories a product may receive |
| **Target languages** | For translations, the languages to translate into |
Pick an enrichment type to tell the AI what to produce:
| Type | What it does |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Auto-Fill** | Fill in every field that is still empty or weak, in one pass |
| **Bulk Enrich** | Rewrite the fields you pick (description, short description, titles, SEO meta, attributes) and overwrite what is there |
| **AI categorization** | Assign products to categories automatically, up to the maximum you set |
| **Web research** | Look up the product on the web and fill in facts, identifiers, and specs |
| **Translation** | Translate product content into your target languages |
Every enrichment run costs AI credits, so the node checks your credit balance before it starts. If the balance is too low, the run does not begin and nothing is charged. Standard enrichment costs 1 credit per product per field. Web research costs 5 credits per product. **Fast** translation costs 1 credit per product per language and **Pro** translation costs 5.
Use **Auto-Fill** in an after-import automation to fill the gaps a supplier feed leaves behind. Use **Bulk Enrich** when you want to replace existing content on purpose, for example after changing your tone of voice.
## Bulk edit
Change many products at once. Bulk edit supports more than 25 operations, grouped by what they affect.
| Operation | What it does |
| -------------------- | --------------------------------------------------- |
| **Find and replace** | Search for text in a field and replace it |
| **Standardize case** | Convert text to title case, uppercase, or lowercase |
| **Trim whitespace** | Remove extra spaces from text fields |
| **Append text** | Add text to the end of a field |
| **Prepend text** | Add text to the start of a field |
| **Clear field** | Remove all content from a field |
| Operation | What it does |
| -------------------------- | ------------------------------------------ |
| **Assign to categories** | Add products to one or more categories |
| **Remove from categories** | Take products out of specific categories |
| **Replace categories** | Swap all category assignments for new ones |
| Operation | What it does |
| ---------------------- | -------------------------------------------------------- |
| **Change price** | Raise or lower prices by a fixed amount or percentage |
| **Special price** | Set sale prices, with optional date ranges |
| **Cost margins** | Calculate selling prices from cost prices using a markup |
| **Numeric operations** | Run math operations on numeric fields |
| Operation | What it does |
| ----------------- | ---------------------------------------------- |
| **Change status** | Set product status (Draft, Ready, Archived) |
| **Update stock** | Set, add to, or subtract from stock quantities |
| **Stock status** | Mark products as in stock or out of stock |
| Operation | What it does |
| ------------------ | -------------------------------- |
| **Update weight** | Set product shipping weights |
| **Set dimensions** | Update length, width, and height |
| Operation | What it does |
| ----------------- | ---------------------------------------------- |
| **Set attribute** | Set a specific attribute value across products |
## API request
Send HTTP requests to external systems like your ERP, warehouse management, or CRM.
| Setting | What it does |
| ------------------------ | -------------------------------------------------------- |
| **URL** | The endpoint to call |
| **Method** | GET, POST, PUT, PATCH, or DELETE |
| **Headers** | Custom HTTP headers (for example, authentication tokens) |
| **Body** | Request payload in JSON format |
| **Include product data** | Send product information in the request body |
## Send notification
Alert your team about workflow events or results.
| Setting | What it does |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Type** | In-app notification, Email, Slack or Webhook |
| **Recipients** | Email: up to 5 addresses, comma-separated; leave empty to send to your own account email. Slack: an incoming-webhook URL. Webhook: a public http(s) URL that receives a JSON payload |
| **Content** | **Write it myself**, **Let AI write it** (you give instructions, the AI grounds the message in the run's real numbers) or **Data insights report** (step outcomes, product counts, quality and completion averages, content coverage). You can also attach the data insights digest to a written message |
| **Message template** | The message text. Supports variables like `{product_count}`, `{automation_name}`, and `{timestamp}`. The subject is generated when you leave it empty |
During a **Test Run**, emails go only to you with a "\[Test Run]" subject, and Slack or webhook posts are flagged as a test. Private, loopback and non-http(s) webhook URLs are rejected.
## Related
Control which products flow through your workflow.
Add conditional branching and flow control to your automations.
Drag, connect, and configure nodes on the canvas.
Decide what starts your automation and when it runs.
# Visual builder
Source: https://docs.wisepim.com/en/automations/builder
Design automation workflows visually: drag nodes onto a canvas, connect them, and watch real-time validation catch errors before you run.
The visual builder is where you design automations. You drag nodes onto a canvas, configure them, and connect them to define how data flows. No code required.
The builder validates your workflow as you go. Each node shows a status badge: a green checkmark when it is ready, an amber icon when it still needs configuration.
## Open the builder
Click **Automations** in the sidebar.
Click **Create Automation**. The builder opens with a blank canvas and a default trigger node.
You can also open the builder by editing an existing automation, or by applying a template from the [templates page](/en/automations/templates).
## Let AI draft it for you
You do not have to place every node yourself. Open the **AI Designer** from the builder, describe the automation you want in plain language, and AI drafts the workflow for you.
Write it the way you would explain it to a colleague. For example: "every night, import new products from Shopify, write descriptions for the ones that have none, then email me a summary."
Example prompts are listed in the modal if you want a starting point. The draft lands on the canvas as normal nodes, so you can move, edit, or delete anything before you save.
Treat the draft as a first pass. Open each node and check its settings, especially filters and destinations, before you activate the automation.
## Find your way around
The builder has three areas:
* **Left panel** is the node palette. Browse available nodes here and drag them onto the canvas.
* **Canvas** is your workspace. Arrange and connect nodes here.
* **Right panel** is the configuration panel. It appears when you click a node, so you can edit its settings.
### Move around the canvas
| Action | How |
| --------------- | ----------------------------------------------------------- |
| **Zoom** | Scroll, or use the controls in the bottom-left corner |
| **Pan** | Click and drag on empty space |
| **Overview** | Use the minimap in the corner to see your whole workflow |
| **Auto-layout** | Arrange nodes automatically, top-to-bottom or left-to-right |
| **Align** | Snap selected nodes into a straight line |
Press `Ctrl+S` to save, `Ctrl+Z` to undo, `Ctrl+Shift+Z` to redo, and `Delete` to remove selected nodes. On Mac, use `Cmd` instead of `Ctrl`.
## Build a workflow
A workflow is a chain of nodes. Each node is one step. Here is the basic flow.
### Add nodes
The left panel lists every node by category: Triggers, Actions, Data, and Logic.
Click a node in the palette and drag it where you want it.
Click the node to open its settings in the right panel, then fill in what it needs.
Every node belongs to one of four categories:
Start your workflow. Every automation needs at least one. Choose from Schedule, Webhook, Manual, After Import, After Export, Product Updated, and Quality Changed.
Do the work. Choose from Import, Export, AI Enrichment, Bulk Edit, API Call, and Notification.
Control which products flow through. Choose from Select Products and Filter.
Add decision-making. Choose from Condition, Merge, and Delay.
After you add a node, the builder may suggest what to add next, like a data selector after a trigger or an action after a filter.
### Configure nodes
Click any node to open its settings in the right panel. Each type has its own options. For the full list, see the reference page for each node category linked in the cards above.
### Connect nodes
Connections define how data flows from one node to the next.
Connection handles appear on all four sides (top, bottom, left, right).
Click and drag from an output handle (the bottom or right side) of the source node.
Release on an input handle (the top or left side) of the target node. An arrow shows the direction of flow.
A few rules keep your workflow valid:
* **Triggers only have outgoing connections.** They are always starting points.
* **A node cannot connect to itself.**
* **You cannot connect the same two nodes twice.**
* **Branching is allowed.** One node can connect to several downstream nodes to process in parallel.
To remove a connection, hover over the connection line and click the delete button. You can undo this if needed.
Your workflow needs a complete path from a trigger to at least one action before you can save or test it. The builder warns you if the workflow is incomplete.
## Work with nodes
* **Click** a node to select it and open its settings.
* **Ctrl+Click** (Cmd+Click on Mac) to select more than one.
* **Drag-select** by clicking empty canvas space and dragging a box around a group.
Select one or more nodes, press `Ctrl+C` to copy, then `Ctrl+V` to paste. The copies appear offset from the originals, with all settings kept.
Disable a node to skip it during a run without deleting it. Disabled nodes look dimmed on the canvas. This is handy for testing without losing the node's setup.
Select nodes and press `Delete` or `Backspace`. Their connections are removed too. Press `Ctrl+Z` to undo.
Use **Auto-layout** to arrange all nodes into a clean grid, top-to-bottom or left-to-right. Select two or more nodes and use **Align** to snap them into a straight line.
## Name and save
Click the automation name at the top of the builder to rename it. Use a clear name like "Nightly Shopify Sync" or "Post-Import AI Enrichment".
Click **Save** in the toolbar, or press `Ctrl+S`. Before saving, the builder checks that:
1. Your workflow has at least one trigger connected to at least one action.
2. Every enabled node has a complete path from trigger to action.
A new automation gets created on the server and assigned an ID. Later saves update it in place.
Save often as you build. You can reopen and keep editing a saved automation any time from the automations list.
### Recover unsaved work
The builder also keeps an autosaved draft of your canvas in this browser while you work. If the tab closes or crashes before you saved, reopening the automation shows **Unsaved work recovered** with "Autosaved . Restore it, or keep the saved version." The draft is only offered when it is newer than the saved automation.
* **Restore** puts the draft back on the canvas. The toast "Draft restored" reminds you to save the automation to keep these changes.
* **Discard draft** keeps the saved version and throws the draft away.
## Test before you activate
Run a test straight from the builder to see your workflow in action.
Make sure every node is configured (green checkmarks) and properly connected.
Click the test button in the toolbar. The builder runs your workflow.
The execution panel shows real-time progress. Each node lights up as it works: blue while running, green when done, red if it fails.
The panel logs each step, including how many products were processed and any errors.
During a test run you get a live view:
* **Node badges** switch between running, done, and failed, with animated indicators.
* **Connection lines** animate to show data moving between nodes.
* **Execution panel** logs a timestamped entry for each step.
* **Progress bar** tracks overall completion.
You can **pause**, **resume**, or **cancel** a test run at any time from the execution panel.
## Back up and share
Export any automation as a JSON file. Click the export button in the toolbar to download the workflow definition. Use it as a backup or to share with someone else.
To import one, click the import button and select a JSON file. The imported workflow replaces what is currently on the canvas.
## Undo and redo
The builder keeps your last 50 changes. Press `Ctrl+Z` to undo and `Ctrl+Shift+Z` to redo. Toast notifications include an **Undo** button for destructive actions.
## Keyboard shortcuts
| Shortcut | Action |
| ---------------------- | --------------------- |
| `Ctrl+S` | Save automation |
| `Ctrl+Z` | Undo last action |
| `Ctrl+Shift+Z` | Redo |
| `Ctrl+C` | Copy selected nodes |
| `Ctrl+V` | Paste copied nodes |
| `Delete` / `Backspace` | Delete selected nodes |
| `Ctrl+A` | Select all nodes |
On Mac, use `Cmd` instead of `Ctrl` for every shortcut.
## Related
Start from a pre-built template for common workflows.
Learn how to manage and monitor your automations.
# Data nodes
Source: https://docs.wisepim.com/en/automations/data-nodes
Control which products flow through your automation: pick a product set, narrow it with filters, or read from a file to target the right products.
Data nodes decide which products your automation works on. Use them to pick a product set, narrow it down with filters, or pull in data from a file.
Place data nodes between your trigger and your actions. This controls exactly which products reach each step.
## Pick which products to process
The Select Products node chooses which products the automation runs on. It is usually the first node after your trigger.
| Setting | What it does |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| **Filter conditions** | One or more conditions a product must match (for example, status is "Ready" or category is "Electronics") |
| **Condition logic** | Combine conditions with AND (all must match) or OR (any can match) |
| **Minimum matches** | Require a minimum number of matching products before the workflow continues |
Leave the filter conditions empty to select every product in your catalog.
## Narrow a set with filters
The Filter Products node trims a product set that is already moving through the workflow. Use it after a Select Products node or an import to cut the set down further.
| Setting | What it does |
| --------------------- | -------------------------------------------------------------- |
| **Filter conditions** | One or more conditions a product must match to stay in the set |
| **Condition logic** | Combine conditions with AND or OR |
Common ways to use it:
* Keep only imported products that are missing a description
* Narrow a set to one brand or price range
* Drop products that are already published
**Select Products vs. Filter Products:** Select Products builds a new set from your whole catalog. Filter Products narrows a set that is already flowing through the workflow.
## Pull in data from a file
The Read File node loads product data from a file stored in WISEPIM. Use it when your workflow needs to process a CSV, Excel, or JSON file.
| Setting | What it does |
| ------------------ | ---------------------------------------------------- |
| **File path** | Where the file lives in WISEPIM |
| **Format** | CSV, Excel, or JSON |
| **Column mapping** | Match each file column to a product field in WISEPIM |
## Import your category tree
The Category Import node pulls categories in from a connected platform, so your structure in WISEPIM matches the structure in your shop. Run it before a product import and the products land in the right place straight away.
| Setting | What it does |
| -------------- | ------------------------------------------------------------------------ |
| **Source** | The connected platform to read categories from. Sources include CCV Shop |
| **Categories** | Which parts of the tree to import |
Put a Category Import node ahead of a product import in the same automation. Categories arrive first, so nothing ends up uncategorized.
Products themselves come in through the [Import products action](/en/automations/action-nodes#import-products), which also covers the [Picqer](/en/integrations/picqer) node and its cross-project stock syncing.
## Related
Branch, merge, and pause the flow with if/then logic.
See every action your automations can run.
Drag, connect, and configure nodes on the canvas.
Decide what starts your automation and when.
# Logic nodes
Source: https://docs.wisepim.com/en/automations/logic-nodes
Shape the flow of your automation. Branch products with if/then rules, merge parallel paths back together, and add delays between steps.
Logic nodes shape how products move through your automation. Use them to branch the flow, merge paths back together, or pause between steps.
Logic nodes work with any trigger, data node, or action node. Add them anywhere in your workflow to control how products are routed.
## Branch with if/then logic
The Condition node splits the flow in two. Products that match follow the "true" path. Products that don't follow the "false" path.
| Setting | What it does |
| -------------------- | ------------------------------------------------------- |
| **Condition groups** | One or more groups of rules to evaluate |
| **Group logic** | AND (all groups must match) or OR (any group can match) |
Each group holds one or more rules:
| Rule setting | What it does |
| ------------ | ----------------------------------------------------------------------------- |
| **Field** | The product field to check (title, price, status, category, or any attribute) |
| **Operator** | The comparison to run |
| **Value** | The value to compare against |
The operators you can pick depend on the field type:
| Field type | Operators |
| ------------------- | ----------------------------------------------------------------------------------------------- |
| **Text** | equals, not equals, contains, does not contain, starts with, ends with, is empty, is not empty |
| **Numeric** | equals, not equals, greater than, less than, greater than or equal, less than or equal, between |
| **Select / Status** | equals, not equals, is one of, is not one of |
| **Boolean** | is true, is false |
| **Date** | before, after, between, is empty |
Use several condition groups with OR logic to build richer branches. For example, route products to different export channels based on category or price range.
## Merge parallel paths
The Merge node brings two or more branches back into one flow. It collects products from every incoming connection and passes them on as a single set.
No setup is needed. Just connect each branch to the merge node's input handles.
Use it to:
* Recombine the true and false paths after a Condition node
* Bring parallel action branches together before a final step, such as a summary notification
## Add a delay
The Delay node pauses the workflow before it moves to the next node.
| Setting | What it does |
| -------------- | ------------------------------------------------------------ |
| **Delay type** | Fixed duration, random duration, or until a set time |
| **Duration** | For fixed delays: how long to wait (minutes, hours, or days) |
| **Range** | For random delays: a minimum and maximum duration |
| **Until time** | For time-based delays: the time of day to resume |
Use it to:
* Wait between an import and an export to leave time for manual review
* Space out API calls to stay under rate limits
* Hold notifications until business hours
## Related
Control which products flow through your workflow.
See every action your automations can run.
Decide what starts your automation and when.
Drag, connect, and configure nodes on the canvas.
# Automations Overview
Source: https://docs.wisepim.com/en/automations/overview
Build visual, no-code workflows that import, enrich, export, and sync product data on autopilot. Stop doing repetitive PIM tasks by hand.
Automations run your repetitive product tasks for you. Import, enrich, export, and sync product data on a schedule or on a trigger, all without writing code.
You build each automation in a [visual editor](/en/automations/builder) by connecting nodes on a canvas. No coding required.
## How an automation works
Every automation follows the same simple pattern. A trigger starts it, then nodes do the work in order.
1. **Trigger**: starts the run on a schedule, a webhook, a manual click, or an event
2. **Data nodes**: pick and filter which products to process
3. **Action nodes**: import, export, enrich, edit, or notify
4. **Logic nodes**: branch, merge, and delay steps
## Node types
Pick the right node for each step. Here is what each type does.
Start a run with one of 7 triggers: Schedule, Manual, Webhook, After Import, After Export, Product Updated, and Quality Changed.
Do the work with 6 actions: Import, Export, AI Enrichment, Bulk Edit, API Request, and Notification.
Select products, filter by conditions, and read external files.
Branch on a condition, merge parallel paths, and delay steps.
## Track performance on the dashboard
The automations page shows a live dashboard with four key metrics:
* **Total Automations**: how many workflows you have built, and how many are active now
* **Success Rate**: the share of finished runs that succeeded. Only runs that ended as success, failed or partial count; dry runs, pending, running and cancelled runs are left out. A partial run counts as a success when at least 80% of its processed products went through, so a few Quality Guard rejections do not drag the rate down
* **Total Executions**: how many times your automations have run this month
* **Time Saved**: an estimate based on the number of products processed
If an automation drops below an 80% success rate, open its configuration and run history to find the error.
## Manage your automations
The automations list shows every workflow in one table. Search, filter, and sort to find what you need.
### Find an automation
* **Search** by name or description
* **Filter by status** to see only active, paused, or draft automations
* **Sort** by last updated, name, status, last run, or success rate
### What each status means
| Status | Meaning |
| ---------- | ----------------------------------------------------------- |
| **Active** | The automation is live and runs according to its trigger. |
| **Paused** | The automation exists but will not run until you resume it. |
| **Draft** | The automation is still being built and is not active yet. |
| **Error** | The automation hit a problem during its last run. |
### Actions you can take
From the automations list, you can:
* **Edit**: open the automation in the [visual builder](/en/automations/builder)
* **Run Now**: trigger the automation immediately
* **Duplicate**: make a copy of an existing automation
* **View History**: see the execution history and logs
* **Export**: download as a JSON file to back up or share
* **Delete**: remove the automation for good
Deleting an automation is permanent and cannot be undone. Pause it instead if you might need it again.
## Related
Learn the drag-and-drop builder and connect your first nodes.
Start from a pre-built workflow and be live in minutes.
Promote the manual enrichment run you already do into an automation with a safety net.
# Automation Templates
Source: https://docs.wisepim.com/en/automations/templates
Start from a pre-built workflow for exports, data sync, AI enrichment, or cleanup. Apply a template and customize it in minutes.
Templates are ready-made automations you can use as a starting point. Find one that fits, apply it, and adjust it for your setup. It is the fastest way to get an automation running.
Every template comes with its nodes pre-configured and connected. After you apply one, you only adjust the settings for your own integrations (for example, which Shopify store to connect, or which AI prompt to use).
## Browse the library
Go to **Automations** and click **Templates** to open the library.
### Search by keyword
Use the search bar to find templates by name, description, or tag. Search for "Shopify", for example, to see every template that uses Shopify.
### Filter by category
Templates are grouped into five categories. Click a category tab to filter the grid. Each tab shows how many templates it holds.
Backups, reports, and publishing to sales channels: weekly backups, monthly accounting reports, and multi-channel publishing.
Platform migrations and integrations: supplier imports, Magento-to-Shopify migrations, and two-way syncs.
Descriptions, translations, and SEO content: content for new products, SEO optimization, and multi-language translation.
Pricing, inventory, and data quality: sale setup, price changes, post-import cleanup, and bulk category assignment.
Alerts, reports, and integrations: import alerts, daily summaries, team standups, and webhook integrations.
### Filter by difficulty
Every template has a difficulty rating. Use it to pick a workflow that matches your experience.
| Difficulty | What to expect | Setup time |
| ---------------- | ----------------------------------------------------------------------- | ------------- |
| **Beginner** | Minimal setup, ready in minutes. Simple workflows of 2–3 nodes. | 1–3 minutes |
| **Intermediate** | Some setup, such as choosing integrations or adding filters. | 3–10 minutes |
| **Advanced** | Complex workflows with multiple branches, API calls, or detailed setup. | 10–15 minutes |
New to automations? Start with a beginner template to see how workflows fit together. You can add more later.
## Preview a template
Click any template card to expand it and see the details:
* **Workflow steps**: a visual preview of each node and how they connect, from trigger to final action
* **Tags**: keywords for what the template does and which integrations it uses
* **Estimated setup time**: how long it usually takes to configure
## Apply a template
Click a template card to expand it and review its workflow steps.
Click **Use This Template** at the bottom of the expanded card. This opens the [visual builder](/en/automations/builder) with the template loaded.
Click each node to review and adjust its settings. A green checkmark means a node is ready. An amber settings icon means it still needs attention.
Once every node is configured, name your automation and save it.
Applying a template creates a new automation. It never changes the original template, so you can reuse the same template to create different variations.
## Browse all templates
### Exports
Extract data, run backups, and publish to your sales channels.
| Template | Difficulty | What it does |
| --------------------------------- | ------------ | ---------------------------------------------------------------------------- |
| **Weekly Full Backup** | Beginner | Backs up all products to Excel every Sunday night. |
| **Monthly Report for Accounting** | Beginner | Exports a CSV on the 1st of each month and emails it to your finance team. |
| **Quick Push to Shopify** | Beginner | Pushes selected products to Shopify in one click, with a Slack confirmation. |
| **Nightly Store Sync** | Beginner | Exports all products every night at 3 AM to keep your store in sync. |
| **Publish to All Channels** | Intermediate | Pushes products to Shopify and WooCommerce at once with a single click. |
### Data Sync
Migrate between platforms and keep integrations in sync.
| Template | Difficulty | What it does |
| ------------------------------------ | ------------ | ------------------------------------------------------------------------------------------------ |
| **Supplier Import and Enrichment** | Intermediate | Imports a supplier CSV, cleans the text, generates descriptions with AI, and notifies your team. |
| **Magento to Shopify Migration** | Advanced | Full migration: import from Magento, refresh SEO content, export to Shopify. |
| **WooCommerce to Shopify Migration** | Intermediate | Imports from WooCommerce and exports to your new Shopify store. |
| **Daily Lightspeed Import** | Beginner | Syncs product data from Lightspeed POS every morning. |
| **Two-Way Shopify Sync** | Intermediate | Imports from Shopify, then exports any WISEPIM changes back. |
### AI Content
Use AI to generate and improve your product content.
| Template | Difficulty | What it does |
| --------------------------------------- | ------------ | -------------------------------------------------------------------------------------------- |
| **New Product Content Generation** | Beginner | After any import, generates titles, descriptions, and SEO meta for new products in parallel. |
| **SEO Optimization Sprint** | Beginner | Selects products and generates optimized SEO meta content. |
| **Translate for International Markets** | Intermediate | Translates product content to German, French, and Spanish. |
| **Translate Dutch to German** | Beginner | Translates all Dutch product content to German for DACH expansion. |
| **Smart Auto-Categorization** | Intermediate | Lets AI categorize new products automatically after import. |
| **Extract Product Attributes** | Intermediate | AI reads descriptions and pulls out structured attributes like size, color, and material. |
### Data Cleanup
Fix pricing, inventory, and data quality.
| Template | Difficulty | What it does |
| ------------------------------------ | ------------ | --------------------------------------------------------------------------------------- |
| **Black Friday Sale Setup** | Intermediate | Applies a 25% discount to selected products and reverts it automatically by date range. |
| **Annual Price Increase** | Intermediate | Applies a percentage price increase across all products. |
| **Calculate Prices from Cost** | Advanced | Sets a markup percentage and calculates selling prices from cost prices. |
| **Post-Import Data Cleanup** | Beginner | Fixes whitespace and standardizes title formatting after every import. |
| **Fix Brand Names in Titles** | Intermediate | Finds and replaces brand name variations with the correct spelling. |
| **Add Brand Prefix to Titles** | Beginner | Adds your brand name to the start of all product titles. |
| **Bulk Stock Update** | Intermediate | Sets new stock levels for many products after a stocktake. |
| **Mark Products Out of Stock** | Beginner | Marks discontinued products as out of stock in one go. |
| **Bulk Category Assignment** | Intermediate | Assigns many products to a category at once. |
| **Set Product Weights** | Intermediate | Sets shipping weights for products in bulk. |
| **Approve Products for Publishing** | Beginner | Marks reviewed products as "Ready" and notifies your team. |
| **Complete Product Launch Pipeline** | Advanced | End-to-end pipeline: import, clean, enrich, generate SEO, publish, and notify. |
### Notifications
Keep your team informed and connect to outside systems.
| Template | Difficulty | What it does |
| ------------------------------ | ---------- | --------------------------------------------------------------------- |
| **Import Complete Email** | Beginner | Emails you every time a product import finishes. |
| **Slack Import Alert** | Beginner | Posts to your Slack channel when imports complete. |
| **Daily Catalog Summary** | Beginner | Sends a morning email with your catalog counts and key stats. |
| **Weekly Slack Standup** | Beginner | Posts a Monday-morning Slack message to start the week. |
| **Webhook to External System** | Advanced | Triggers webhooks to Zapier, Make, or your own backend after imports. |
| **ERP Sync Notification** | Advanced | Notifies your ERP system via API when product data changes. |
## Customize a template
After you apply a template, you can change it freely in the [visual builder](/en/automations/builder): add or remove nodes, change settings, swap triggers, or add parallel branches. Templates are starting points. Shape them to fit your exact workflow.
Some templates use specific integrations (Shopify, WooCommerce, Lightspeed, and others). Connect the integration in your **[Settings](/en/settings/integrations)** before you use these templates, or point the nodes at a different integration.
## Related
Learn everything the visual automation builder can do.
Manage, monitor, and track all your automations from one dashboard.
# Automation Triggers
Source: https://docs.wisepim.com/en/automations/triggers
Pick the right trigger to start your automation: on a schedule, on demand, from a webhook, after an import or export, or on a product change.
A trigger decides **when** your automation runs. Every automation starts with exactly one trigger.
You set up triggers in the [visual builder](/en/automations/builder). Click the trigger node on your canvas to open its settings panel. Each trigger type has its own settings.
## Pick a trigger for your goal
Start by choosing what should kick off your workflow. Use this table to find the right one fast.
| You want to | Use this trigger |
| -------------------------------------------------- | ------------------- |
| Run on a fixed schedule (nightly, weekly, monthly) | **Schedule** |
| Run on demand with one click | **Manual** |
| Start from an external system or app | **Webhook** |
| Clean up or enrich right after an import | **After Import** |
| Act when an export finishes | **After Export** |
| React the moment product data changes | **Product Updated** |
| Respond to a quality score going up or down | **Quality Changed** |
## Set up your trigger
Each trigger has a few settings. Expand the one you need.
Run your automation on a repeating schedule. Ideal for nightly syncs, weekly backups, and monthly reports.
| Setting | Description |
| ------------------- | --------------------------------------------------------------- |
| **Frequency** | Daily, weekly, monthly, or a custom interval |
| **Time** | The time of day to run (for example, 3:00 AM for nightly syncs) |
| **Day of week** | For weekly schedules, which day to run on |
| **Cron expression** | For advanced scheduling, enter a custom cron expression |
Run the automation on demand with a single click. No settings needed.
You can start a manual automation from:
* The **automations list**: click **Run Now**
* The **visual builder** toolbar while editing
* The **automation detail** page
Start your automation when an external system sends an HTTP request. Use this to connect WISEPIM with tools like Zapier, Make, or your own backend.
| Setting | Description |
| ------------------ | ----------------------------------------------------------------- |
| **Webhook URL** | Generated after you save. Copy this URL into your external system |
| **HTTP method** | The expected method (POST, GET, PUT) |
| **Authentication** | Optional secret token or API key to verify incoming requests |
Run the workflow when a product import finishes. Great for post-import cleanup, AI enrichment, and team notifications. See [Run right after an import](#run-right-after-an-import) below for the full setup.
Run the workflow when an export finishes. Use this to send confirmations, log exports, or start follow-up processes.
| Setting | Description |
| ---------------------- | ------------------------------------------------ |
| **Export type filter** | Limit to a specific export destination or format |
Fire the moment product data changes in WISEPIM. Use this to react in real time, for example to re-export updated products or notify your team.
| Setting | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------ |
| **Change type** | Any change, or only changes to specific fields |
| **Watched fields** | When using specific fields, choose which ones to watch (for example title, price, description, status) |
Fire when a product's quality score changes, as scored by [Quality Guard](/en/quality-guard/overview). Use this to respond to quality gains or drops automatically.
| Setting | Description |
| ------------- | ----------------------------------------------------------------------------------------------------- |
| **Direction** | Increased, decreased, or any change |
| **Threshold** | Optional minimum score change to fire (for example, only when the score moves by more than 10 points) |
## Run right after an import
The **After Import** trigger fires as soon as a product import finishes. It is the most useful trigger for supplier data, because supplier feeds almost always arrive incomplete.
| Setting | Description |
| ---------------------- | -------------------------------------------------------------------------------------------- |
| **Import type filter** | Limit to a specific import source (CSV, Shopify, WooCommerce, Magento, Lightspeed, and more) |
With no filter set, the automation runs after every product import. File uploads count too: CSV and Excel uploads match the **CSV** import type, and XML feed imports only match **Any**. Category, code-set, unit-of-measure and attribute imports, order syncs, demo data and scrape imports do not fire the trigger. A feed pulled by this automation's own **Import from URL** node cannot re-trigger it, which prevents loops, but other automations can chain off that import.
A typical chain looks like this: **After Import** → **Select Products** (only the products that just arrived) → **AI enrichment** with Auto-Fill → **Send notification** to your team.
Imports made with the URL scraper or the browser extension have their own post-import enrichment settings, so you do not need an automation for those. See [Import by scraping](/en/essentials/web-scraping-import).
## Related
Build and configure your automation in the visual editor.
See every action your automation can run after the trigger.
# Agencies
Source: https://docs.wisepim.com/en/essentials/agencies
Manage product content for many clients at once. Keep each account in its own project with separate data, AI prompts, and integrations.
WISEPIM is built around projects, which makes it a natural fit for agencies. Give each client their own project. Their data, attributes, AI prompts, and integrations stay isolated, so nothing leaks between accounts.
Every project runs on its own with separate categories, attributes, AI prompts, and platform connections. Switch between clients in one click.
## Run a client from start to finish
Here is the typical workflow for a single client, from setup to delivery.
Set up a dedicated [project](/en/essentials/managing-projects) per client. Configure their target language, default AI prompts, and product attributes to match their catalog.
Pull products from the client's e-commerce platform, or upload a CSV or Excel file. WISEPIM connects to [Shopify, WooCommerce, Magento, Lightspeed, and more](/en/integrations/supported-platforms).
Use [AI enrichment](/en/essentials/enriching-products) to write or improve titles, descriptions, and attributes. [Translate](/en/products/translating-products) the content into any of the 93 supported languages.
Push the enriched content back to the client's e-commerce platforms, or [export](/en/essentials/exporting-products) to CSV or Excel for delivery.
## Work faster across accounts
These features help you handle more clients without more manual work.
Each client gets their own project: separate products, categories, attributes, and settings. No cross-contamination.
Update hundreds of products at once instead of editing them row by row in Excel.
Build reusable AI prompts in the Prompt Library and apply them to a whole catalog in one action.
Push content to several e-commerce platforms per client, each with its own integration settings.
## Keep every client on-brand
Reuse your best work across projects and keep each client's output consistent.
Save your proven AI prompts and reuse them across client projects.
Teach WISEPIM each client's brand voice so AI output stays on-brand.
Control who can access which client projects and what they can do.
Set up workflows that handle repetitive enrichment and quality checks for you.
Duplicate a project to spin up new clients fast. Set up one project with your standard attributes, categories, and prompts, then copy it as the starting point for each new client.
## Related
Create, duplicate, and organize a project per client or brand.
Invite teammates and clients and control what they can access.
Share always-up-to-date product data with clients and retailers.
Standardize defaults so every client project starts consistent.
# Managing Projects
Source: https://docs.wisepim.com/en/essentials/managing-projects
Use projects to keep separate catalogs apart: give each brand, market, or client its own products, attributes, AI prompts, and integrations.
A project is a self-contained workspace for one catalog. Each project keeps its own products, categories, attributes, AI prompts, and integrations. Use projects to manage separate brands, markets, or clients without their data ever mixing.
You work in one project at a time. The one you are working in is your **active project**, and every action you take applies only to it.
## When to use separate projects
Create a new project whenever you need a clean, isolated catalog. Common reasons:
| Use case | Example |
| --------------------- | --------------------------------------------------------------- |
| **Multiple brands** | One project per brand, each with its own attributes and prompts |
| **Different markets** | A project per country or region, each in its own language |
| **Client work** | One project per client, so data stays separate and private |
| **Testing** | A throwaway project to try new categories or prompts safely |
## What lives inside a project
Each project holds its own copy of everything below. Nothing is shared between projects.
* **Products**: the full catalog and all its data
* **Categories**: the category tree for this catalog
* **Custom attributes**: the fields and properties your products use
* **AI prompts**: the default prompts for enrichment and translation
* **Integrations**: the platform connections and feeds
* **Team access**: who can see and edit the project
Custom team roles only get what you explicitly grant them. A member with a custom role can edit products, or manage the team, only when that permission is switched on; anything not granted behaves as view-only.
## View and switch projects
Open the **Projects** page from the main menu. It lists your **Workspaces**: every project you can access, newest first. Use the search box to find one by name, and click a column header to sort.
| Column | What it shows |
| --------------- | ------------------------------------------------------------------------------ |
| **NAME** | The project name and description. Your active project is marked in this column |
| **PRODUCTS** | How many products the catalog holds |
| **LANGUAGES** | The primary language, plus **+N** for the additional languages |
| **TEAM** | How many people share the project, or **Private** when it is only you |
| **CONNECTIONS** | How many integrations are connected |
| **CREATED** | When the project was created |
Each project has an actions menu with **Set as active**, **Manage team**, **Duplicate**, **Leave project**, and **Delete**. If you can edit the project, a pencil icon (**Quick edit project**) sits next to it.
To start working in a different project:
Find the project you want in the table and open its actions menu.
Select **Set as active**. WISEPIM updates your workspace to that project.
When you switch projects, your views, filters, and settings update to match the new project. Each project remembers its own setup.
## Create a project
Open the **Projects** page and click **Create Project**, or press **⌘⇧C** (**Ctrl+Shift+C** on Windows and Linux).
Give the project a clear **Project name**, a short **Description**, and a **Primary language**. The primary language is the main language for this project's content; AI generation and translations start from it. Add **Additional languages** for the ones you translate into.
Pick your **Industry** so AI writes more relevant content, add a **Sitemap URL** for SEO insights, and under **Advanced settings** choose default AI prompts for descriptions, titles, attributes, and SEO meta. You can change all of these later.
Save to create the project. It appears at the top of your projects table, ready to use.
You can fine-tune the name, language, keywords, and default prompts any time in [General settings](/en/settings/general).
## Edit a project
To update a project's details, click the pencil icon (**Quick edit project**) on its row to open **Edit project**. You can change the name, description, languages, industry, sitemap URL, and default AI prompts. Click **Save changes** to apply them, or close the modal and WISEPIM asks **Discard unsaved changes?** so you do not lose work by accident.
## Duplicate a project
Duplicating copies an entire project, so you can reuse a setup instead of building it again. It is useful for spinning up similar brands, testing big changes on a copy, or adapting a catalog for a new market.
Find the project you want to copy and open its actions menu.
Choose **Duplicate** and confirm.
WISEPIM builds the copy in the background and notifies you when it is ready.
A duplicate includes the products, categories, custom attributes, integration profiles, and project settings. For security, it does **not** copy user permissions, integration API keys, or historical logs. You become the owner of the new project. With a large catalog, the new project shows up right away with a note that **Products are still copying in the background.**
Duplication can take several minutes for large catalogs. You will get a notification when it finishes.
## Compare two projects
When the same products live in two projects, they drift apart. **Compare Projects** puts them side by side so you can see exactly what differs and fix it, without exporting anything.
**Where to find it:** open the command menu (**⌘K** / **Ctrl+K**) and run **Compare Projects**, or go directly to `/products/compare`. It is not in the main navigation yet.
Pick **Project A** and **Project B**. WISEPIM matches their products by SKU and shows you the result in four tabs:
| Tab | What it shows |
| ----------------- | ---------------------------------------------- |
| **All SKUs** | Every product found in either project |
| **Differ** | Products that exist in both but don't match |
| **Only in ** | Products one project has and the other doesn't |
| **Identical** | Products that already match |
This is where the work is. Each row tells you how many fields differ.
Click **Compare** to open the diff drawer. It lists the fields one by one, with both values next to each other.
Set the **sync direction**, then sync a single field or use **Sync all** to bring the whole product in line.
On the "Only in" tabs, select rows and use **Copy to** the other project. The copy runs in the background.
The two projects don't have to share a primary language. When their languages differ, text fields are still shown so you can read them, but they are not counted as differences. Only real mismatches get flagged.
Use this before a launch to check a market copy against the source catalog, and after a bulk edit to confirm the change landed where you meant it to.
## Leave a project
Been added to a project you no longer need? Open its actions menu and choose **Leave project**. WISEPIM asks you to confirm (**Leave project?**): you lose access to the project, and a team owner can invite you again later.
## Delete a project
To remove a project, open its actions menu and select **Delete**, then confirm.
Deleting a project is permanent. All its products, categories, settings, and integrations are removed for good, and team members lose access. You cannot delete your active project; the menu tells you to switch to another project before deleting this one.
## Name your projects clearly
A clear naming pattern makes projects easy to scan. Include the brand or product line, plus the market or language where it helps.
* Acme Electronics, US market
* Fashion Brand, EU collection
* B2B Tools, German market
## Related
Set the name, language, keywords, and default prompts for your active project.
Work with the catalog inside your active project.
Fill a new project with products from Excel, CSV, or a platform.
Use the project's AI prompts to improve product content.
# Build a pipeline that runs itself
Source: https://docs.wisepim.com/en/guides/automate-your-enrichment-pipeline
You do the same six clicks every morning. Promote that manual enrichment run into an automation, then add a quality safety net that catches drops for you.
Every morning you open Products, apply the same filter, select the same batch, open Enrich, pick the same prompt, and wait for it to finish. Six clicks. It is not hard work, it is just work that never ends, and it is the first thing to slip the week you get busy.
Here is the part nobody tells you: **the manual run you already do is the automation.** You have already decided which products, which enrichment type, and which prompt. Building the automation is mostly promoting choices you have already made, then adding the one thing you cannot do by hand, a watchdog that notices when quality drops and fixes it before you log in.
Budget about 90 minutes for the first build. After that it costs you nothing.
**Before you start:** you need a project with products, an [import](/en/essentials/importing-products) source you use regularly, and a prompt you are happy with in your [Prompt Library](/en/essentials/prompt-library).
**What you'll get:** newly imported products enriched and your team notified without anyone opening WISEPIM, plus a second automation that reacts to quality drops on its own.
## Capture the run you already do
Do tomorrow's run by hand one last time, and pay attention to every choice you make. Each choice becomes a setting in the automation, and the reason this comes first is unglamorous: an automation you build from memory fails silently, while one you build from a run you just watched fails loudly during its test.
Filter, select, [enrich](/en/essentials/enriching-products). Write down three things: the filter conditions, the enrichment type you picked, and the prompt. That short list is the specification for your automation.
Set your default prompts in [Enrich Prompts settings](/en/settings/enrich-defaults). They are project-level, so the whole team enriches with the same instructions, and Auto-Fill uses them without anyone choosing a prompt. Do this before you automate, because an automation should not depend on a choice a human remembers to make.
Open the [Prompt Lab](/en/essentials/prompt-lab), load a real SKU, and iterate until the output is right on a few representative products, including thin ones. Unattended runs have no reviewer, so the prompt has to hold up on its own.
In the [product filters](/en/products/filtering-products), build the conditions you use every morning and save them as a named filter set. Saved sets live on your account, and the conditions in them are exactly what you will re-enter as the automation's selection criteria.
Pick the person or channel that should be told when a run finishes. An automation nobody hears from is an automation nobody trusts.
## Wire the flow
Now rebuild that same run on a canvas in the [visual builder](/en/automations/builder). Start from something that already works rather than an empty page, and change only what you need.
Go to **Automations → [Templates](/en/automations/templates)** and open the **AI Content** tab. **New Product Content Generation** is a beginner template that generates titles, descriptions, and SEO meta for new products after any import - the exact shape you want. Click **Use This Template** and the builder opens with the nodes already placed and connected.
Click the trigger node on the canvas to open its settings in the right panel, and choose the [After Import trigger](/en/automations/triggers). It fires the moment an import finishes, which is when supplier data is at its most incomplete. Set its import type filter if only one source should start the run; leave it empty and every import triggers it.
Open the Select Products [data node](/en/automations/data-nodes) and re-enter the conditions from your saved filter set. This is the step that keeps the automation from re-enriching your whole catalog every night, so check its count before you move on.
In the AI enrichment [action node](/en/automations/action-nodes), choose Auto-Fill to fill the gaps a feed left behind, or Bulk Enrich when you deliberately want to replace existing content. Auto-Fill uses the defaults you set in step two, so there is nothing else to configure.
If products with no description need one thing and the rest need another, split the flow with a Condition [logic node](/en/automations/logic-nodes) and merge the paths back before the final step. Skip this until the simple version works end to end.
End with a notification node. Every node needs a green checkmark before you can save - an amber icon means it still needs configuring. Then hit **Test Run** in the toolbar and watch each node light up in the execution panel. Activate only once the test processes the number of products you expected, not merely once it goes green.
If placing nodes is not your idea of fun, the builder's **AI Designer** drafts a workflow from a plain-language description. Treat the draft as a first pass and open every node to check filters and destinations before you activate it.
## Add the safety net
This is the part you could never do manually, and it is what turns a scheduled job into a catalog that repairs itself. [Quality Guard](/en/quality-guard/overview) scores your products; the **Quality Changed** trigger reacts when that score moves.
Two automations, two triggers, the same three steps behind each:
```mermaid theme={null}
flowchart LR
A[After Import] --> B[Select products]
B --> C[AI enrichment]
C --> D[Notify]
E[Quality Changed] --> B
```
Rules with **Block** severity send failing products to [quarantine](/en/quality-guard/quarantine), where they cannot be exported, synced, or published until someone acts. Left alone, a bad import quietly stops products reaching your channels.
Back on the Automations page, click **Create Automation**, then click the trigger node and pick [Quality Changed](/en/automations/triggers). Set **Direction** to decreased and use the optional **Threshold** so it only fires on a meaningful move, not on every one-point wobble. Keep this separate from the first pipeline: it has a different trigger and it must keep working even while you are editing the other one.
Chain a Select Products node and an AI enrichment node behind it, the same pair you used in the first pipeline. The products that just lost score are the products that get rewritten.
Finish with a notification. The automation handles the fix; the message tells you a fix was needed, which is how you spot a supplier whose feed keeps degrading.
## How to tell it worked
Give it a week of real imports before you judge it. These are the numbers that tell you whether the pipeline is earning its place.
| Signal | Where to look | When it moves |
| --------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Success rate per automation | [Automations dashboard](/en/automations/overview) | After the first few runs; below 80 %, open the configuration and run history |
| Runs you did not start | [Process Tracker](/en/other-features/process-tracker), Source filter set to **Automations** | Same day as the import that triggered them |
| Quarantine count | [Quarantine](/en/quality-guard/quarantine) queue | Trends toward zero over the following weeks, not overnight |
| Time saved | Automations dashboard | Accumulates monthly, estimated from products processed |
| Revenue lift | [Enrichment Impact](/en/analytics/enrichment-impact) | Not for at least a month - it compares 30 days before against 30 after, and reads **Low** confidence until enough sales land |
A healthy pipeline is boring: green runs in the Process Tracker you never started, a quarantine queue that stays near zero, and a notification each morning you can read in five seconds.
## When it doesn't work
Almost always the Select Products node. Open it, check the filter conditions and the condition logic, then run the same conditions in the filter modal on the Products page and compare the counts - if they disagree, the node is the problem. A Minimum matches setting that is never met will also stop the workflow before it ever reaches the enrichment node.
Open **View History** on the automation from the [automations list](/en/automations/overview), then open that run in the [Process Tracker](/en/other-features/process-tracker). Failures are grouped for you: when every failure shares one root cause the task says **All N failures share one cause** and names it, which turns a wall of red rows into one thing to fix. Fix it, then **Retry failed** rather than re-running the whole job.
The enrichment node checks your balance before it starts, so nothing is charged for a run that cannot complete. Top up, then use **Resume** in the [Process Tracker](/en/other-features/process-tracker): it processes only the items that were never handled and does not charge again for the ones that were. Resume needs the task to be at rest - stopped, failed, cancelled, or completed with errors, so stop a stuck task first.
Open the trigger and set a threshold so small score movements are ignored, and confirm the direction is set to decreased rather than any change. A trigger with no threshold reacts to every recalculation.
Nobody is reviewing output any more, so the prompt has to carry the brand on its own. Take it back to the [Prompt Lab](/en/essentials/prompt-lab), test it on products from several categories, and fill in your [Knowledge Library](/en/other-features/knowledge-library) so the AI has your brand context to draw on. Re-save the improved prompt as the default in [Enrich Prompts](/en/settings/enrich-defaults).
## Related
Manage, monitor, and read the success rate of every workflow you build.
The full reference for all seven triggers, including After Import and Quality Changed.
The 45-minute Monday round that checks whether your automations are still behaving.
Where the incoming feed comes from that this pipeline cleans up.
# Clean up a catalog you inherited
Source: https://docs.wisepim.com/en/guides/clean-up-an-inherited-catalog
You inherited someone else's messy product catalog. Here is the order to clean it in, from a baseline to a quality floor that stops it sliding back.
Someone else built this catalog and they are not around to explain it. Product names are capitalised four different ways, half the descriptions carry links to a site you do not own, thousands of products sit in "Uncategorized", and nobody can tell you which numbers are trustworthy. You do not need to read every product. You need an order of operations that fixes the cheap, catalog-wide problems first and leaves you with a floor the catalog cannot fall below again.
This is that order. Budget about half a day of hands-on work, spread across your first two weeks. If you imported this catalog yourself and it is only days old, [part 3 of the first-catalog series](/en/guides/first-catalog/clean) is the shorter version - this guide assumes a catalog you did not build and cannot ask anyone about.
**Before you start:** your products need to be imported already, so [Data Quality](/en/analytics/data-quality) has something to measure. If data is still arriving, finish [importing](/en/essentials/importing-products) first and work through the Import Cleanup Wizard it opens for you.
**What you'll get:** a measured before-and-after quality score, a catalog with consistent text, real categories, and grouped variants, plus two or three [Quality Guard](/en/quality-guard/overview) rules that keep it from regressing.
## Take a baseline before you touch anything
Do this first. Once you start bulk-editing you lose the ability to prove the cleanup was worth doing, and you lose the map of what was actually broken.
Open [Data Quality](/en/analytics/data-quality) and stay on the **Overview** tab. Note the overall score, the letter grade, and how many products sit in D and F on the grade distribution, then screenshot it. This is the number you compare against at the end, and the D/F pile is your working set.
The [Overview](/en/overview) - the screen you land on after logging in - ranks the most worthwhile fixes by how many products they touch and how much they move your score, and each row opens Products already filtered to them. Working top-down tells you what the previous owner neglected without you auditing anything by hand.
On the [Products](/en/essentials/managing-products) page, click **Filters** next to the search bar and open the **Presets** tab. Each of the 46 presets shows how many products have that issue right now. Note the biggest counts: they are your cleanup backlog in priority order.
Switch to the **Advanced filters** tab and use the **is duplicate** operator on **SKU**, then again on **EAN**. Do this before any text cleanup: cleaning makes near-identical rows look even more alike, and a repeated SKU is sometimes two genuinely different products from two suppliers, so you want to judge them while they still read differently. See [filtering products](/en/products/filtering-products) for the operator list.
Name each filter in the **Save filter set** box and save it. You will run these same queries after every pass to watch the counts drop, and saved sets live on your account rather than in your browser.
## Clean the text, in this exact order
Each of these is a bulk action: filter to a set, select it, click **Bulk Edit** in the Products toolbar, and search the action by name. The order matters more than the actions do - each step makes the next one's matching more reliable, and running them the other way round means redoing work.
[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace) is the safe opener: stray leading, trailing, and doubled spaces never carry meaning, so nothing can go wrong. Do it before anything else, because invisible spaces are what make find-and-replace and case rules miss products they should have matched. Turn on **Normalize internal spaces** when data came from several sources.
[Standardize Text Case](/en/essentials/bulk-editing/standardize-case) gives names and titles one style instead of four. Run it after trimming so the case rule sees clean word boundaries. Check the live before/after preview: fields holding brand names with deliberate styling should not be swept into a uniform case.
Now that spacing and case are predictable, [Find and Replace](/en/essentials/bulk-editing/find-replace) actually finds things. Use it here for the one-off junk your predecessor left behind: dead promo lines, a former owner's name, placeholder text. Leave the replacement empty to delete a phrase outright. Brand and term variants are a bigger job than a single replacement - that is [make terminology consistent](/en/guides/make-terminology-consistent), and it is worth doing right after this pass.
Inherited descriptions are full of hyperlinks to the old storefront, a supplier's site, or a blog that no longer exists. [Remove Links](/en/essentials/bulk-editing/remove-links) strips them in bulk, and you choose whether the linked words stay. Internal versus external is decided against this project's sitemap, so if your sitemap is empty, remove all links instead.
Feeds leave prices like 19.9900 and weights recorded in grams where the rest of the catalog uses kilograms. [Convert Numbers](/en/essentials/bulk-editing/convert-numbers) rounds and rescales built-in numeric fields; [Change Unit of Measure](/en/essentials/bulk-editing/change-uom) switches units with the conversion factor worked out for you, or relabels without converting when an import set the wrong unit. Both show a preview, use it.
## Give the catalog a structure again
Clean text on unstructured products still browses badly. Two jobs here: empty the uncategorized bucket, and turn look-alike rows back into single products.
Filter to uncategorized products, select all matching results, click **Enrich with AI** in the toolbar and pick [AI Categorization](/en/ai/categorization) at the default 75% confidence. Run it now rather than before the text cleanup: it reads each product's own content, so it places better on text you have already normalized. It only uses the category tree you already have and never invents new ones, which is what makes a default-threshold pass safe to accept in bulk.
Re-filter to whatever is still uncategorized and run it again at 60–65%. You get the confident assignments committed first and only review the genuinely ambiguous remainder, instead of reviewing everything at a low threshold.
If a lot of products stayed uncategorized, the cause is usually thin content rather than a bad threshold. Enrich the title and description first, then re-categorize. Place the last stragglers by hand.
Products in several categories need one designated primary, because most platforms build breadcrumbs and canonical URLs from it. Filter by category, then run [Set Primary Category](/en/essentials/bulk-editing/set-primary-category) from **Bulk Edit** on that selection - after categorization, so it has the full set of assignments to choose from.
Inherited imports arrive flat: every size and colour is its own product. Select the ones that belong together on a single page and run [Group as Variants](/en/essentials/bulk-editing/group-as-variants) from **Bulk Edit** to attach them to one parent. It refuses a select-all-across-pages selection and caps at 500 products per run, so plan on working through it in batches.
## Measure it, then put a floor under it
Do this last, and do it in one sitting: the score only tells a story once every bulk action has landed, and rules written now are shaped by the problems you actually found rather than the ones you expected.
Bulk actions do not always refresh quality metrics straight away. Select your catalog and run [Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality) from **Bulk Edit**, otherwise you will compare today's data against yesterday's score and conclude nothing happened.
Reopen [Data Quality](/en/analytics/data-quality) and put it next to the screenshot you took on day one: overall score, grade distribution, content coverage funnel. This is the number you report to whoever handed you the catalog.
A cleanup without rules decays. In [Quality Guard](/en/quality-guard/rules), open the **Rule Templates** tab and start from a ready-made check rather than **Create Rule** on a blank one. Pick the problems you just spent a day fixing: typically a required identifier, a minimum description length, and a minimum image count.
Keep the severity on **Warn** for the first weeks. Warned products still export and the failure is logged, so you learn how often each rule actually fires before it can stop a sync. The rule builder's live impact preview tells you how many products would fail before you save.
## How to tell it worked
| Signal | Where to look | When it moves |
| ----------------------------------------- | --------------------------------------------------- | --------------------------------------- |
| Overall quality score above your baseline | [Data Quality](/en/analytics/data-quality) Overview | After Recalculate Data Quality finishes |
| Fewer products in grades D and F | Grade distribution chart | Same recalculation |
| Preset issue counts dropping | **Filters → Presets** tab in Products | Immediately after each bulk action |
| Uncategorized count near zero | Your saved uncategorized filter | After each categorization pass |
| No duplicate SKU or EAN matches | Advanced filter, **is duplicate** operator | After you resolve the duplicates |
| Rule warnings, not surprises | [Quality Guard](/en/quality-guard/overview) | On the next export or sync |
Give the trend charts a week before you read them as a trend: a single recalculation moves the score at once, but the historical chart needs days of data to show direction. For a target, [Data Quality](/en/analytics/data-quality) documents a B (80+) as the baseline worth holding, and the thresholds themselves are configurable if your team's standards differ.
## When it doesn't work
Quality scores refresh on their own when you edit a single product, but bulk actions may not refresh them right away. Run [Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality) across the affected products, then re-read the dashboard.
Either the threshold is too high for this catalog or your category names are ambiguous. Lower it and re-run on the remainder, and clarify vague category names. If products keep failing to place, the real cause is usually thin product content, enrich first and categorize after. See [AI Categorization](/en/ai/categorization).
The action deliberately refuses a select-all-across-pages selection, so a stray filter cannot build a 2,000-variant product, and it caps at 500 products per run. Products that cannot become variants are skipped and reported in the toast. Details on [Group as Variants](/en/essentials/bulk-editing/group-as-variants).
Internal and external are decided by matching each link against this project's sitemap. With an empty sitemap WISEPIM cannot tell them apart, so scope the action to **All links** and re-add the ones you want, or fill the sitemap first. See [Remove Links](/en/essentials/bulk-editing/remove-links).
Check the Action Impact chart on the [Data Quality](/en/analytics/data-quality) Overview. A sharp drop nearly always traces to a specific event, an import, a batch delete, or an automated update, rather than to your cleanup. Identify the event first, then fix the products it touched.
## Related
The score, the grade distribution, and the fix workspace you measure against.
Every bulk edit used in this guide, with its full option list.
Collapse the brand-name and wording variants this cleanup will surface.
Keep the catalog clean once the one-off cleanup is done.
# Cut your return rate with better data
Source: https://docs.wisepim.com/en/guides/cut-your-return-rate
Returns are eating your margin. Treat them as a data problem: find the content causing them, fix the worst offenders, and prove the rate moved.
Returns are the quietest way to lose money. The sale already happened, the marketing already got paid for, and then the product comes back and takes the margin with it. The instinct is to blame the products, but a large share of returns are customers receiving something other than what the page led them to expect.
That makes it a data problem, and data problems are fixable. This guide is the loop: prove the cause, fix the worst offenders, guard against a repeat, and re-measure with a real before and after. Budget about two hours of hands-on work, then three to four weeks of waiting for the evidence.
**Before you start:** you need order history with return or refund data flowing in from a connected platform - the [Returns & Refunds](/en/analytics/returns) report is what this whole guide reads from.
**What you'll get:** a documented baseline, the specific products driving your returns fixed, a rule stopping the same gap from re-entering, and a trend line that shows whether it worked.
## Triage: is this actually a content problem?
Do not enrich anything yet. The first job is to find out whether better data will help at all, because if the cause is fit or the product itself, enrichment will burn credits and change nothing.
Open [Returns & Refunds](/en/analytics/returns) from the Analytics sidebar and record the return rate, returned orders, and refunded revenue for the current period. The report shows directional benchmarks beside them so you can tell a normal number from an alarming one. Everything later in this guide is measured against these three, so capture them before you touch anything.
This single chart decides your strategy - read it before anything else on the page. It ranks return rate per quality grade, A through F, and the insight card names your worst band outright.
Where item-level data is available, the reasons are ranked. **"Not as described"** is the one that maps directly to content - it is the customer telling you the page lied to them. A reason list dominated by sizing or changed-my-mind points somewhere else.
Use the most-returned-products table to build your target list, sorting for products that combine a **low quality grade with high order volume**. A grade F product that sells twice a year is not your problem; a grade D product that sells 400 times a month is. Products in that table with a *high* quality score are the opposite signal - those are fit or product problems, so leave them off the list.
The shape of that chart is the whole decision:
| What you see | What it means | What to do |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Steep gradient** - grade F returning at roughly 3× grade A | Content is the primary driver. Grade A and B products return less because their pages set accurate expectations | Continue with this guide. Improving descriptions, images, and specs moves the needle faster than any other intervention |
| **Flat gradient** - every grade returning at a similar rate | The cause is product fit, sizing, or expectation, not missing information | Stop here. Read the [report's guidance](/en/analytics/returns) on fit problems: size guides, compatibility information, more realistic lifestyle images. Enrichment will not move this |
## Fix the products that are actually costing you
Now work the target list. The order matters: understand what is wrong before you generate anything, and always test on one product before you commit the run.
Take your grade D and F, high-volume list into [Data Quality](/en/analytics/data-quality) and switch to the **Fix Issues** tab using the tabs at the top of the section. Sort Quick Wins by impact to turn "these products are bad" into a specific, countable gap.
Every **Fix with AI** button opens the same review drawer, and nothing is written until you say so. Read **Projected impact** and **Who's affected**, click **Test on one** to see a before-and-after for a single product, and only then **Apply to all**. Skipping the test is how a bad prompt reaches 400 products.
[AI Quality Review](/en/analytics/quality-review) reads each product like a demanding customer across 12 dimensions and ranks the findings; results are ready in a few minutes. For returns, watch the mismatch dimensions: Image vs Data, Image vs Description, Semantic Consistency, Cross-field Math, and Conversion Readiness. Those are where a shopper's expectation and the parcel diverge.
Missing dimensions, materials, and compatibility are what make people guess, and guessing produces returns. Start with [attribute extraction](/en/ai/attributes) at 1 credit per product - it pulls specs out of text you already have, but only into attributes that exist on the product family, and it never invents new ones. Where coverage stays low because the facts genuinely are not in your text, run [Web Research](/en/ai/web-research) and extract again.
Wrong or misleading images are a leading cause of "not as described". Review the gallery for your target products in the [Media Library](/en/products/media-library), opened from the main navigation, then run [Image Alt Text](/en/ai/image-alt-text) - it only fills images that have no alt text at all and never overwrites what you wrote, so it is safe to run broadly.
## Stop it coming back, then publish
Fixing today's products without changing tomorrow's intake means doing this again after the next supplier import. Close the loop before you measure, because the measurement window starts at publish, not at enrichment.
On the Rules page in [Quality Guard](/en/quality-guard/rules), click **Create Rule** and build a minimum-content check covering whatever your target products were missing - a minimum description length, a required image count, a mandatory attribute. Numeric thresholds show a distribution hint with your catalog's p10, median, and p90, plus a live impact preview of how many products would pass or fail, so you can pick a threshold your actual data can meet.
**Warn** exports the product and logs the failure to the audit log; **Block** quarantines it until the issue is fixed. Run new rules at Warn until you have seen what they catch, then raise the severity once the count is sane.
This is the step people forget, and it invalidates the whole measurement. Select the fixed products on the Products page and use **Export** in the toolbar. Platform exports run as background jobs and can take from a few minutes to a few hours depending on catalog size, so check the [export reference](/en/essentials/exporting-products) before you assume it stalled.
Open two or three fixed products on your actual storefront and confirm the new content is there. Write down when that landed: your before-and-after is anchored to that date, not to the day you ran enrichment.
## How to tell it worked
Returns move slowly, because each data point has to travel through an order, a delivery, and a return window before it reaches the chart. The catalog-side signals confirm the work landed; only the returns signals confirm it worked. Expect nothing from those for the first two weeks.
| Signal | Where to look | When it moves |
| -------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Quality grade of the fixed products rises | [Data Quality](/en/analytics/data-quality) grade distribution | Within hours of the fixes applying |
| AI Quality Review score on the target list | [AI Quality Review](/en/analytics/quality-review) dimension radar | A few minutes after the next review run |
| Fewer products failing your new rule | [Quality Guard](/en/quality-guard/rules) rule results | On the next export, sync, or publish - rules are evaluated there, not at import |
| "Not as described" falling in the reason mix | [Returns & Refunds](/en/analytics/returns) top return reasons | 3–4 weeks after publishing |
| Return rate trend bending down | [Returns & Refunds](/en/analytics/returns) return rate over time | 3–4 weeks after publishing |
The proof you want is the gradient flattening: your former grade D and F products returning at closer to the rate of your grade A products.
## When it doesn't work
A flat gradient means content is not your driver - good and bad products return alike. That points to fit, sizing, or expectation rather than missing information, and the [Returns & Refunds](/en/analytics/returns) report suggests size guides, compatibility information, and more realistic lifestyle images. It is a product-level conversation rather than an enrichment one.
Check that the fixed content actually reached the storefront. If **Skip unchanged** was on and the products were not detected as changed, the export may have sent nothing - turn it off to force a full re-export, as [Exporting products](/en/essentials/exporting-products) describes. Confirm on the live site before you conclude the fix failed.
Some platforms only expose order-level refunds. Without item-level data you still get the return rate, refunded revenue, and the quality-grade gradient, which is enough to run this guide. You just lose the reason breakdown as a cross-check, so lean harder on the gradient.
It only fills attributes that already exist in your structure, so a spec with no attribute on the product family has nowhere to land. Confirm the attribute exists on the family, then re-run. If the source text simply does not contain the spec, [Web Research](/en/ai/web-research) fetches it from external sources and you extract afterwards.
Block severity quarantines everything that fails, and your threshold is above what your data can currently meet. Drop the severity back to Warn, use the distribution hint in the [rule builder](/en/quality-guard/rules) to pick a threshold near your catalog's median, and raise it as the catalog improves.
Usually the identifier is wrong, unrecognized online, or the product is too new or niche to have public data. Try a different identifier type - if EAN returns nothing, [Web Research](/en/ai/web-research) suggests brand plus name, or the model number.
## Related
The report behind this guide: rates, reasons, and the quality-grade gradient.
Twelve dimensions that catch the mismatches customers send products back over.
When the return problem is really an inherited-data problem across the whole catalog.
Keep the gains: a short recurring pass so quality never drifts back.
# Clean and structure what you imported
Source: https://docs.wisepim.com/en/guides/first-catalog/clean
Duplicate SKUs, MiXeD case, stray spaces and no categories at all. Clean the mess in the order that stops each fix from undoing the last one.
Part 2 got the products in; this part makes them usable. A freshly imported supplier catalog is typically the same five problems repeated a few thousand times: duplicate SKUs, trailing spaces nobody can see, `WIRELESS HEADPHONES` next to `wireless headphones`, prices with six decimals, and no category on anything. Each is a one-click fix. The order is what matters, because a cleanup run in the wrong sequence quietly undoes the one before it. Budget about 90 minutes for 5,000 products.
**Before you start:** you need products in the project, so run [part 2](/en/guides/first-catalog/import) first. Everything here happens on the Products page with [filtering](/en/products/filtering-products) and [bulk editing](/en/essentials/bulk-editing). Data already tidy? Skip to [part 4](/en/guides/first-catalog/enrich).
**What you'll get:** no accidental duplicate SKUs, consistent text and numbers across the catalog, products sitting in your own category tree, and flat variant rows collapsed into proper configurable products.
## Find the duplicates before you change anything
Every step below acts on a selection, so start by making the selection honest. Fixing text first and duplicates second means paying for the same fix twice, once on each copy of the product.
On the Products page, click **Filters** next to the search bar and open the **Presets** tab. Each preset card shows how many products have that issue right now. Read the counts before touching anything, they are your to-do list for the rest of this guide.
Switch to **Advanced filters**, pick the SKU field with the **is duplicate** operator. This is the fastest way to surface repeated identifiers before they reach a channel.
The same operator works on EAN, which catches the duplicates that slipped through under different SKUs.
Look at the matches before acting; a repeated SKU is sometimes two genuinely different products from two suppliers. Save the filter as a set so you can re-run this check after every future import.
## Normalize the text, in this order
Run these three in sequence. Whitespace first because trimming spaces never changes meaning, and case before replacements because a Title Case pass run afterwards would re-capitalize the exact brand strings you just corrected. All four live in the bulk editing modal: click **Bulk Edit** with products selected, then search the action by name.
[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace), under **Text & Content**, strips the leading, trailing, and duplicated spaces that break sorting, search, and feeds while staying invisible on screen. It is the safe first move.
[Standardize Text Case](/en/essentials/bulk-editing/standardize-case), also under **Text & Content**, puts names and other text fields into one consistent style. Check the live before-and-after preview before applying.
[Find and Replace](/en/essentials/bulk-editing/find-replace) handles the leftovers: misspelled brand names, an old supplier's wording, stray HTML. Use whole-word matching so you do not hit substrings inside other words.
[Convert Numbers](/en/essentials/bulk-editing/convert-numbers), under **Attributes & Custom Fields**, rounds long decimals and rescales values, for example dividing weights by 1000 to go from grams to kilograms. A live preview shows the result on a sample value first.
Every one of these acts on your current selection. Filter first, read the match count in the filter summary, then select, so a stray condition cannot take your whole catalog with it.
## Give the catalog a structure
Structure comes last because it feeds on the work above: [AI Categorization](/en/ai/categorization) reads each product's content, so the tidier that content is, the better it places the product. Running it before the text cleanup means categorizing on the mess.
Select your products, click **Enrich with AI** in the toolbar, pick **AI Categorization**, and click **Start Enrichment**. It assigns products to your **existing** category tree and never invents categories, and the default 75% threshold gives you the confident assignments first.
Filter to whatever is still uncategorized and run again at 60 to 65%. You keep the safe assignments from pass one and only review the genuinely ambiguous products.
Auto-assign lets the AI decide how many categories fit each product. Turn it off and set a maximum when your rules limit where a product may appear.
If sizes and colours came in as separate products, select the ones that belong together and pick the [Group as Variants](/en/essentials/bulk-editing/group-as-variants) card under **Categories & Organization** in the bulk editing modal. It works on a page selection only, up to 500 products per run, and a toast reports how many were grouped and how many were skipped.
[Product families](/en/products/product-families) are templates per product type: assign one and the product inherits the attributes that type should have. Do it now, because that is what turns the missing-field reporting in part 4 into something meaningful rather than a list of fields nobody expected anyway.
## How to tell it worked
| Signal | Where to look | When it moves |
| ----------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Duplicate SKU and EAN matches | Advanced filters with the **is duplicate** operator | Re-run the saved filter set after each cleanup |
| Preset issue counts | The **Presets** tab of the filter modal | Each card shows a live count |
| Uncategorized product count | Filter for products with no category | Drops sharply after the first pass at 75% |
| Quality score and grade | [Data Quality](/en/analytics/data-quality) overview | As data changes; force it with [Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality) |
## When it doesn't work
The threshold is too high for this catalog, or your category names are ambiguous. Lower it to 60 to 65% and re-run on the remainder, and consider clarifying vague category names.
A misplacement usually traces back to thin product content, so the AI had little to work with. Enrich titles, descriptions, and attributes in [part 4](/en/guides/first-catalog/enrich), then categorize again.
The action is deliberately blocked when you select all products across all pages, because grouping every filtered product under one parent is almost never intended. Select on a single page, in batches of up to 500.
Turn on **Match whole words only**, and narrow the target fields rather than replacing across everything. Filtering to a small selection and checking the result before scaling up is the cheap version of an undo.
Check the match count in the filter summary before applying a bulk action. A broken filter now shows an error rather than quietly matching everything, but the count is still your safety check.
Clean, structured, and still half empty. [Part 4](/en/guides/first-catalog/enrich) fills the holes, and part 1's Knowledge Library is what decides how they sound.
## Related
Next in the series: fill the gaps without overwriting the data you just cleaned.
The same cleanup with a measured baseline in front and a Quality Guard floor behind it.
Presets, the is-duplicate operator, and saved filter sets.
Every bulk action available, and what each one changes.
# Enrich your catalog with AI
Source: https://docs.wisepim.com/en/guides/first-catalog/enrich
Half your products have no description and the rest have bad ones. Fill the gaps without overwriting good copy, and test on ten before spending on 5,000.
Part 3 left you with clean, categorized products that are still half empty: no descriptions on the new lines, one-line descriptions on the old ones, and meta titles nowhere. This is the part that pays for the previous three. Two mistakes cost real money here: running the tool that overwrites when you meant to fill gaps, and running any tool on 5,000 products before reading its output on ten. Budget an hour of your attention, plus background time for the catalog run.
**Before you start:** you need default prompts set in [Enrich Prompts](/en/settings/enrich-defaults) and a filled [Knowledge Library](/en/other-features/knowledge-library) from [part 1](/en/guides/first-catalog/set-up), and clean, categorized products from [part 3](/en/guides/first-catalog/clean).
**What you'll get:** every empty title, description, short description, SEO field, and attribute filled in your own brand voice, with existing content left intact and a measurable jump in your data quality score.
## Pick the right tool: fill gaps or start over
Both tools write the same fields with the same prompts, and they treat existing content in opposite ways. This is the one choice in the series that cannot be undone by running the other tool afterwards.
| | [Auto-Fill](/en/ai/auto-fill) | [Bulk Enrich](/en/ai/bulk-enrich) |
| ----------------- | ----------------------------------------------- | ------------------------------------------------ |
| Existing content | Left alone | Overwritten, always |
| What it writes | Only the fields that are empty | Every field you pick, on every product selected |
| Reach for it when | A first or half-filled catalog needs completing | The copy you inherited is not worth keeping |
| In this part | Use this one | Come back to it once you have a prompt you trust |
A first catalog is gap-filling by definition, so Auto-Fill is almost always right here. It costs one credit per product per field it actually generates, and fields that already have content are skipped, so they cost nothing.
A gap type shows as greyed out when it has no default prompt and no override picked. Set the default in [Enrich Prompts](/en/settings/enrich-defaults) or choose an override in the panel, otherwise that content type is silently skipped.
With it off, Auto-Fill only touches completely empty fields. Turn it on later, at a low threshold, once you trust the output enough to let it replace weak existing content too.
## Test on ten products, and actually read the output
Ten products cost almost nothing and tell you everything, but only if you pick them badly on purpose.
Take a few products with rich source data, a few with almost none, and one from each of your main categories. Auto-Fill writes from what is already in the record, so thin products are where output quality shows its floor.
Tick the ten rows, click **Enrich with AI** in the toolbar, pick **Auto-Fill Missing Data**, and click **Start Enrichment**. Enriched content is stored in separate reviewed fields alongside your originals, so your source data stays as it was.
Not skim: read. Open the products and check tone, length, and factual claims against the source data. This is the moment to catch a prompt that invents specifications, while it has only invented them ten times.
If something is off, adjust the prompt in the [Prompt Lab](/en/essentials/prompt-lab) against a real product, or add the missing context to your [Knowledge Library](/en/other-features/knowledge-library), then re-test the same ten.
When two rounds in a row produce nothing you would edit, the prompt is ready for the catalog.
## Run the catalog and manage the job, not the products
A 5,000-product run is a background job. Your work during it is watching for the one failure that repeats, not reading products.
Filter to the products that need work, use **Apply to all** to take every match across all pages, and read the product count before starting. This is your last chance to catch a filter that is wider than you thought.
It appears in the [Process Tracker](/en/other-features/process-tracker) as one parent task with a child task per product or field, with live progress.
It narrates the run in plain language and shows what the AI drew on. If it never consulted your Knowledge Library, that explains an off-brand result better than any guesswork.
If the run stops, whether you stopped it or credits ran out, **Resume** processes only the remainder at no extra credit cost. **Restart** re-runs the full original selection and is charged as a new run.
"Here is what WISEPIM did" sums up how many products were enriched, how long it took, and which of your rules and context it used.
## How to tell it worked
Open [Data Quality](/en/analytics/data-quality) and read the content coverage funnel: it shows the percentage of products carrying each key field, so a remaining gap is obvious rather than anecdotal. Aim for a B, 80 or above, before part 5.
| Signal | Where to look | When it moves |
| --------------------------------------- | ----------------------------------------------------------------- | -------------------------------- |
| Task recap and success rate | [Process Tracker](/en/other-features/process-tracker) task detail | The moment the run finishes |
| Content coverage funnel | [Data Quality](/en/analytics/data-quality) overview | Once enriched fields are written |
| Overall score and grade, aiming for 80+ | Data Quality hero metric | Automatically as data improves |
| Remaining gaps, ranked by product count | Action queue on the [Overview](/en/overview) | Next time you load the dashboard |
## When it doesn't work
That is Bulk Enrich behaving as designed: it always overwrites the fields you pick. For gap-filling, use [Auto-Fill](/en/ai/auto-fill) instead, which leaves existing content alone.
Compare the weak ones' source data. Auto-Fill works from what is already in the product record, so shorter existing descriptions and fewer attributes produce weaker output. Improve the source data first, then run again.
Open the task and use **Resume**. It runs only the items that were never processed, with no extra credits, because the original run already paid for them.
It had no default prompt and no override, so it was greyed out in the panel. Set the default in [Enrich Prompts](/en/settings/enrich-defaults) and run again on the affected products.
Fill in brand voice and brand identity in the [Knowledge Library](/en/other-features/knowledge-library) with concrete tone adjectives and example phrasing, re-test in the Prompt Lab, then re-run on a sample before the full catalog.
At a B or better, the catalog is worth publishing. [Part 5](/en/guides/first-catalog/publish) gets it out and proves it landed.
## Related
Next in the series: get the enriched data out to your store or channel without surprises.
When the output is close but not yet yours.
Gap types, prompt overrides, and the overwrite threshold.
The rewrite tool: fields, prompts, and what a run costs.
# Import your catalog safely
Source: https://docs.wisepim.com/en/guides/first-catalog/import
A 5,000-row export can land as 5,000 broken products. Test on 50 rows, save the mapping, then run the real import with a rollback still available.
Part 1 left you with a configured project, so now the file itself is the risk. A 5,000-row supplier export usually hides three problems at once: every size and colour is its own row, all the image URLs are crammed into one cell, and a few hundred SKUs already exist in your catalog. Importing blind turns those into 5,000 records you unpick by hand. Doing it in two passes, 50 rows first and the rest afterwards, costs ten extra minutes and saves the afternoon. Budget about 45 minutes of your attention, plus background time for the run itself.
**Before you start:** finish [part 1](/en/guides/first-catalog/set-up), and have your file saved as UTF-8 CSV with headers in the first row, or your platform connected on the [Integrations](/en/integrations/supported-platforms) page. Products already in? Skip to [part 3](/en/guides/first-catalog/clean).
**What you'll get:** your full catalog in WISEPIM with variants and images structured correctly, a saved mapping template for next time, and no critical fields left silently empty.
## Decide the rules before you upload anything
[Import settings](/en/settings/import) are project-wide defaults that apply to every import, including the ones your colleagues run later. Setting them before the first upload is what makes the second and third import boring.
The one that bites is conflict resolution: what happens when an incoming product already exists, matched on SKU or another identifier.
| If your file… | Choose | What happens to a matched product |
| ------------------------------------- | ------------- | ---------------------------------------------------------------------------------- |
| Carries only part of each product | **Merge** | Existing and imported data are combined, keeping the most complete value per field |
| Is the complete, authoritative record | **Overwrite** | Every field is replaced with your file's value, blanks included |
| Should only ever add new products | **Skip** | The existing product is left untouched and the incoming duplicate is ignored |
**Overwrite** replaces every field, so a partial supplier file is how a good description gets replaced with a blank. Reach for it only when your file is genuinely complete.
Pick from the table above. You can still override it for one specific run in the importer, so the setting here is your safe default, not a lock.
**Skip empty fields** keeps whatever is already in WISEPIM, which is the safe choice when your file only carries part of each product. The alternatives clear the field or fall back to the attribute's default.
Strict rejects any row with missing required fields, standard imports the valid rows and reports what it skipped, lenient auto-fixes minor issues. Standard is the documented recommendation.
Conditions on fields like price or SKU let you leave test products and incomplete rows behind, instead of importing them and deleting them afterwards.
## Test-import about 50 rows
Cut the first 50 rows of your file into a separate file and import that. You are not checking whether the import works, you are checking whether *your interpretation of the file* is right, while the cost of being wrong is 50 records instead of 5,000.
On the Products page, click **Import** in the toolbar and pick your source. The [CSV importer](/en/essentials/importing-products) runs in four steps, **Upload**, **Configure**, **Mapping**, and **Importing**, and the first one reports the row count, the detected delimiter, and the encoding. Fix a wrong guess here rather than debugging garbled text later.
When the file's structure suggests variants, a **Variants detected** chip appears with a proposed setup, and WISEPIM shows how many **Parents**, **Variants**, and **Standalone** products it would produce before you import. Those three numbers are the cheapest sanity check in the whole import, and getting them right here saves regrouping by hand in part 3.
In the **Multi-Value** panel of the **Configure** step. One column can hold several image URLs; the first becomes the main image and the rest become gallery images. The default separator is the pipe character, so switch it if your file uses something else.
Auto-mapping proposes matches from your column names. Correct them once, save the setup as a template, and every future file from this supplier skips the mapping work entirely.
Check the title, price, images, and category path on a handful of records. This is the step people skip and regret.
## Run the full import and work the Cleanup Wizard
With the mapping proven on 50 rows, run the rest. Imports execute in the background, so you can keep working while they do.
Load the template you just saved so the full run uses the same mapping and configuration as your test.
The [Process Tracker](/en/other-features/process-tracker) shows processed, successful, failed, and skipped counts per task, and a plain-language recap when it finishes.
After a CSV import, WISEPIM scans for missing critical fields and opens the wizard when it finds gaps. It handles missing images, weight, and price one step at a time, including suggesting an unmapped column that might hold your image URLs. Skipped gaps stay visible as a banner on the Products page until they are filled.
Open the import task and choose **Rollback** to remove everything that import brought in. Rollback exists on import tasks only, and it takes the enrichment you did on top with it, so decide before part 4 rather than after.
## How to tell it worked
| Signal | Where to look | When it moves |
| ---------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Parents, variants, and standalone counts | The **Nested Data** step, before importing | While you configure, not after |
| Task status and item counts | [Process Tracker](/en/other-features/process-tracker) | Minutes for a 5,000-row CSV; 15 minutes to an hour for a platform import that size |
| Cleanup banner on the Products page | Products page, above the table | Disappears once every critical field is filled |
| Spot-checked products look right | Five products opened by hand | Right after the run |
## When it doesn't work
Nested data handling was off, or no variant mode was picked. Either roll back and re-import with one chosen, or fix it in place in part 3 with [Group as Variants](/en/essentials/bulk-editing/group-as-variants).
Usually the multi-value delimiter did not match your file, or the image column was never mapped. The Cleanup Wizard checks whether an unmapped column looks like image URLs and offers to re-run with it mapped.
Under standard validation, rows with errors are skipped and reported rather than imported. Read the report, then fix the file or loosen the setting in [Import settings](/en/settings/import).
That is **Overwrite** doing what it says on a partial file. Roll the import back, switch conflict resolution to **Merge**, and run it again.
The import modal only shows platforms that have been successfully connected. Set the connection up and test it on the [Integrations](/en/integrations/supported-platforms) page, and the source appears on its own.
Products are in. [Part 3](/en/guides/first-catalog/clean) makes them usable, and the order it uses is the point.
## Related
Next in the series: dedupe, normalize, categorize, and group variants in the right order.
The same import discipline applied to a full replatform.
Every source, every step of the importer, and what each option does.
Conflict resolution, empty fields, validation, and import filters.
# Publish your first enriched catalog
Source: https://docs.wisepim.com/en/guides/first-catalog/publish
The catalog is clean and enriched, now get it out. Clear the quality gate, run your first export with the defaults, and verify what actually landed.
Part 4 left you with a catalog worth publishing. Getting it out is where people declare victory too early: the export reports success, and then a buyer says half the products are missing, or the prices are wrong. Both have documented causes you can check in minutes, and your first export needs nothing more than the defaults. Budget about 30 minutes.
**Before you start:** finish [part 4](/en/guides/first-catalog/enrich), and connect the destination on the [Integrations](/en/integrations/supported-platforms) page if you are publishing to a platform rather than a file.
**What you'll get:** an empty quarantine queue, enriched products live on your channel, and two reports that tell you it actually landed.
## Clear the gate before you press export
[Quality Guard](/en/quality-guard/overview) runs automatically on every export, sync, and publish, and rules with **Block** severity send products to quarantine, where they cannot be exported at all. Clearing the queue before you export is what stops "nothing was sent" from becoming a mystery after it.
The Quality Guard dashboard shows **Compliance Rate**, **Quarantined Products**, and a **Top Failing Rules** list. Start at the top of that list: fixing the top failing rule moves the most products at once.
Click **Filters** on the Products page and open the **Compliance** tab. It filters your catalog to the products violating a specific rule, with a live count before you commit.
Missing EAN, description too short, and no image are the usual triggers. Use [bulk editing](/en/essentials/bulk-editing) or another [enrichment](/en/essentials/enriching-products) pass rather than editing one by one.
Back in [Quarantine](/en/quality-guard/quarantine), use **Bulk Resolve** on the entries you fixed. One root cause often clears several rules at once.
Bypassing releases a product despite the violation and records who approved it and why. Use it for genuine exceptions, not to clear a queue quickly.
## Export, then verify what landed
Both routes start from the same **Export** button, and which one you want depends on whether you push or the channel pulls.
| Route | Reach for it when | How it refreshes |
| ------------------------------------------ | ---------------------------------------------------------------------------------------- | --------------------------------------------- |
| Platform or file export | A store, a marketplace, a data platform, or a one-off CSV or Excel someone asked you for | You trigger each run yourself |
| A [Feed Hub](/en/essentials/feed-hub) feed | Google, Meta, or any channel that fetches a hosted URL on its own schedule | Manually, on change, or on a schedule you set |
On the Products page, select products or apply a filter, then open the **Export** button in the toolbar. File exports are always available; every other destination appears once the matching integration is connected.
Pick the destination and keep the default settings. Platform exports map fields sensibly on their own; a file export lets you pick columns as you go. Shaping exact columns and headers is a later refinement, not a prerequisite.
When [Pricing & Margins](/en/settings/pricing) rules are active, they add markup or margin at export time, per channel, so an exported price may not equal the price stored on the product. Your stored prices never change, and the master switch turns every rule off at once.
It is on by default for platform exports and skips products that have not changed since the last export to that destination. That is what makes routine syncs fast, and also why a repeat export can legitimately send nothing.
Exports run in the background with live status in the [Process Tracker](/en/other-features/process-tracker). When it completes, log into the store and open a few products to confirm what shoppers see.
## Make the next publish one click
Once the first export looks right on the channel, save the setup as an [export template](/en/settings/export-templates): it fixes which fields go out, in what order, and under which column headers, and its three-product **Preview** catches a wrong header in seconds. Mark it default for the platform and every future publish to that destination reuses it automatically. Do this when a buyer or channel asks for specific columns - not before your first export.
## How to tell it worked
| Signal | Where to look | When it moves |
| -------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------- |
| Export task status and item counts | [Process Tracker](/en/other-features/process-tracker) | Minutes for a file; 15 minutes to an hour for a 5,000-product platform export |
| Quarantined product count | [Quality Guard](/en/quality-guard/overview) dashboard | After each export, sync, or manual check |
| Last sync and failure rate per channel | [Integration Health](/en/analytics/integration-health) | Rolling 30-day window; under 3% failure is healthy |
| Products visible on the storefront | Your store, checked by hand | Once the platform finishes processing |
## When it doesn't work
With **Skip unchanged** on, products that have not changed since the last export to that platform are skipped on purpose. Turn it off to force a full re-export, for example after changing the channel's settings.
Check [Quarantine](/en/quality-guard/quarantine): products held by a **Block** rule cannot be exported, and **Skip**-severity rules leave products out silently. The queue names the rule and the field for each one.
Look at your [pricing rules](/en/settings/pricing) before hunting through product data. They transform prices on the way out, per channel, and turning off the master switch reverts every export to your stored prices immediately.
Rename the headers in your [export template](/en/settings/export-templates) to match what they expect, then run the three-product preview to confirm before sending again.
Open [Integration Health](/en/analytics/integration-health) and read the last error message. Repeated authentication errors mean expired credentials; repeated validation errors name the missing field, which is a Quality Guard rule worth adding so it never reaches the channel again.
That is the series: set up, import, clean, enrich, publish. From here, take the catalog to a marketplace, or stop doing this by hand. [All guides](/en/guides/overview) has the rest.
## Related
Take the same catalog to a marketplace with its own rules.
Promote this five-part run into an automation with a quality safety net.
Every destination, option, and troubleshooting path for exports.
The rules that gate every export, sync, and publish.
# Set up WISEPIM before you import
Source: https://docs.wisepim.com/en/guides/first-catalog/set-up
You signed up yesterday and a 5,000-row export is waiting. Spend one hour on setup first, and every AI run afterwards comes out on-brand instead of generic.
You signed up yesterday, there is a messy 5,000-product export sitting on your desktop, and the obvious move is to upload it right now. Hold off for an hour. The usual complaint about AI-written product copy, that it reads generic and off-brand, is far cheaper to prevent here than to fix across 5,000 products in part 4. This part puts four things in place: your locales, your brand context, a default prompt per content type, and the defaults new products inherit. Budget about an hour here, and roughly five hours of hands-on work across the full five-part series, plus background time for the import and AI runs.
```mermaid theme={null}
flowchart LR
A["1. Set up"] --> B["2. Import"] --> C["3. Clean"] --> D["4. Enrich"] --> E["5. Publish"]
```
**Before you start:** you need a WISEPIM account and the file or store you plan to import from. Have your brand guidelines or tone-of-voice document open, you will paste from them into the [Knowledge Library](/en/other-features/knowledge-library).
**What you'll get:** a project with its markets and languages fixed, a Knowledge Library the AI can write from, and a default prompt for every content type, so your first enrichment run in part 4 sounds like your brand.
## Finish the wizard and fix your markets
New accounts start with a setup wizard that runs once. Do it before anything else: the markets and languages you pick become your project's locales, and the primary language is the source every translation starts from. Changing that on a catalog that already holds content is a much bigger decision than changing it on an empty one.
It asks about your company, your website, the markets you sell in, and the platforms you want to connect. The [Quickstart](/en/quickstart) walks through each screen.
WISEPIM crawls it during setup and pre-fills your company details, industry, and brand context, so the AI has something to work from before you have written a word yourself.
These become your project locales, and everything you import and translate later hangs off them. Decide now, while the catalog is empty.
Open [General settings](/en/settings/general) and check the project name, industry, and target keywords. Industry shapes how the AI writes from here on; it does not rewrite anything that already exists.
## Fill the Knowledge Library, brand identity first
An empty Knowledge Library is the single biggest cause of bland AI output, and every AI feature reads from it at run time. An hour here improves every description, title, and translation you generate in part 4 and after. Start with **brand identity**: it is the foundation the other sections build on.
Reach the [Knowledge Library](/en/other-features/knowledge-library) from your main menu, open the brand identity card, and fill in your brand story, voice, and values. If output ever feels off-brand, this is the first place to look.
Concrete tone adjectives and the words you never use beat vague statements. Describe who you sell to, what they worry about, and the questions they ask before buying.
Why customers pick you, and any rules your content must follow, such as required details or compliance wording. These two sections are what stop descriptions reading like every competitor's.
Existing brand guidelines, a tone-of-voice deck, or customer research are the fastest source. Progress saves as you type, and each category shows its own completion percentage.
## Pick one prompt per content type and set it as the default
Enrichment runs from prompts. Until a default exists for a content type, [Auto-Fill](/en/ai/auto-fill) skips that type, and you only find out as a greyed-out option inside the enrich modal in part 4. Ten minutes here removes that dead end before you have 5,000 products riding on it.
Open the **Curated Prompts** tab in the [Prompt Library](/en/essentials/prompt-library). It is ranked for your industry and tone, so the best fit is usually near the top. Save one per content type into your own collection rather than writing from scratch.
In the [Prompt Lab](/en/essentials/prompt-lab), search a SKU, click **Load Product**, and test. You get the original and the generated version side by side and nothing is written to your catalog. Adjust one setting at a time and test again.
In [Enrich Prompts settings](/en/settings/enrich-defaults), choose a prompt for each enrichment type and save. Description and short description deliberately share one default.
Every type without a default is a type Auto-Fill will not touch in part 4. An empty dropdown means you have no prompt of that type yet, so create one in the Prompt Library first.
## Optional: defaults and keywords that fill the gaps
Your import file will not carry every field. These two settings decide what happens to the rest. Both only apply to products created *after* you save them, which is exactly why they belong before part 2 rather than after it.
In [Product Templates](/en/settings/templates), set the status, visibility, brand, and supplier new products should start with. Template defaults apply when a product is created, never when one is updated.
The same page builds SKUs from a pattern, with a live preview under the field. Leave it blank if your file already carries good identifiers.
In [Keywords](/en/settings/keywords), add the SEO terms you want to rank for. The AI weaves them in only where they fit, so a tight list beats a long one. **Generate** proposes terms from your own data.
Competitor names and off-brand wording go in the **Negative** tab, and the AI keeps them out of generated content. Changes on this page save immediately, no save bar.
## How to tell it worked
| Signal | Where to look | When it moves |
| ---------------------------------------------- | --------------------------------------------------------- | -------------------------------------------- |
| Per-category and overall completion percentage | Knowledge Library overview | While you type, progress saves automatically |
| No enrichment type left on **No default** | [Enrich Prompts settings](/en/settings/enrich-defaults) | On save, a toast confirms |
| No greyed-out gap types | Auto-Fill in the enrich modal | Immediately after your defaults are saved |
| Output that sounds like you | A test run in the [Prompt Lab](/en/essentials/prompt-lab) | The result appears in 30 to 60 seconds |
## When it doesn't work
A greyed-out gap type has no default prompt and no override chosen for that run. Set a default in [Enrich Prompts](/en/settings/enrich-defaults), or pick a prompt from the override dropdown in the panel itself.
Each dropdown only lists prompts matching that enrichment type, so an empty one means you have no prompt of that type yet. Create or save one in the [Prompt Library](/en/essentials/prompt-library) first, then come back.
Thin brand voice and brand identity are the usual cause. Add concrete tone adjectives, example phrases, and your specific benefits to the [Knowledge Library](/en/other-features/knowledge-library), then re-test the same product in the Prompt Lab.
Enrich Prompts, Export Templates, Keywords, and General settings are project-level. Choose a project in the project switcher, then reopen the page.
Nothing is wasted. Fill the Knowledge Library and set your defaults now, then go to [part 3](/en/guides/first-catalog/clean): enrichment reads both at run time, not at import time.
Setup done. [Part 2](/en/guides/first-catalog/import) takes the file itself, which is where the real damage usually happens.
## Related
Next in the series: test-import, map once, and keep a rollback option open.
Go deeper on brand voice so thousands of descriptions still sound like you.
Every field the AI reads before it writes a single word.
The default prompt per enrichment type, and where it shows up.
# Launch a new market language you trust
Source: https://docs.wisepim.com/en/guides/launch-a-new-language
Your catalog needs to be in German by next quarter. Go from one locale to a reviewed, published market language without shipping raw machine output.
Someone has decided you are selling in Germany next quarter. You have a few thousand products in one language, no German speaker on the team, and a launch date. The fear is not that machine translation is bad - it is that you will not know whether it is bad until a German customer tells you.
This guide is the order of operations that makes that risk manageable: fix the source first, prove the quality on a sample, review the whole locale like an editor would, and only then wire up the market. Budget half a day of hands-on work; the AI runs happen in the background.
**Before you start:** pick a project in the project switcher, because languages, translation rules, and keywords are all project-scoped. Your primary-language content should already be enriched - [translation reads it as its source](/en/products/translating-products).
**What you'll get:** a target locale scored and fixed in [Linguistic Review](/en/analytics/linguistic-review), with its own keywords, its own product feed, and hreflang tags pointing search engines at the right version.
Every step below assumes the one before it, which is why the sample sits between the settings and the catalog:
```mermaid theme={null}
flowchart LR
A["Enrich source"] --> B["Translation settings"] --> C["Sample batch"] --> D["Catalog by category"] --> E["Linguistic Review"] --> F["Keywords and feed"]
```
## Get the source and the settings right first
This is the part everyone skips and everyone regrets. Translation quality is capped by source quality, and settings only affect *future* runs - so both are far cheaper to fix now than across 3,000 translated products later.
In [General settings](/en/settings/general), add German under **Additional languages** and save. Nothing else in this guide is available until the locale exists - the Translation action does not even appear in the enrich modal without a second language.
Run [enrichment](/en/essentials/enriching-products) on your primary language before you translate a single product. When a field has enriched or reviewed content, translation uses that as its source automatically - so a thin English description becomes a thin German description, and you pay credits for the privilege.
On the **Dictionary** tab of [Translation settings](/en/settings/translation), add the terms you cannot afford to get wrong. Brand names, model codes, and product lines go in as **Keep as-is** so they are never translated by accident. Doing this before the first run is the difference between one entry and 3,000 corrections.
On the **General** tab, strict mode translates word for word with no style changes, and it is on by default. That is the right call for technical, regulated, or spec-heavy catalogs. Turn it off only if your copy sells on voice - that unlocks tone of voice and the **Translation style** slider from literal to creative.
German, like many languages, forces a choice between formal and informal address. Add a language override on the **Languages** tab and set **Formality** explicitly rather than letting each run guess.
**Unit handling** on the General tab decides whether measurements stay as written, convert to the target locale's standard, or show both. Get this wrong and your German pages quote inches.
AI translates six fields: product name, description, short description, meta title, meta description, and meta keywords. Custom attributes are not translated, so spec values and codes stay exactly as they are - plan that as a separate data job.
## Translate a sample, then the catalog
Do not run 3,000 products on your first attempt. The sample exists to catch a settings mistake while it is still worth ten credits instead of three thousand, and to answer the only real cost question in this guide.
| Mode | Cost | Choose it when |
| -------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fast** | 1 credit per product, per language | The recommended default. Handles normal product copy well, and it is what your whole catalog should run on unless the sample proves otherwise. |
| **Pro** | 5 credits per product, per language | A much larger model that reasons before it writes. Worth it where wording carries real nuance: flagship products, luxury copy, regulated wording - not the whole catalog. |
On the Products page, tick a handful of products that represent your range, click **Enrich with AI** in the toolbar, choose **Translation**, leave the mode on **Fast**, and click **Start Enrichment**.
Switch the language selector on the Products page to German and read the output properly. You are looking for tone, terminology, and whether brand names survived - not for typos.
Reach for Pro only on the products where the sample showed Fast genuinely falling short. On a catalog of any size, that choice is the difference between hundreds and thousands of credits, so make it product by product rather than catalog-wide.
Filter by category and translate in batches rather than firing the whole catalog at once. Each batch stays internally consistent, and review is far easier when you are reading one product type at a time.
If a run stops early, open it from the indicator in the header in the [Process Tracker](/en/other-features/process-tracker) and choose **Resume** - it finishes only the untouched products at no extra credit cost, where **Restart** re-runs everything and is charged as a fresh run. Failed translations are refunded automatically.
## Review the locale like an editor would
Machine translation drifts. The same term comes out three ways, meta descriptions blow past their limits, and the tone reads slightly foreign. [Linguistic Review](/en/analytics/linguistic-review) is the gate that catches it before a customer does - run it after the catalog batches, not between them, because it scores one target locale at a time across everything you have translated.
Open [Linguistic Review](/en/analytics/linguistic-review) from the Analytics sidebar and click **Run review**. The button stays disabled until at least one target locale exists. Results are ready in a few minutes.
Completeness, Terminology, Locale Quality, Consistency, Format & Keywords, and Meta Compliance each describe a different failure. The overall score is their average, so a healthy-looking 4.1 can still hide one criterion sitting below 3.
Open **Term Variants**, pick the recommended translation for each inconsistent term, and toggle **Add to dictionary** as you apply it. That fixes the products you have and stops the drift returning on the next run. **Fix All** applies every auto-fixable issue at once.
Fix the flagged products and the consistency issues, then confirm the overall score is comfortably above 4 - the band that reads as ready to publish. Below 3 means fix it before the locale goes live. Treat that as your launch gate.
## Make the market real
A translated catalog is not a market. These are the wiring jobs that turn German copy into German traffic, and they come last because each one assumes reviewed content already exists.
German shoppers do not search in translated English. Add the terms that market actually uses in [Keywords](/en/settings/keywords) and set each one's locale scope so it only applies to German content.
In [Feed Hub](/en/essentials/feed-hub), click **Create Feed** and build a separate feed for the new market. One feed per language is the documented pattern for multilingual catalogs, and most channels expect a separate URL per market anyway.
In [SEO & Sitemap settings](/en/settings/seo), check that **Generate hreflang tags** is enabled - it is by default - and that **Default locale**, which only appears once a project has more than one locale, points at the right language. This is what stops your two languages competing as duplicate content.
When you edit or re-enrich source text, the matching translated field is flagged **Outdated** and re-translated on the next run. Filter for it periodically instead of assuming a translated catalog stays translated.
Back in [Translation settings](/en/settings/translation), **Auto-learn glossary from reviews** turns confident review findings into dictionary entries by itself. It is off by default on purpose - switch it on after your first reviews look right, not before.
## How to tell it worked
| Signal | Where to look | When it moves |
| ----------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------ |
| Products flip to **Fully translated** | Translation status filter on the Products page | As soon as each run finishes |
| Linguistic Review overall score above 4 | [Linguistic Review](/en/analytics/linguistic-review) | A few minutes after each review run |
| Consistency issue count falling toward zero | **Term Variants**, after applying fixes | On the next review run |
| Fields no longer flagged **Outdated** | Products page, per field | After you re-translate changed source text |
| A German feed generating with the right product count | [Feed Hub](/en/essentials/feed-hub) generation history | On the feed's next refresh |
The launch gate is simple: every product **Fully translated**, consistency issues resolved, and a Linguistic Review score comfortably above 4 for the locale.
## When it doesn't work
You have no target language yet. Add one besides your primary language under **Additional languages** in [General settings](/en/settings/general) and the action appears.
A language is skipped when it was already translated with the same settings from the same source text - that is what keeps re-runs from burning credits. Change the setting you meant to change, or edit the source field (which flags the translation **Outdated**), then run again.
That is Locale Quality in the review, and it usually traces back to source text or settings rather than the model. Improve the primary-language content first, then check formality and tone for the language on the **Languages** tab of [Translation settings](/en/settings/translation), and re-translate the affected products.
Open **Term Variants** in [Linguistic Review](/en/analytics/linguistic-review), apply the recommended variant, and toggle **Add to dictionary** in the same click so the next run cannot drift again.
Add them to the **Dictionary** tab in [Translation settings](/en/settings/translation) as **Keep as-is**, and confirm **Preserve brand names** is still on under the General tab. Then re-translate the affected products.
That is expected. Translation covers the six content fields only; custom attributes are not translated. Handle spec values as a separate data job rather than waiting for a translation run to fix them.
## Related
The full reference: modes, fields, statuses, and what keeps runs consistent.
The six criteria, the scores, and the one-click fixes behind your launch gate.
Get the source copy sounding like you before you multiply it across languages.
Take the new locale to a marketplace without collecting rejections.
# Launch on a channel without rejections
Source: https://docs.wisepim.com/en/guides/launch-on-a-new-channel
Your feed keeps getting disapproved. Sequence channel readiness, rule packs, bulk fixes and feed validation into one clean launch instead of four.
Someone in the business has decided you're selling on Google Shopping, Kaufland, or Meta next month. You export a feed, the channel eats it, and half your catalog comes back disapproved - missing GTIN, missing brand, title too long. Then you fix a few products, resubmit, and wait another day to find out what else is wrong.
The fix is to stop discovering requirements one rejection at a time. WISEPIM can tell you what a channel wants *before* you send anything, and this guide puts those checks in the order that avoids rework. Budget half a day for your first channel, and about an hour for each one after that.
**Before you start:** connect the channel (or at least know which one you're targeting) under [Integrations](/en/integrations/supported-platforms), and have a catalog with products in it. Marketplace-specific credentials are covered on the [Kaufland](/en/integrations/kaufland) and [Mirakl](/en/integrations/mirakl) pages.
**What you'll get:** a feed the channel accepts on the first submission, and a compliance number you can watch instead of waiting for a rejection email.
## Which tool does what
Four surfaces shape what a channel receives, and mixing them up is the main reason a launch takes three attempts. Read this table once and the rest of the guide is just execution.
| Surface | The question it answers | Where it sits |
| ------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| **Channel Readiness** | Across my whole catalog, how much is listable on this channel, and which field is the gap? | Its own page in [Feed Hub](/en/essentials/feed-hub) |
| **Rule packs and channel rules** | Which products break this channel's requirements, on every export, permanently? | [Quality Guard](/en/quality-guard/overview) and [Channel Rules](/en/quality-guard/channel-rules) |
| **Feed validation and feed quality** | Does this one feed, as configured, satisfy the channel field by field? | The feed's own page in Feed Hub |
| **Quarantine** | Which products are being held back right now, and why? | [Quality Guard → Quarantine](/en/quality-guard/quarantine) |
That table is also the order. Readiness tells you what to fix, rules keep it fixed, the feed gets built on data that is already clean, and quarantine is the last gate you clear before the first sync. Build the feed first and you will rebuild it after every data fix.
```mermaid theme={null}
flowchart LR
A[Channel Readiness] --> B[Rule pack on Warn]
B --> C[Bulk fix data]
C --> D[Build feed]
D --> E[Validate feed]
E --> F[Switch to Block]
F --> G[Clear quarantine]
G --> H[First sync]
```
## See what the channel actually wants
Do this before you touch a single product. Readiness gives you today's snapshot; a rule pack turns the same requirements into checks that keep running after you stop looking.
On the Channel Readiness page, pick the channels you sell on. Each one gets a card: a percentage ready for that channel, coverage bars per required field, and chips counting the products missing each one. Write the percentage down - it is your before number.
The coverage bars rank themselves for you. One field is almost always responsible for most of the gap - usually GTIN or brand. Each card carries a **Fix** button that opens the AI fix drawer with exactly those products preloaded, so the biggest gap in your launch is one pass rather than a project.
A readiness percentage is a snapshot that goes stale. Open the **Rule Packs** tab in [Quality Guard](/en/quality-guard/overview) and install the pre-built bundle for your channel: its requirements land as channel-scoped rules in one click and re-run on every export from then on. The Google Shopping pack covers GTIN, brand, product category, image requirements, and title formatting.
Severity decides what happens on failure: **Block** quarantines the product, **Skip** silently leaves it out, **Warn** lets it through and logs it. Start on Warn so you can measure the real size of the problem without holding up an export you still need today. You switch to Block in the last section, once the data is clean.
[Channel Rules](/en/quality-guard/channel-rules) is a filtered view of the same rules, grouped by destination. Find your channel - if it's still listed under **Unconfigured Channels**, click **Add Rules**, and write down its compliance rate. Green means 80% or more of covered products pass, amber 60–79%, red below 60%. This is the one number you'll watch for the rest of the launch.
## Fix the blockers in bulk
You now know which rule fails and how often. Never fix these product by product - filter to the violators and act on the whole set at once.
On the Products page, open the [filter modal](/en/products/filtering-products) and switch to the **Compliance** tab. Pick the failing rule and choose **Violates**. The rule's own scope is applied automatically, so you get exactly the products it targets, with a live count before you commit.
Anything that's a known value - a brand you can set per supplier, a category assignment, a stock status - belongs in [bulk editing](/en/essentials/bulk-editing) rather than in AI. It's instant and it costs no credits.
When a channel wants colour, material, or size and the information is buried in your descriptions, run [AI attribute extraction](/en/ai/attributes) on the filtered set. It only fills attributes that already exist on the product's family, so nothing unexpected appears in your structure.
GTIN, UPC, MPN, and model number can't be written - they have to be found. Run [Web Research](/en/ai/web-research) on the filtered set and switch on the identifiers you need under **Identifiers to discover**. Identifiers follow stricter rules than anything else research writes: they only ever go into empty fields, every value is checksum-validated, and a value that conflicts with yours is flagged rather than written over it.
Run the Compliance filter again with the same rule. The count should have dropped. Work down the rules in order of how many products they fail, and stop when the remaining ones are genuine exceptions rather than data gaps.
## Build the feed and validate it before you submit
Only now is it worth creating the feed, because a feed is a snapshot of data you have already cleaned. Everything from here happens in [Feed Hub](/en/essentials/feed-hub).
Click **Create Feed** on the Feed Hub overview and pick your channel in the two-step wizard. The preset sets sensible defaults; you set the name, product language, currency, and refresh strategy. Selling in more than one language? One feed per language - most channels expect a separate URL per market.
On the feed's **Field Mappings**, **Auto-map** matches on field names and **AI Auto-map** handles the cases where your names and the channel's don't line up. Review the required fields yourself afterwards, and add a **fallback** value on any field where your primary source is sometimes empty.
Two different controls, in this order. **Product Scope** decides who is eligible at all - categories, product families, whether out-of-stock counts. **Filter rules** then drop the products that would embarrass you: no price, no image, quality score below a threshold. Hit **Preview** to see how many each rule removes before you save, because this is where a feed silently loses half its catalog.
**Validate** checks each individual product against the channel's field requirements and lists errors and warnings per product - that is your rejection list, written before the channel writes it. The **Feed Quality** panel scores the feed itself across six dimensions, including GTIN/EAN coverage and title quality. Fix, regenerate, then **Recalculate**.
## Clear quarantine, then go live
Only now do the rules become blocking. Flip severity first, empty the queue that flip creates, and give the channel its URL last - in the other order you hand a platform a feed that quarantine is quietly shrinking.
Now that the data is clean, Block severity is protection rather than an obstacle. From here, a product that breaks a channel requirement is held instead of shipped.
This is the step people miss. Nothing in [quarantine](/en/quality-guard/quarantine) can be exported, synced, or published - so if products vanish from a launch with no error anywhere, quarantine is the first place to look. Open an entry to see the exact field, operator, expected value, and actual value, fix the data, then **Bulk Resolve** the entries you fixed together. For a genuine exception the channel will accept anyway, **Bypass** it with a reason instead; the reason goes to the [audit log](/en/quality-guard/audit-log) under your name.
Marketplace fees change what a healthy price looks like. If this channel takes a commission, set up the markup before the first sync rather than after the first invoice - see [Send a different price per channel](/en/guides/price-per-channel).
Each feed has its own hosted URL that the channel fetches on its own. Choose **Scheduled** or **On change** so you're not regenerating by hand, and give the platform its first fetch.
[Integration Health](/en/analytics/integration-health) tells you whether the sync itself is reliable; [Channel Analytics](/en/analytics/channels) tells you whether the channel is earning. Check the first before you judge the second.
## How to tell it worked
| Signal | Where to look | When it moves |
| ----------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Percentage ready for the channel | Channel Readiness in [Feed Hub](/en/essentials/feed-hub) | After each bulk fix, once field coverage recalculates |
| Channel compliance rate | [Channel Rules](/en/quality-guard/channel-rules) - you want green, 80%+ | On the next check run against that channel's rules |
| Per-product errors | **Validate** on the feed | Same session - the list appears as soon as the run finishes |
| Feed quality score | Feed Quality panel, after **Recalculate** | Same session, once you regenerate following a data fix |
| Quarantined products | [Quality Guard dashboard](/en/quality-guard/overview) | As you resolve entries; take it to zero before the first sync |
| Sync failure rate | [Integration Health](/en/analytics/integration-health) | First runs appear within a day; under 3% over the rolling 30 days is healthy |
| Revenue and AOV for the new channel | [Channel Analytics](/en/analytics/channels) | Only once orders arrive - judge the sync first, the channel second |
## When it doesn't work
Three silent shrinkers, in the order worth checking. [Quarantine](/en/quality-guard/quarantine) holds every product a Block-severity rule caught, and nothing held there can be exported, synced, or published. Your feed's **Filter rules** may be removing more than you intended - hit **Preview** to see the real number per rule. And **Product Scope** may never have included them: an out-of-stock toggle or a category selection narrows the feed before any rule runs. Feed Hub's **Generation History** settles it - compare the last two versions and read the product count.
Red means below 60%, and it is the pack telling you the truth about data you already had. Keep the rules on **Warn**, open the Quality Guard dashboard's **Top Failing Rules** list, and work it from the top using the Compliance filter - one rule at a time, in bulk. Switch to **Block** only when the rate is where you want it. Installing a pack straight onto Block on a large catalog can hold up your next export.
Readiness and validation are scored on the required fields WISEPIM tracks for that channel - required fields it doesn't track are flagged rather than guessed. For marketplaces, the remaining gap is usually platform-side setup: category mapping, shipping attributes, or account configuration. See [Kaufland](/en/integrations/kaufland) or [Mirakl](/en/integrations/mirakl) for what that channel needs on its own side.
The identifier you searched with was the wrong key. If EAN returns nothing, switch the picker to **Brand + Name** or **Model Number** - technical products are far better indexed by model. Some products genuinely have no public barcode; for those the identifier has to come from your supplier. A wrong barcode is worse than an empty one, which is why conflicts are flagged rather than written.
Open [Integration Health](/en/analytics/integration-health) and read the **Last error** column - it names the cause without you logging into the platform. A failure rate that climbs gradually past 3% is the classic signature of a rotated API key or an expired token: re-test the connection from [Integrations](/en/integrations/supported-platforms). A burst of validation failures instead means the channel is rejecting products for a missing field, and the error usually names it - that field belongs in your channel rules, not in a retry.
## Related
Every option behind feeds, channel readiness, validation, and feed quality.
The per-channel compliance view you'll watch through the launch.
Cover a marketplace fee at export time without touching your stored prices.
The B2B version of this launch: standards-based classification and a BMEcat catalog.
# Make brand names and terms consistent
Source: https://docs.wisepim.com/en/guides/make-terminology-consistent
Half your catalog says SoundMax, the other half Sound Max. Collapse every spelling variant, then make the approved wording stick across imports and languages.
Your brand filter lists "SoundMax", "Sound Max", "SOUNDMAX" and "Soundmax " with a trailing space as four different brands. Shoppers filtering by brand see a quarter of the range. Your feeds ship four values where the channel expects one. It happens to everyone who imports from more than one source, and it happens again with every new supplier file unless you close the door behind you.
Fixing it is three jobs: find every variant, collapse them into one, and make the approved spelling the only one that survives the next import. Budget about an hour per term family. If the whole catalog is a mess and not just its vocabulary, run [clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog) first - its whitespace and case pass is what makes the matching below reliable.
**Before you start:** decide which spelling is correct before you touch anything, ideally from the brand's own site. Everything below is a bulk edit, so link a term to the wrong master and you will be running the whole pass twice.
**What you'll get:** one spelling per term across the catalog, an approved-terms dictionary you can re-apply after every import, and a rule that flags the old variants if they come back.
## Find every variant before you replace anything
Replacing the variants you happen to have noticed leaves the ones you have not. Build the full list first.
On the [Products](/en/essentials/managing-products) page, click **Filters** next to the search bar, open the **Advanced filters** tab, and filter the **Brand** field (or whichever field holds the term) with **contains** and the shortest distinctive fragment: `sound`, not `SoundMax`. The summary panel previews the match count while you build, so you can see how wide you have cast before applying anything.
Now narrow with the operators that distinguish near-identical values: **case-sensitive equals** to isolate one capitalisation, **regex match** for spacing and punctuation differences, **starts with** and **ends with** for prefix and suffix noise. Write down the count behind each variant - those numbers are how you will know the replacement worked. See [filtering products](/en/products/filtering-products) for the full operator list.
Terminology drift and duplicate products often arrive in the same supplier file, and rewriting text across a set that is half duplicates means doing it twice. A quick **is duplicate** check on **SKU** settles it; if it comes back full, resolve the duplicates first with [clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog).
Name it in the **Save filter set** box and save. You will re-run this exact filter after the replacement to prove the variant is gone, and after every future import to check it has not come back.
## Collapse the variants into one spelling
Order matters here for the same reason it does in any text cleanup: a hidden trailing space or an unexpected capital is what makes a replacement silently miss a few hundred products. Three bulk actions look interchangeable and are not, so pick deliberately.
| Use | When | Watch out for |
| --------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Find and Replace](/en/essentials/bulk-editing/find-replace) | One known variant becomes one known spelling | Short terms matching inside longer words |
| [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) | A whole field should read one way, such as names in Title Case | Values styled on purpose getting flattened |
| [Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary) | Applying your whole approved list at once, repeatedly | Nothing happens until the dictionary exists - see the next section |
Select your products, click **Bulk Edit** in the Products toolbar, and run [Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace) over the fields that hold the term. `Soundmax ` and `Soundmax` are two values to a filter and two facets to a storefront, and no later step will match both reliably while the space is still there.
Run [Find and Replace](/en/essentials/bulk-editing/find-replace) once per variant, targeting every field the term appears in: name, descriptions, SEO fields, brand, supplier, custom text attributes. Turn on **Match whole words only** so a short term is not rewritten inside a longer word, and leave **Case sensitive** off so every capitalisation of that variant is caught in the one run.
Reach for [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) only on a field that genuinely should read one way throughout. Run it after the replacements, not before: a Title Case pass over a field you have already corrected will re-capitalize the exact brand strings you just fixed. Keep the field selection narrow and read the live before/after preview.
Load the filter set from the first section. Every variant should now return zero products and the approved spelling should hold the combined count. If a variant still has matches, you missed a field, not a product.
## Write the approved terms down once
Everything so far was a one-off. The dictionary is what makes it repeatable, and it is the input to a bulk action most people never find on their own.
Go to **Settings → [Translation](/en/settings/translation) → Dictionary** and click **+ Add term**: enter the source term and the exact wording you want in each language. Add context where a term is ambiguous, so "mouse" as an audio category and "mouse" as a computer peripheral do not collide.
Turn on **Keep as-is** for brand names, product codes, and trademarks. That is what stops a translation run from helpfully rendering your brand into German, and it is why the dictionary is worth building even if you sell in one language today.
The Dictionary has a **Bulk edit** text mode for adding many terms at once, which is far quicker than clicking through entries when you are transcribing a brand style guide.
Select your products, click **Bulk Edit**, and pick [Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary) under **Text & Content**. It reads your active dictionary entries and swaps the source terms for the approved wording across the fields you choose, including the translated fields per language, which is the part a manual find-and-replace pass almost always misses. Terms you locked to stay as-is are skipped rather than rewritten.
Run Enforce Dictionary after each new supplier file lands. A feed brings its own vocabulary with it, and one bulk action costs you less than the filtering you did in section one.
## Stop the variants coming back
The dictionary fixes wording you already have; this section is about wording that has not arrived yet. Do it now, while you still remember which spellings were wrong - in three months the retired variants are exactly what nobody can list from memory.
The most durable fix is structural: where the possible values are known in advance, a select attribute backed by a shared options set means nobody can type a fifth spelling, because there is nothing to type into. Set this up in [attributes](/en/other-features/managing-attributes).
In [Quality Guard](/en/quality-guard/rules), click **Create Rule** and add a condition on the product name or description with the **does not include** operator and the retired spelling as its value. Set the trigger mode to **The product matches them**, which is what turns the rule into a detector for wording you have banned rather than a requirement.
Warn logs the failure and lets the product export anyway. A misspelled brand is worth flagging, not worth stopping a sync over. Check the live impact preview before saving to see how many products the rule catches today.
Back on the **Dictionary** tab, **Auto-learn glossary from reviews** grows the dictionary from wording inconsistencies your [linguistic reviews](/en/analytics/linguistic-review) are highly confident about. It is off by default, and leaving it off until your first reviews read sensibly is the point: you want the reviews trustworthy before they start writing entries. Your own terms and anything marked **Keep as-is** always win.
## How to tell it worked
| Signal | Where to look | When it moves |
| ---------------------------------------------- | ---------------------------------------------------- | -------------------------------------------- |
| Each variant filter returns zero products | Your saved advanced filter set | Immediately after the find-and-replace pass |
| The approved spelling holds the combined count | Same filter, approved term | Same pass |
| Brand facets collapse to one entry per brand | Your storefront or channel feed | On the next export or sync |
| Dictionary terms come out identical everywhere | [Linguistic Review](/en/analytics/linguistic-review) | After the next translation run |
| Old spellings get flagged, not shipped | [Quality Guard](/en/quality-guard/overview) | On the next check after the rule goes active |
The filter counts are the honest test, and you get them in seconds. Treat the channel-side signals as confirmation that the change reached the outside world.
## When it doesn't work
A short term matched as a fragment of a longer one. Turn on **Match whole words only** and re-run. For patterns rather than fixed strings, enable regular expressions and test on a small selection first. See [Find and Replace](/en/essentials/bulk-editing/find-replace).
Case-sensitive matching is off by default, which normally catches every capitalisation at once, so a survivor points at a field you did not include in the target-field list rather than at the matching options. Re-run with the missing fields selected.
Only active dictionary entries are applied, and entries locked to stay as they are get skipped by design. Open the **Dictionary** tab in [Translation settings](/en/settings/translation) and confirm the term is there with the replacement you expect, then re-run with the right target fields selected.
Names with intentional internal capitals are exactly what the live preview in [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) exists to catch. Repair the values with a find-and-replace, then add the term to the dictionary with **Keep as-is** so translation runs leave it alone too.
A feed carries its own vocabulary and nothing in the import knows about your preferences. Run Enforce Dictionary as a standing step after each import, and move the field to a select attribute with a shared options set so free text is no longer possible.
## Related
The bulk action that applies your approved terms across the catalog.
Where the dictionary lives, including keep-as-is and auto-learn.
The full cleanup sequence this terminology pass belongs to.
Teach WISEPIM to write new content in your approved wording from the start.
# Migrate platforms without losing data
Source: https://docs.wisepim.com/en/guides/migrate-your-catalog
Replatforming without losing product data: use WISEPIM as the middle layer, rehearse the move on a copy, and land on the new store with better content.
Moving stores is the scariest week your catalog will ever have. Years of descriptions, categories, and attributes sit in the old system, and a straight copy usually loses something quietly: an attribute that had nowhere to go, a category tree that flattened, a URL structure that changed underneath your rankings. The way out is to stop treating the move as a copy. Put WISEPIM in the middle, land the old catalog there, improve it while it sits still, and push a better catalog into the new store than the one you took out.
Budget about half a day of hands-on work, plus background import and export time that scales with your catalog size. If there is no old platform to leave and this is simply your first catalog, follow [the first-catalog series](/en/guides/first-catalog/import) instead.
**Before you start:** you need admin access to both platforms so you can connect them as [integrations](/en/essentials/integrations), and a WISEPIM project you are happy to fill with the old catalog. Nothing you do here touches either store until you run an export.
**What you'll get:** your full catalog in WISEPIM with a CSV snapshot you can fall back on, cleaned and re-SEO'd content, and a first push to the new platform that only sends products passing your quality rules.
The route splits once, at the rehearsal, and rejoins before anything reaches the new store:
```mermaid theme={null}
flowchart LR
A["Import old catalog"] --> B["CSV snapshot"]
B --> C["Staging rehearsal"]
B --> D["Clean and re-SEO"]
C --> D
D --> E["Quality Guard gate"]
E --> F["Push to new store"]
```
## Land the old catalog and take a snapshot
Connect both ends before you import anything. The source is what you are pulling from, and having the destination connected already means your export template and skip-unchanged baseline are ready when you get there.
Set up the source integration first, for example [Magento 2](/en/integrations/magento). Only connected platforms show up in the import modal, so this has to happen before anything else.
Do the same for the destination, for example [Shopify](/en/integrations/shopify). Connecting it now, not later, means you can test a small export the moment your data is ready.
On the [Products](/en/essentials/managing-products) page click **Import** in the toolbar and pick the old platform - only connected integrations are listed. On your first platform import WISEPIM pulls your categories and attributes in alongside the products, so the structure comes with the data instead of being rebuilt by hand. See [importing products](/en/essentials/importing-products).
Open your category tree and your attribute list and check they match the old system. A product count that looks right can still hide a category that collapsed or an attribute that arrived empty. If the import was wrong at the source, roll it back from the [Process Tracker](/en/other-features/process-tracker) before you build anything on top of it.
With nothing selected, click **Export** in the Products toolbar so the run covers the whole catalog, choose [CSV](/en/essentials/exporting-products) with all columns and languages, and keep the file. Take it now rather than after the cleanup: it is the only artifact that still holds the original values once you start bulk-editing.
The **Data Sync** category of the [automation gallery](/en/automations/templates) ships ready-made migration workflows, including Magento to Shopify and WooCommerce to Shopify. If your move is one of those pairs, apply the template and point its nodes at your own integrations rather than wiring each step yourself.
## Rehearse the whole thing on a copy
Not every move needs a rehearsal, but the decision has to happen now: a staging [project](/en/essentials/managing-projects) is one action to create today and awkward to retrofit once you have started editing.
| Your situation | Route |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Small catalog, few custom attributes, old store stays up a while | Direct cutover - clean in place, export when it passes your rules |
| Thousands of products, or restructuring you cannot eyeball | Staging project - make the expensive mistakes on a copy |
| The old store switches off on a fixed date | Staging project - you want a proven run, not a first attempt |
| Someone has to sign off on what changed before it ships | Staging project - **Compare Projects** turns your edits into a readable diff |
Chose direct cutover? Skip ahead. The rest of this section builds the copy.
Open the **Projects** page from the main menu and choose **Duplicate** in the project's actions menu: products, categories, attributes, and settings come across in one go. For security a duplicate does not carry integration API keys, so reconnect the destination there if you want to test a real export. To rehearse on a subset instead, filter to a few hundred products and **Export** them to another project.
Do the bulk restructuring and the enrichment run in the staging project. This is where you find out that a find-and-replace was too broad, at a point where it does not matter.
Open [Compare Projects](/en/essentials/managing-projects), set the staging project and the live one as A and B, and start on the **Differ** tab. It matches products by SKU and lists the fields that disagree, so you read your own changes back as a diff instead of trusting that they landed.
Once the rehearsal reads right, either repeat the same steps on the real project, or open a product's diff drawer, set the sync direction, and **Sync all** the fields across. The rehearsal is only finished when the live project carries the result.
## Clean and re-SEO before the URLs change
This is the part a plain migration skips. The content is already in one place and nothing is live yet, so it is the cheapest moment you will ever have to fix it.
Select products and click **Bulk Edit** in the Products toolbar to trim whitespace, standardize case, and strip inherited links. Filter to a small set and test each action there first. If the old catalog is genuinely messy, [clean up an inherited catalog](/en/guides/clean-up-an-inherited-catalog) has the full running order rather than this shortlist.
Reassign, replace, or set primary categories in bulk now, from the same **Bulk Edit** modal. Changing a category tree in WISEPIM is a bulk action; changing it after the new store is live is a redirect project.
In [SEO & Sitemap settings](/en/settings/seo), set the **Base URL** and then the slug patterns on the **Slugs** tab, before you generate any meta content. Every slug and sitemap preview is built on that base, so getting it right first is what makes every preview after it honest.
Select the catalog, click **Enrich with AI** in the toolbar, and run [SEO title and meta](/en/ai/seo-meta). Do it after the slug rules, not before: this writes the meta fields only, so your on-page copy stays exactly as you just cleaned it.
If the old descriptions are not worth carrying over, [Bulk Enrich](/en/ai/bulk-enrich) regenerates titles, descriptions, and SEO in one run. It always overwrites, which is exactly what you want here and exactly what you do not want on a selection you did not check first.
## Gate the first push, then cut over
Everything so far was reversible inside WISEPIM. From here you are writing into a live system, so the order flips to defensive: rules first, then a handful of products, then the rest.
In [Quality Guard](/en/quality-guard/overview), open the **Rule Packs** tab and install the pack for the platform you are moving to, or start from a single template on the **Rule Templates** tab. Packs install as drafts, so review them and toggle them active. Quality Guard runs on every export, which makes these the gate the migration has to pass.
On the Quality Guard dashboard, read the compliance rate and the **Top Failing Rules** list. Fix the rule that fails the most products first - one root cause usually clears several rules at once - and empty the [quarantine](/en/quality-guard/quarantine) before the first export, not after a half-broken store is live.
In [Export templates](/en/settings/export-templates), click **New template**, target the destination, then run the preview action to push your first three products through it and read the resulting headers. A wrong column header is a two-second catch here and a support ticket later.
Filter to a handful of representative products, export them, and open them in the new platform. Verify the storefront, not just the admin.
Run the full export. **Skip unchanged** is on by default for platform exports, so every sync after the first one only sends the products that actually changed.
## How to tell it worked
| Signal | Where to look | When it moves |
| ------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Catalog landed complete | Product count, category tree, and attribute list against the old system | When the import finishes - minutes for a small store, up to a few hours for tens of thousands of products |
| Your changes are the only differences | [Compare Projects](/en/essentials/managing-projects) → **Differ** tab, staging versus live | After each cleanup or enrichment run |
| Content is export-ready | [Quality Guard](/en/quality-guard/overview) compliance rate, and the quarantine count at zero | On the next check after a rule change or a data fix |
| The push actually delivered | The new platform's admin *and* your storefront, on a spot-check | As each export job completes in the [Process Tracker](/en/other-features/process-tracker) |
| Syncs are getting cheaper | Export job results: most products reported as skipped | From the second export onwards, with **Skip unchanged** on |
## When it doesn't work
Shopify sync is single-variant today: import reads the first variant's price, SKU, barcode, and stock onto the product, and export writes those fields back to that same variant. The full option matrix is not synced in either direction, so keep managing multi-variant options in [Shopify](/en/integrations/shopify) itself.
Open the import task in the [Process Tracker](/en/other-features/process-tracker) and choose **Rollback**. It removes what that import brought in. Rollback exists only on import tasks, so do it before you start enriching, or you throw away the work you did on top.
With **Skip unchanged** on, products that have not changed since the last export to that platform are skipped on purpose. Turn it off to force a full re-export, which is what you want after changing the channel's settings. See [exporting products](/en/essentials/exporting-products).
A [Quality Guard](/en/quality-guard/overview) rule with **Block** severity quarantines a product instead of exporting it, and on a large catalog one blocking rule can hold up the whole cutover. Open [quarantine](/en/quality-guard/quarantine), read the failure reason, fix the underlying field in bulk, then use **Bulk Resolve** to release the batch. A product you genuinely want to ship despite the violation can be bypassed with a recorded reason.
If [Pricing & Margins](/en/settings/pricing) rules are active, markups and margins are applied at export time, per channel, while your stored prices stay as they are. Check your pricing rules before you go hunting through product data.
## Related
Every destination, template, and the skip-unchanged option in full.
Duplicate a project and compare two catalogs field by field.
The careful version of a first import, with a test batch before the real one.
Dedupe, normalize, and categorize someone else's data in the right order.
# Onboard a supplier catalog end to end
Source: https://docs.wisepim.com/en/guides/onboard-a-supplier-catalog
Turn a supplier CSV, XML feed, or bare website into classified, researched, sellable products in your own structure, without retyping a single spec.
A new supplier sends you 4,000 products in whatever shape they happen to keep them: a spreadsheet with mystery column names, an XML feed, a BMEcat file, or nothing at all except a website. None of it matches your categories, half the specs are missing, and the descriptions are written for someone else's shop. Retyping is not an option and importing it raw just moves the mess into your catalog.
The fix is an order of operations: decide how the data gets in, make sure the slots it should land in already exist, bring in a small capped batch, then fill facts before words. Budget about 90 minutes for your first supplier, and far less for every one after - the setup is reusable. Moving your *own* catalog off an old platform rather than taking on a supplier's range? That is [migrate your catalog](/en/guides/migrate-your-catalog).
**Before you start:** get whatever the supplier can give you - a file, a feed URL, or just their catalog URL, and know which of their categories you actually intend to sell. See [importing products](/en/essentials/importing-products) for what each format needs.
**What you'll get:** the supplier's range in your own category and attribute structure, with verified identifiers and specs, content written in your voice, and a repeatable setup for their next update.
## Pick your intake route
Choose by what the supplier can hand over, not by what you are used to. Ask for the most structured thing they have, then take the highest route in this table they can actually deliver - every row below the first costs you more setup, and the ones near the bottom carry less of the supplier's own structure with them.
| What the supplier can give you | Route | What you set up, and what you get |
| ----------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------- |
| A supported distributor account | A direct [integration](/en/essentials/integrations) | Credentials once, no files ever - the supplier's own update cadence |
| A BMEcat file | [Feed Hub](/en/essentials/feed-hub) → **XML Import** | Almost nothing: the catalog carries its own ETIM classes and features |
| XML, RSS, Atom, or a zipped catalog | [Feed Hub](/en/essentials/feed-hub) → **XML Import** | AI-proposed field mapping, saved as an Import Profile you can schedule |
| A CSV or Excel file | [CSV or Excel import](/en/essentials/importing-products) | A column mapping you save as a template and reuse on every future file |
| A public website and nothing else | [Web scraping import](/en/essentials/web-scraping-import) | A seed URL and caps; AI extracts each product page, so preview first |
If your supplier is [TechData](/en/integrations/techdata), or delivers through [WebshopImporter](/en/integrations/webshopimporter), which is also how the [Shots](/en/integrations/suppliers/Shots) feed arrives - connect the integration and none of the rest of this section applies.
File and scrape routes start on the [Products](/en/essentials/managing-products) page: click **Import** in the toolbar and choose the source. Feed routes start in [Feed Hub](/en/essentials/feed-hub) under **XML Import**, where you paste the URL or upload the file.
Every route shows you what it found before it commits: the row count and detected delimiter for a CSV, the item count and XPaths for a feed, the matched URL count and one extracted sample for a scrape. Compare it to the number of products you expect. A mismatch here is cheap; the same mismatch after 4,000 products land is not.
For a feed, AI proposes a mapping per field with a confidence chip - accept the confident ones and read the rest. For a CSV, auto-mapping does the same from your column names. A wrong guess you wave through is what quietly fills the wrong attribute on every product.
Save a CSV mapping as an **import template** and a feed mapping as an **Import Profile**. This is the step that makes the supplier's *next* file a five-minute job instead of a repeat of today, and an Import Profile can be scheduled to pull updates on its own.
## Adopt your standards before the products land
This is the step everyone does last and should do first. Classification decides which attribute slots exist on a product - and everything downstream, from research to enrichment to a wholesale feed, can only fill slots that already exist.
Go to **Products → [Classification](/en/products/classification)** and search the **ETIM classes** tab by name, code, or trade synonym. Click **View class** before you adopt anything: the feature table is the honest answer to "which attributes will these products need to carry?"
Click **Adopt class**. WISEPIM builds a ready-to-use [product family](/en/products/product-families) from the standard, with one attribute per feature, its value lists, and its prescribed units - products assigned to that family get the attributes immediately.
On the **GS1 GPC** tab, drill to the bricks you sell and click **Add as category**. The full parent path is created with them, so imported products land in the right place in your tree instead of in a duplicate one next to it.
If you already have families and attributes, open the **Mapping review** tab, click **Run mapping**, then use **Select safe matches** to bulk-adopt the high-confidence proposals and hand-review the fuzzy and AI tiers. Your corrections are remembered, so the next supplier's range needs less review than this one.
In **Settings → [Import by Scraping](/en/settings/import-by-scraping)**, the **Classification** section files incoming products into your adopted ETIM classes and GPC categories as they land. Turn it on before the import, not after: it costs no credits, and it runs ahead of the enrichment chain so the family is already there when enrichment looks for attributes to fill.
## Import a capped first batch, enriched on arrival
Never point a fresh supplier feed at your whole catalog with enrichment switched on. Cap it, look at the result, then scale.
Suppliers ship their whole range. Add import filters in **Settings → [Import](/en/settings/import)** so only the products you actually carry come in. These are project-wide defaults that apply to every import anyone on your team runs, so set them before the first batch rather than deleting products afterwards.
For scraped imports, turn on the enrichment chain in [Import by Scraping settings](/en/settings/import-by-scraping): web research first so verified facts land before anything is written, then [Bulk Enrich](/en/ai/bulk-enrich) for the fields you pick. For file and platform imports, use an **After Import** [automation trigger](/en/automations/triggers) instead, optionally filtered to that one import source.
Set low **Max products** and **Max listing pages** limits on a scrape, or import a trimmed file. The chain runs on every product an import brings in, so a misconfigured chain on 2,000 products is an expensive way to learn.
Open a few of the imported products by hand. Check that the family and category are right, the attributes landed where you expected, and the generated text is usable. Fix the configuration, then run the full import - everything you correct now is a correction you do not repeat 4,000 times.
## Fill the facts, then the words, then the structure
Supplier data is thin on specs and thick on someone else's marketing copy. Research first: writing on top of verified facts is a different quality of output than writing on top of a guess.
Filter to the batch, click **Enrich with AI** in the Products toolbar, and start [Web Research](/en/ai/web-research). EAN/GTIN is the most accurate identifier because it is globally unique; fall back to Brand + MPN or Brand + Name when the supplier gave you no barcodes. Test the settings on a single product from its edit page first if you are unsure.
Research can discover missing EAN, UPC, MPN, and model numbers. Identifiers follow stricter rules than other fields: they only ever land in empty fields, every value is checksum-validated, and a value that conflicts with yours is flagged instead of overwriting it.
From the same **Enrich with AI** modal, run [Bulk Enrich](/en/ai/bulk-enrich) on descriptions, titles, and SEO meta to replace inherited copy with your own. Run it after research, not before, so the writing is built on the facts you just verified. Reach for [Auto-Fill](/en/ai/auto-fill) instead when you only want to fill gaps and keep what is already there.
Supplier files list every size and color as its own row. Select the ones that belong together, click **Bulk Edit**, and use [Group as Variants](/en/essentials/bulk-editing/group-as-variants) to attach them to one parent, so channels get a single configurable listing instead of twenty look-alikes. The CSV importer's nested-data step can link them during the import itself next time.
Every product remembers where it first came from, and that record never changes. Open **Filters → Advanced filters** on the [Products page](/en/products/filtering-products) and filter on **Import Source** to isolate exactly this supplier's products, then read the quality scores and the **Presets** counts across that set alone.
## How to tell it worked
| Signal | Where to look | When it moves |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| The right products arrived | Filter by **Import Source** and compare the count to what the importer previewed | When the import finishes - seconds to minutes for a file, longer for a large crawl |
| Products carry the standard's attributes | The **ETIM** tab on a product, with its conformance score and per-feature checklist | As soon as the product has a family linked to an ETIM class |
| Facts were found, not invented | The **Web Research** tab on a product's edit page, with its sources listed | When the research run completes in the [Process Tracker](/en/other-features/process-tracker) |
| Identifier gaps closed | The EAN/GTIN and MPN fields, plus any conflicts flagged rather than overwritten | After research - empty fields only, every value checksum-validated |
| The batch is sellable | [Data Quality](/en/analytics/data-quality) scores and the **Presets** counts, filtered to this supplier | Once enrichment finishes; force a refresh with [Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality) |
## When it doesn't work
The seed URL or the pattern is off. For category mode paste the listing page, not a single product; for sitemap mode paste a real product URL so the pattern can be learned. Adjust the product URL pattern override and preview again - see [web scraping import](/en/essentials/web-scraping-import).
Some shops sit behind bot protection, and WISEPIM names the service doing the blocking rather than failing vaguely. The documented way through is the browser extension: install it, choose the project it imports into, click **Connect this browser**, then open the supplier's product pages yourself. Same extraction, on sites the crawler cannot reach - see [web scraping import](/en/essentials/web-scraping-import).
Usually the identifier is wrong, or the product is too new or too niche to have public data. Try a different identifier type: if EAN returns nothing, Brand + Name or model number often does. See [Web Research](/en/ai/web-research).
Check your import filters first - they are project-wide defaults in [Import settings](/en/settings/import). Then check your validation mode, which decides whether rows with errors are skipped. Distributor feeds can have their own rules too: [TechData](/en/integrations/techdata) only imports an article that has both a price line and a stock line.
The catalog most likely declares an ETIM release you have not installed. WISEPIM warns you and applies the features against your newest installed release instead, which is usually close but not identical. If your partner needs an exact match, import the declared release from [Classification](/en/products/classification) first, then re-run the import.
## Related
Adopt the classes and categories that give imported products their attribute slots.
XML, RSS, and BMEcat import with AI mapping and reusable import profiles.
Promote this manual sequence into an automation once it works.
The same middle-layer approach, applied to replatforming instead of a supplier.
# Guides
Source: https://docs.wisepim.com/en/guides/overview
Real-life guides that walk you from problem to working result. Pick an outcome, not a feature - each one gives you the order, the time, and how to verify it.
Every page in this tab starts from something you are trying to achieve - cleaner data, more clicks, a new channel, fewer returns, and walks you through the exact sequence of WISEPIM features that gets you there. Each guide tells you what you need before you start, how long it takes, and how to verify it actually worked.
New to WISEPIM? Run the [Quickstart](/en/quickstart) first - guides assume you have a project with products in it.
## Get started & migrate
Five parts, about five hours: from a messy export to live enriched listings - setup, import, clean, enrich, publish.
Rehearse the whole move on a copy first, then cut over with better content than you went in with.
Keep your existing PIM as the system of record and add the AI layer on top - no migration required.
File, feed, or bare website to classified, researched, sellable products, and reusable for every supplier after.
## Clean up your data
Someone else's mess, in order: measure a baseline, clean and restructure, then put a quality floor under it.
Collapse every spelling variant to one approved value, then make it stick across future imports and translations.
## Grow sales
You already rank - convert positions 4–10 with low CTR into traffic by rewriting for real search intent.
Set up brand voice once so 10,000 AI-written descriptions sound like you, not like a robot.
Fix the source, sample, translate, then review it like an editor - instead of shipping raw machine output.
## Reduce returns
Triage whether it is even a content problem, fix the products actually costing you, then prove the rate moved.
## Sell on more channels
Channel rules first, quarantine second, feed third - the sequence that keeps a new channel approved.
Cover marketplace fees without ever touching your stored prices, and know which pricing tool does what.
Adopt the classes, fill the prescribed features, check conformance, and send a file their system accepts first try.
## Operate at scale
Turn the six clicks you do every morning into a flow, with a safety net that catches quality drops for you.
A Monday round under an hour: read every signal first, clear the queues, then ship one improvement.
## Looking for something else?
Feature-by-feature reference for everything WISEPIM can do.
Setup instructions for every supported platform, marketplace, and supplier.
# Send a different price per channel
Source: https://docs.wisepim.com/en/guides/price-per-channel
A marketplace fee is eating your margin. Add a per-channel markup at export time, with safeguards, and never change the prices you have stored.
A marketplace takes 15% of every order and your margin on that channel no longer works. The obvious move - raise the price - breaks everything else, because that same price goes to your webshop, your comparison feeds, and your partners. So people end up maintaining a second price list in a spreadsheet, and it's out of date within a month.
You don't need a second price list. WISEPIM can add the fee to the price *at the moment products leave for that one channel*, and leave the price stored on your product exactly as it is. Budget about 30 minutes.
**Before you start:** [Pricing & Margins](/en/settings/pricing) needs the **Scale** plan or higher - you can read the page and browse the recipes on any plan, but the master switch, **New rule**, and saving are locked. Cost prices on your products make the safeguards far more useful.
**What you'll get:** the marketplace receives a price that absorbs its fee, every other channel keeps the price you stored, and one switch reverts all of it instantly.
## Three things are called pricing. Pick the right one.
Picking the wrong one is the most expensive mistake in this flow, because one of the three rewrites the prices stored on your products and syncs them onward. Check this table before you build anything.
| Tool | What it does | Reach for it when |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| **[Pricing & Margins](/en/settings/pricing)** | Transforms the price **on export**, per channel. Your stored price is never touched. | A channel needs a different number than the one you keep. |
| **[Discounts & Pricing](/en/products/discounts)** | Changes the prices **stored** on your products, and syncs them to your stores. | You want the price to actually be lower: promotions, volume tiers, B2B groups. |
| **Pricing strategy** in [Web Research](/en/ai/web-research) | Reads competitor prices and **recommends** a number. Nothing is written anywhere. | You don't know what to charge yet. |
This guide is entirely about the first row. If your reaction is "but I do want the price to change", stop here and go to [Discounts & Pricing](/en/products/discounts) instead.
## Build the marketplace-fee rule
The whole mechanism in one line: the rule only fires on the channel you scope it to, and everything else leaves with the price you stored.
```mermaid theme={null}
flowchart LR
A[Stored price] --> B[Channel-scoped rule]
B --> C[Safeguards]
C --> D[Marketplace price]
A --> E[Every other channel]
```
You'll find it in **Settings**, under Import & Export. Click **New rule** and pick the **Marketplace fee** recipe. Recipes only pre-fill the form - everything stays editable, but starting from one means you don't have to remember which calculation type you meant.
"Kaufland +15%" beats "Rule 3" in six months, when someone else is reading your rule list trying to work out why a price looks odd.
This is the step that makes it per-channel. Under **Channels**, choose the marketplace instead of leaving it on **All channels** - a rule with no channel restriction applies everywhere prices go out, including your own shop. You can scope to connected platforms, file exports, a specific [feed](/en/essentials/feed-hub), or a specific [brand portal](/en/other-features/brand-portals).
For a blanket marketplace fee, every product in the channel is usually right. If only part of your assortment sells there, use **Quick add** for brand, supplier, category, or family, and watch the live "≈ N products" chip.
**Percentage markup** is the one that covers a commission. Then set rounding - **Charm .99** or whole numbers keep marketplace prices looking deliberate rather than computed.
The editor keeps a live **In plain words** summary of the rule. If that sentence doesn't describe what you meant, the rule is wrong, and no amount of previewing later will fix it.
Rules run top to bottom and the **first rule that matches a product wins** - everything below it is skipped for that product. If you already have a catch-all rule for this marketplace, drag your specific rule above it, or turn on **Allow stacking**.
## Set the safeguards that stop a bad day
Safeguards are the part people skip and later wish they hadn't. They're optional limits that override the calculation when it goes somewhere you didn't intend, and an empty field simply means "no limit". Set them now, before the preview, so the preview shows you the rule you'll actually ship.
Still in the rule editor, open the **Safeguards** step. **Minimum margin (%)** is the single most valuable one: it stops the rule leaving you below the margin you actually need after the calculation runs, however strange the underlying cost data turns out to be.
Put this on any rule that touches cost price. It's the cheapest protection against one supplier file with a decimal in the wrong place - a price that suddenly moves 400% gets capped instead of shipped.
**Minimum price** and **Maximum price** are for hard limits: a marketplace band you must stay inside, or a psychological ceiling you never want to cross.
This one is project-wide, not per rule: back on the main Pricing & Margins page, open the **Rule defaults** accordion. Cost-based calculations can't run without a cost, so choose whether such a product skips to the next rule, keeps its current price, or keeps it **and gets flagged**. The flag option turns a silent gap into a to-do list.
When a safeguard changes the outcome, the result is labelled - **Margin floor applied**, **Change limited**, **Capped at maximum price**, **No cost price**, **Below cost**. You'll read these in the previews next, so it's worth knowing they exist.
## Preview it, then turn it on
The master switch comes last on purpose. Three previews sit between you and it, each answering a question the previous one can't - the maths, then one real product, then the whole rule set. Work them in that order and the switch is a formality rather than a gamble.
Inside the rule editor, type a price and a cost and read the resulting **Export price** plus the **How it's calculated** trail. It's a sandbox - no real data, and it's where you catch having confused a 40% markup with a 40% margin. They are not the same number.
Still in the editor, but this one runs an actual product through the actual engine. You get the old price struck through, the new price beside it, and the margin and safeguard chips that fired. Do this before you save.
From the main page, **Test on my products** runs a 25-product sample through your whole rule set. Set the channel picker to the marketplace you just scoped rather than leaving it on **All rules, any channel**, or you're testing a different question. **Read the safeguard column, not just the after column** - a lot of safeguard hits usually means a rule is aimed at products it was never meant to touch. **Run again** draws a fresh sample.
**Apply pricing rules on export**, at the top of the page, is what makes any of this real. It's also your escape hatch: switch it off and every export reverts to your stored prices immediately, with nothing to undo, because nothing was ever written to your products.
Prices can come back in from a channel. **Smart** works out whether an incoming price is genuinely new or just your own marked-up price coming home, and only stores the real changes. It exists precisely to stop your exported price becoming your new cost base.
Once rules are active, the price in your product list will differ from the price the marketplace receives. That's the feature working correctly - but say it out loud, or somebody spends an afternoon hunting a mismatch that's by design.
## How to tell it worked
| Signal | Where to look | When it moves |
| ------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Products evaluated vs adjusted | **Test on my products** chips | Same session, on a 25-product sample |
| Safeguard hits, and which ones | The safeguard column in the same test | Same session - a high count means re-scope the rule |
| Export price ≠ stored price | The exported file, or the [feed](/en/essentials/feed-hub) row for a SKU you know | On the very next export or feed generation |
| Gross margin % for that channel | [Profitability](/en/analytics/profitability) | Only once orders arrive, and only if costs are set on your products |
| Products selling below cost | The red-flagged rows in Profitability | Same reporting period - treat these as same-day work |
Pricing rules use **no AI credits**, so previewing and re-testing costs you nothing but time. Test more than feels necessary.
## When it doesn't work
Work down the list in this order: is **Apply pricing rules on export** on, is the rule itself **Active**, does its **Channels** scope actually include the destination you exported to, and is there a rule above it that matched the product first? Rules stop at the first match, so a catch-all sitting above your specific rule will swallow it - drag the specific one higher, or switch on **Allow stacking**. The "≈ N products" chip on the rule tells you straight away if the product scope is wrong.
That's almost always cost data rather than the rule. Run **Test on my products** and read the safeguard chips: **No cost price** and **Below cost** point straight at the products with bad or missing costs. Add a **Maximum change (%)** so the next bad supplier file gets capped instead of exported.
Check **Import price handling**. **Smart** is the recommended default because it recognises your own exported price returning; **Reverse the markup** runs an incoming price backwards through the rule before storing it, and **Never import prices** makes your stored price the only truth.
Pricing rules need the **Scale** plan or higher. The page stays readable on any plan - you can browse the recipes and the safeguards, but saving is gated with a note pointing at the upgrade.
Turn off **Apply pricing rules on export**. Every export reverts to your stored prices on the spot. Nothing needs undoing, because nothing was ever written to your products. Stop the bleeding first, debug afterwards.
## Related
Every calculation type, safeguard, and import option in full.
Scope a rule to a portal so each partner sees their own price level.
Get the channel accepting your feed before you worry about its fee.
The B2B catalog these partner price levels usually go with.
# Sell to wholesalers with ETIM and BMEcat
Source: https://docs.wisepim.com/en/guides/sell-to-wholesalers
Your wholesaler wants a BMEcat catalog and you have never heard of ETIM. Adopt the classes, fill the features, and send the file they can actually import.
A wholesaler, buying group, or installer chain has told you they need your catalog "in BMEcat, ETIM 9". They will not take a spreadsheet, and this isn't a preference - in electrical, HVAC, and plumbing trade it's a hard condition of being listed at all. Nobody has explained what any of it means.
Two unfamiliar words, and neither is as hard as it sounds. **ETIM** is a shared vocabulary for product types: where you say "circuit breaker" and someone else says "MCB", ETIM assigns that product type one class code, and each class comes with a fixed list of technical features, the unit each one must be measured in, and - for the features that need it - the exact set of values you're allowed to use. Your partner's system already knows every class code, so nobody has to learn your attribute names. **BMEcat** is the XML file that carries all of that between systems: it's the envelope, and ETIM is the language written inside it.
The order below follows from one fact. A BMEcat feed has **no field mapping to configure**; what lands in the file is decided entirely by the ETIM class each of your product families is linked to. So you classify first, fill the features second, and generate the file last. Budget a day for a first catalog of a few hundred products.
**Before you start:** an administrator must import the ETIM release your partner asked for - nothing below works until that's done, because [Classification](/en/products/classification) only ever browses the newest fully imported release. An empty class catalog means the release is missing, not that you configured something wrong.
**What you'll get:** your product types linked to their ETIM classes, a conformance score per product telling you exactly what's still missing, and a BMEcat feed your partner can import as-is.
## Adopt the classes your products belong to
Adopting a class does most of the work for you: it builds a ready-made [product family](/en/products/product-families) with one attribute per class feature, so you never define the structure by hand. If you already have families that cover these product types, skip ahead to the next section and let mapping review link them instead.
**Products → Classification**. The hub header shows the current ETIM release, its languages, how many classes you've adopted, and any pending mapping suggestions. Confirm the release matches what your partner asked for.
Search by name, by code like `EC000034`, or by trade synonym like "MCB" - search spans the whole release. **Your groups** shows chips for the ETIM product groups your project actually works in, most-used first, which is usually a faster start than browsing.
Click **View class** and read the feature table: each feature's code and name, whether it's required, its type, the unit ETIM prescribes, and the permitted values for select features. This tells you exactly which data your products will need, so you find out now rather than at export time.
**Adopt class** shows what will be created before anything is written: a family named after the class, one attribute per feature, value lists for select features, and the prescribed units. Nothing is overwritten and you can edit all of it afterwards.
Products in the family get the standard's attributes immediately. Repeat for each product type your partner is buying - you don't need to classify the whole catalog to send a first catalog.
## Link the catalog you already have
If you already have families and attributes, do not redo them by hand. On the **Mapping review** tab of Classification, the engine compares what you own against the standard and proposes the links for you to confirm. Work the tiers cheapest-first: the fast tiers clear most of the queue for free, so the slow AI tier only ever sees what's genuinely ambiguous.
Click **Run mapping**. This runs the memory, exact, and fuzzy tiers, which finish in seconds. Every suggestion carries a tier chip telling you how it was found and therefore how much scrutiny it deserves.
In the bulk bar, **Select safe matches** ticks every suggestion the engine is at least 90% confident about - memory and exact matches, the ones that are almost always right, and one click adopts the whole selection. This clears most of the queue in seconds.
Fuzzy matches are close-but-not-identical names and deserve a glance. Each card puts your family or attribute next to the proposal with a confidence percentage and a plain-English rationale. Runner-up candidates appear as **close alternatives**; adopting any one of them settles the whole suggestion.
**Run AI mapping** sends the leftovers to the AI tier. It's slower, so it belongs here rather than at the start. Read the model's reasoning on each card before accepting.
**Pick a different class…** lets you search the standard yourself when the proposal is wrong but you know the right code. Your correction is learned by the memory tier, so the engine gets it right next time. **Dismiss** hides a suggestion permanently.
## Fill the features and check conformance
A linked class doesn't mean a complete product - it means you now know exactly what's missing. Do this before you build the feed: the generation stats can tell you a product was skipped, but only this tab tells you which feature is wrong and why.
Once a product's family is linked to a class, the product editor and Quick Edit gain an **ETIM** tab with a conformance score: how many of the class's features are valid on this product.
The checklist explains every failure in plain English - "No value yet", "Add a unit", "Value isn't in the permitted list", "Unit isn't an ETIM unit". These are the exact complaints your partner's import tool would raise, surfaced before you send anything.
Every failing row carries a **Fix** jump straight to that attribute. For a handful of features, this is faster than anything automated.
When features are missing or invalid, an **Auto-fill with AI** button appears. It fills the missing ones, corrects the invalid ones, and re-scores instantly. It costs **1 credit per run**, and the button only shows when there's something to fix, so a conformant product never triggers a paid no-op.
Anything the AI can't determine confidently is skipped and annotated rather than guessed - which is the behaviour you want on technical specs, but it means a blank feature after a run is a real gap. Fill those from your supplier's datasheet.
ETIM conformance also feeds into your [Data Quality](/en/analytics/data-quality) score, so this work shows up in your overall catalog health rather than sitting in a corner of the product editor.
## Deliver the catalog
In [Feed Hub](/en/essentials/feed-hub), create a feed and pick the **BMEcat 2005 (ETIM)** channel. It works differently from every other channel in one important way: **there is no field mapping to configure**. What ends up in the catalog is decided by the ETIM class each family is linked to, which is why the classification work came first.
This is how the catalog identifies itself to your trading partner: supplier name and ID (GLN, D-U-N-S, or a supplier-specific code), territory, catalog ID, version, and name, plus an optional buyer name and ID for a catalog built for one specific partner. Everything is optional and empty fields fall back to your project and feed name, but a partner's import usually expects these filled.
Leave it on **Automatic** while you're still setting up. Once your partner has validated their import against your catalog, pin it: an automatic release bump on your side can break a spec they built against the older release.
After each generation the card reports how many articles, features, and values were exported - and how many products were skipped because their family isn't linked to an ETIM class, with a link straight back to Classification to fix it. A skipped count is your remaining to-do list.
When a partner wants to browse rather than import, a [Brand Portal](/en/other-features/brand-portals) gives them a live, read-only catalog on one link. Scope it to what they buy, switch off the sensitive columns (cost price, supplier, margin), and turn on **Apply pricing rules** so they see their own price level from [Pricing & Margins](/en/settings/pricing) rather than your stored price.
## How to tell it worked
| Signal | Where to look | When it moves |
| --------------------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------- |
| Adopted classes and pending suggestions | Classification hub header | Live - adopted count rises, pending count falls as you work the queue |
| ETIM conformance score on a product | The **ETIM** tab in the product editor | On the spot - auto-filled rows flash green and the score recalculates |
| Articles, features, and values exported | The BMEcat card after generation | Every generation; all three should grow as you fill features |
| Products skipped for having no class | The same card | Take it to zero before you send the catalog |
| ETIM conformance dimension | Feed quality panel on the BMEcat feed | After each generation |
| Overall data quality | [Data Quality](/en/analytics/data-quality) | Over days, as conformance improves across the classified part of the catalog |
## When it doesn't work
ETIM class data is loaded per release by an administrator, and WISEPIM only browses the newest fully imported release. There is no setting on your side that fixes this: ask your administrator to import the release your partner specified, and check the release name in the Classification hub header once they have.
A skipped product means its family isn't linked to an ETIM class, so BMEcat has nothing to write for it. The generation card names the count and links straight back to [Classification](/en/products/classification). Two fix paths: adopt the class for that product type, or if you already have a suitable family, run **Mapping review** and adopt the family→class match. Regenerate and the skipped count should fall.
Two different symptoms, same cause. If your **partner's** import broke, your feed was on **Automatic** and moved to your newest installed release, invalidating the spec they validated against - pin the feed to the release they built on. If your **own** adopted family now looks out of date, open the class and click **Re-sync family**: it refreshes against the imported release and existing attributes keep their data.
By design: anything the AI can't determine confidently is skipped and annotated rather than guessed, which is the behaviour you want on technical specs. Those features need a real source - your supplier's datasheet, or a [Web Research](/en/ai/web-research) run to pull the specs in - then re-open the ETIM tab and re-score.
ETIM validates more than presence, so read the reason on the row. The unit has to be an ETIM unit, and a select value has to be in the class's permitted list - "Add a unit" and "Value isn't in the permitted list" are the two you'll see most. The **Fix** jump takes you to the attribute; **View class** lists every permitted value with its EV code so you can match it exactly.
## Related
The full reference for browsing, adopting, mapping, and conformance scoring.
BMEcat feed configuration, release pinning, and importing a supplier's BMEcat.
Give each wholesale partner their own price level without a second price list.
The retail equivalent: get a marketplace or shopping feed accepted first time.
# Use WISEPIM as a smart layer on your PIM
Source: https://docs.wisepim.com/en/guides/smart-layer-on-your-pim
Keep Akeneo or your existing PIM as the system of record and put WISEPIM on top as the AI layer: import, enrich, gate, and send the results back.
You already have a PIM. It took a year to model, three departments agreed on the attribute tree, and your ERP writes into it every night. Nobody is going to sign off on replacing it, and honestly nobody should. What it cannot do is write two thousand product descriptions in four languages, or tell you which of them are too thin to sell.
So don't replace it. Put WISEPIM on top of it: pull the catalog in, let the AI do the writing and the checking, and send the result back. Your PIM stays the system of record and gains the one capability it was never built for.
This is the deliberate alternative to [migrating your catalog](/en/guides/migrate-your-catalog) - read that one instead if the goal really is to leave your old platform behind. Budget about half a day for the first loop, most of it spent deciding who owns which field.
**Before you start:** you need admin access to your PIM so you can create a connection - for [Akeneo](/en/integrations/akeneo) that is a connection under **System → Connections** with read and edit permission on products, and a WISEPIM project you can fill with a copy of the catalog.
**What you'll get:** a repeatable round trip where your PIM keeps the master data, WISEPIM writes the content, and only quality-checked products travel back - plus channels your PIM never served, fed straight from WISEPIM.
The loop runs in one direction and branches once, at the gate:
```mermaid theme={null}
flowchart LR
A["Your PIM"] --> B["Import"]
B --> C["Enrich"]
C --> D["Quality gate"]
D --> E["Back to the PIM"]
D --> F["Feeds and channels"]
```
## Agree who owns which field
Do this before you connect anything. Every painful moment in a two-system setup comes from the same root cause: both systems believe they own the same field, and whichever one wrote last wins. Decide the split on paper first, and the rest of this guide is just configuration.
A split that works for most teams, and the mechanism that keeps each side honest:
| Data | Owner | What keeps the split intact |
| ---------------------------------------- | -------- | ------------------------------------------------------------------------------------- |
| SKU, EAN, price, stock, supplier | Your PIM | Re-imported every cycle; nothing in WISEPIM generates them |
| Attribute model and category tree | Your PIM | Comes across with the products on your first platform import |
| Titles, descriptions, short descriptions | WISEPIM | Written by AI, and protected on the next import by **Skip empty fields** |
| SEO title and meta | WISEPIM | Generated here; check whether your PIM even has fields to receive them back |
| Translations | WISEPIM | Generated per language; test what your PIM accepts before you rely on the return trip |
| Quality rules and compliance | WISEPIM | [Quality Guard](/en/quality-guard/overview) runs on every export, sync, or publish |
A shared doc with two columns is enough. The rows that need the most thought are the ones your PIM technically has but nobody maintains - an empty `meta_description` in Akeneo is a field WISEPIM should own, not a field to keep syncing blank.
Follow the setup for [Akeneo](/en/integrations/akeneo), or find yours on the [supported platforms](/en/integrations/supported-platforms) page. Connect it before anything else: only connected integrations appear in the import and export modals.
Use **Test Connection** on the integration and fix credentials now. A connection that authenticates but lacks edit permission on products imports happily and fails on the way back, which is the expensive place to find out.
No integration tile for your system? The [WISEPIM REST API](/en/settings/api) reads and writes products programmatically, which is the path for an in-house PIM. The rest of this guide still applies - only the transport changes.
## Import so the PIM can never clobber your content
The first import is easy. The second one is where catalogs get damaged: your PIM exports a product with an empty description field, WISEPIM already has a good description in it, and the wrong setting turns your enrichment into a blank. Set the defaults once, in [Import settings](/en/settings/import), and every recurring pull behaves the same way.
Conflict resolution decides what happens when an incoming product already exists in WISEPIM. This project-wide setting governs platform and integration imports, so it is the one that applies to every pull from your PIM. **Overwrite** replaces every field on the matched product - on a smart-layer setup that is the option that erases your AI content. Read the three options in [Import settings](/en/settings/import) and pick deliberately.
**Skip empty fields** keeps the existing WISEPIM value when the incoming field is blank. That single setting is what lets a sparse PIM export flow in every night without wiping the fields WISEPIM owns.
Add an import filter so the first run brings in a few hundred products rather than the whole catalog, then check them. You want to discover a mapping surprise on a sample, not on 40,000 records.
On a first platform import WISEPIM pulls your categories and attributes across alongside the products, so open the category tree and the attribute list and compare them to your PIM. A right-looking product count can still hide a branch that flattened. See [importing products](/en/essentials/importing-products).
Fields your PIM does not send fall back to your [Product Template](/en/settings/templates) defaults. Those defaults apply only when a product is **created** and never when one is updated, so a nightly re-import cannot quietly overwrite a real value with a default.
Imported the wrong store, or the wrong scope? Open the import task in the [Process Tracker](/en/other-features/process-tracker) and choose **Rollback**, before you enrich on top of it.
## Enrich, gate, then send it back
Now the layer earns its keep. Two enrichment tools, and the choice between them is exactly the ownership question again: are you filling holes your PIM left, or replacing content your PIM holds?
[Auto-Fill](/en/ai/auto-fill) writes only the fields that are empty and leaves existing content alone, which makes it the safe default when your PIM's content is worth keeping. It runs on your project's default prompts, so set those in [Enrich Prompts settings](/en/settings/enrich-defaults) first.
[Bulk Enrich](/en/ai/bulk-enrich) always overwrites the fields you pick. That is right for a range whose copy nobody defends, and wrong for anything your PIM is still the author of - so run it on a filtered selection, never on "all products" out of habit.
[Quality Guard](/en/quality-guard/overview) runs automatically on every export, sync, or publish, so the rules you activate become the gate your PIM sits behind. Rules with **Block** severity hold failing products in [quarantine](/en/quality-guard/quarantine) instead of shipping them, which is exactly the behaviour you want when the destination is your system of record.
Filter to a few representative products, [export](/en/essentials/exporting-products) them to your PIM, and read the result in the PIM itself. Confirm on that sample that the fields you expected to change changed, and the fields your PIM owns did not.
**Skip unchanged** is on by default for platform exports, so after the first full push every sync only sends products that actually changed. Save the setup as an [export template](/en/settings/export-templates) so the recurring job is one click.
Field-level column selection is documented for CSV and Excel exports. If you need tight control over exactly which fields travel back into your PIM, a column-picked file export is the documented way to limit them - check what a direct platform push sends on a test batch before you run it at scale.
## Serve the channels your PIM was never going to
The round trip is only half the argument for a smart layer. The other half is everything you can publish from WISEPIM without involving your PIM at all - and this is usually where the setup pays for itself first, because it needs no round trip to be safe.
In [Feed Hub](/en/essentials/feed-hub), create a feed from a channel preset - Google Shopping, Meta, price comparison sites, affiliate networks, BMEcat for wholesalers, and more. Each feed gets a URL the channel fetches on its own schedule, so nothing has to travel back through your PIM to go live.
Feed Hub's filter rules drop products below a quality threshold, without a price, or without an image before they reach the channel. That is a second gate, independent of the one guarding your PIM.
Build an [automation](/en/automations/overview) with an **After Import** [trigger](/en/automations/triggers) so a fresh pull from your PIM is enriched the moment it lands, and finish it with a notification. The full build is in [Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline).
[Integration Health](/en/analytics/integration-health) shows last sync, failure rate, and last error per channel over a rolling 30 days. In a two-system setup this is the page that tells you the loop broke, usually before anyone notices stale content.
## How to tell it worked
| Signal | Where to look | When it moves |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| The import is not eating your content | Spot-check enriched products after the second import from your PIM | On the next scheduled pull - this is the check that matters most in month one |
| Content is export-ready | [Quality Guard](/en/quality-guard/overview) compliance rate, quarantine count near zero | On the next check after a rule change or a data fix |
| The return trip lands | Your PIM's own product screen, on a spot-check, plus the job result in the [Process Tracker](/en/other-features/process-tracker) | As each export job completes |
| The loop stays healthy | [Integration Health](/en/analytics/integration-health): failure rate under 3 % is green, 3–10 % is worth investigating | Rolling 30-day window |
| The layer is paying for itself | [Enrichment Impact](/en/analytics/enrichment-impact) net lift | Not for at least a month - it compares 30 days before against 30 after, and reads **Low** confidence until enough sales land |
A healthy smart layer is quiet: imports that change only master data, exports that skip most products because nothing changed, and feeds your PIM team never had to think about.
## When it doesn't work
Two settings decide this, both in [Import settings](/en/settings/import): conflict resolution, where **Overwrite** replaces every field on a matched product, and empty-field handling, where **Skip empty fields** is what preserves an existing value against a blank incoming one. Fix the settings first, then restore the content with an enrichment run rather than by hand.
Check the validation mode. **Strict** rejects any row with missing required fields or invalid formats, which a real PIM export will trip over regularly; **Standard** imports the valid rows and reports what it skipped. Also check whether an import filter is narrowing the pull. Both live in [Import settings](/en/settings/import).
That pattern is almost always permissions rather than credentials: the connection can read but not write. For [Akeneo](/en/integrations/akeneo), confirm the connection's user group has permission to read *and edit* products and product attributes, then re-run **Test Connection**.
With **Skip unchanged** on, products unchanged since the last export to that destination are skipped on purpose. Turn it off to force a full re-push, which is what you want after changing the destination's settings. See [exporting products](/en/essentials/exporting-products).
A [Quality Guard](/en/quality-guard/overview) rule with **Block** severity quarantines a product instead of exporting it. Open [quarantine](/en/quality-guard/quarantine), read the failure reason, fix the underlying field in bulk, and release the batch. On a large catalog a single blocking rule can hold up the whole return trip, so review the impact before you activate one.
## Related
Create the connection, add the credentials, and sync your catalog both ways.
Every destination, template, and the skip-unchanged option in full.
The other route: leave the old system instead of layering on top of it.
Turn the import-enrich-export loop into an automation you never start by hand.
# Teach WISEPIM your house style
Source: https://docs.wisepim.com/en/guides/teach-wisepim-your-house-style
AI wrote thousands of descriptions and they all sound the same. Give it your brand context in the right order, then re-run the catalog and hear the difference.
You enriched 5,000 products and the copy is technically fine and completely forgettable. Every description opens the same way, nothing sounds like your brand, and half of it uses words your style guide bans. The instinct is to blame the AI, but the usual cause is that nobody told it who you are, so it wrote the only thing it could: average.
The fix is an order of operations, not a setting. Budget about two hours for the setup and a short review after each run.
**Before you start:** pick a project in the project switcher, because [Knowledge Library](/en/other-features/knowledge-library), [Keywords](/en/settings/keywords), and prompt defaults are all project-scoped. If this is a brand-new project, do [1. Set up](/en/guides/first-catalog/set-up) first - this guide is the deeper pass for a catalog that is already enriched and sounds generic.
**What you'll get:** brand context the AI reads on every run, one proven prompt per content type set as your project default, and a re-enriched catalog that sounds like your team wrote it.
## Give the AI something to sound like
Do this before you touch a prompt. Every AI feature in WISEPIM reads from the [Knowledge Library](/en/other-features/knowledge-library), so filling it once improves everything downstream at the same time - and a prompt tuned against an empty library is tuned against the wrong baseline, which means tuning it twice.
Open the [Knowledge Library](/en/other-features/knowledge-library) from the main menu and start with the **Brand identity** card: brand story, voice, and values. It is the foundation the other categories build on, and the first place to look whenever output feels off-brand later.
Copy from existing brand guidelines, a tone-of-voice doc, or customer research. Writing it from scratch in the form is the slow route and usually produces vaguer input. Progress saves as you type.
Move on to **Brand voice**, **Target audience**, **Value proposition**, and **Content requirements**. Finishing a card before starting the next keeps your context coherent rather than half-answered everywhere, and the overview's completion percentages show you which one to open next.
Name tone adjectives, quote phrases your brand actually uses, and use the exact terms your industry uses. Vague input gives vague output, which is the whole problem you are here to solve.
In [Keywords](/en/settings/keywords), put off-brand wording and competitor names on the **Negative** tab so AI keeps them out, and your must-use terms on the **Positive** tab at **High** priority so they carry more weight. Scope them by locale and target field so they only appear where they belong.
## Prove one prompt before you trust it
Now, and only now, work on prompts. [Prompt Lab](/en/essentials/prompt-lab) runs a prompt against a real product and shows the result beside the original, with nothing written to your catalog, so it is where you find out whether the brand context alone already fixed things.
Click **Load Product** and pull in a SKU from your current project. An existing description gives you a real before-and-after instead of a comparison against nothing.
Hit **Test Prompt** and read the output. This is what your brand context alone produces, and it is often already better than what you had. Each test takes roughly 30 to 60 seconds, which is why the next step matters.
In the prompt configuration panel, adjust industry, purpose, tone of voice, or point of view, then test again. Changing several at once tells you the result improved but not which change did it.
Run the winning prompt across a few products from each category, including ones with minimal data. A prompt that only works on your best-documented product will disappoint at catalog scale - and that is the failure you cannot undo once it has run on 5,000 products.
Save the winner into your [Prompt Library](/en/essentials/prompt-library), then open [Enrich Prompts settings](/en/settings/enrich-defaults) and assign a default per content type. Nothing applies until you hit **Save changes**. Defaults mean your whole team enriches with the same voice without remembering which prompt to pick.
## Re-run the catalog
[Bulk Enrich](/en/ai/bulk-enrich) regenerates the fields you choose across every selected product, using those defaults. It is the right tool here precisely because you want the old, off-brand copy gone, which also means there is no undo. Run it last, and only once the checks below all pass.
| Before you start the bulk run | How you confirm it |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Brand identity is filled in, not stubbed | Story, voice, and values each hold real sentences you would defend in a meeting |
| The cards that carry your voice are done | Completion percentages on the [Knowledge Library](/en/other-features/knowledge-library) overview for brand voice, audience, value proposition, and content requirements. You do not need every field, just no empty card |
| Banned words are on the list | The **Negative** tab in [Keywords](/en/settings/keywords) holds your competitor names and off-brand wording |
| No content type is left on "No default" | Every dropdown in [Enrich Prompts settings](/en/settings/enrich-defaults) is assigned and saved |
| The prompt survived a sparse product | A [Prompt Lab](/en/essentials/prompt-lab) test on a thin product still reads on-brand |
On the Products page, filter to a single category, click **Enrich with AI** in the toolbar, and open **Bulk Enrich** - the first card in the **Start here** shelf. A category is large enough to be representative and small enough to abandon.
Everything is pre-selected except attributes, which are opt-in because re-deriving them in bulk is rarely what you want. The **Combine into fewer calls** switch changes what you pay: combined, two or more fields cost less per product than running each field separately. Then **Start Bulk Enrich**.
Do they sound like your brand? Are the banned words gone? Do the must-use terms appear naturally rather than bolted on? If not, go back to the Knowledge Library card that covers the gap before you run anything else.
Once a batch reads right, select the remaining products and run the same configuration. Track it in the [Process Tracker](/en/other-features/process-tracker); if a run stops early, **Resume** finishes the untouched products without charging for them again.
Content that repeats across many products - warranty wording, shipping promises, brand taglines - is better held once as a [Content Logic](/en/workflows/content-logic) variable than retyped into every prompt. Change it in one place and every prompt that uses it follows.
Bulk Enrich always overwrites the fields you select. Check the product count in the modal header before starting, especially when you are running on all matching products rather than a ticked selection.
## How to tell it worked
Reading a handful of products tells you whether the voice landed. [AI Quality Review](/en/analytics/quality-review) tells you whether it landed across the catalog, because it reads content the way a demanding customer would rather than just checking that fields are filled. Find it in the Analytics sidebar under the quality section, or start it straight from a product selection.
| Signal | Where to look | When it moves |
| --------------------------------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| Content Quality dimension | [AI Quality Review](/en/analytics/quality-review), dimension radar | A few minutes after the review run finishes |
| Consistency dimension (brand spelling, units, formatting) | Same review, same radar | Same run. This is the one that catches "all sounds the same" the other way round |
| Overall score above 4.0 | AI Quality Review dashboard | 4.0–5.0 reads as good, below 3.0 as needs work. The dashboard also projects the score you would reach by applying the open suggestions |
| Banned words gone | Spot-check ten products in the products table | Immediately after the Bulk Enrich run |
| Knowledge Library completion | Per-card progress on the Knowledge Library overview | Live as you type, before you enrich anything |
Run the review with the **Prelaunch** or **Conversion** intent preset for house-style work. Those presets select the text dimensions, so you are not paying vision credits for image checks that say nothing about tone.
## When it doesn't work
Brand voice and brand identity are almost certainly thin - vague input gives vague output. Add concrete tone adjectives and example phrases your brand actually uses, then re-test the same product in [Prompt Lab](/en/essentials/prompt-lab) before re-running a batch. No prompt tuning compensates for an empty library.
Generic output is usually missing selling points, not missing tone. Fill in **Value proposition** and **Content requirements** in the [Knowledge Library](/en/other-features/knowledge-library) - your specific benefits, and the must-have details every description should carry - then re-run one category.
You tuned against one well-documented product. Re-test the prompt on products from each category, including ones with sparse data, and save the version that survives all of them. If the weak results all come from thin source records, fix the source data first - AI writes from what is in the product.
That content type has no default prompt assigned, so it is excluded from the run. Assign one per type in [Enrich Prompts settings](/en/settings/enrich-defaults) and save, or pick a prompt for that field in the modal for this run only. The field becomes selectable either way.
Turn the finding into a standing check instead of re-fixing it. [AI Quality Review](/en/analytics/quality-review) offers **Add guard rule** on an issue, which drafts a [Quality Guard](/en/quality-guard/rules) rule for you - it arrives inactive, so review it and switch it on.
Bulk Enrich overwrites by design. When you only want to fill gaps and leave hand-written copy alone, use [Auto-Fill](/en/ai/auto-fill) instead - same fields and same prompts, but it only touches empty fields unless you deliberately raise its overwrite threshold, and a low threshold upgrades your weakest content without touching the good stuff.
## Related
Every section the AI reads before it writes a single word.
Test a prompt on a real product before it touches your catalog.
Fix the terminology drift that survives a rewrite.
Now make that on-brand copy earn the click in search results.
# Run a weekly catalog health routine
Source: https://docs.wisepim.com/en/guides/weekly-maintenance-routine
Nine screens tell you to check them regularly and none says when. This is the Monday round that keeps quality, feeds, and syncs healthy in under an hour.
Nine screens in WISEPIM tell you to "check this regularly". None of them tells you when, in what order, or how they relate to each other. So you check whatever you happen to open, miss the thing that actually broke, and find out three weeks later that a sync has been failing quietly since the start of the month.
This guide is the missing cadence: one round of nine stops, always in the same order. Read the signals, clear the queues, then spend what's left building one thing. The order is the point - the reading stops are what tell you where the fixing time should go, and doing it the other way round means you fix whatever you happened to open first.
Monday specifically, because [Competitor Intelligence](/en/analytics/competitors) re-analyzes your rivals every Monday and stop 3 is only fresh on that day. Budget 45 to 60 minutes: roughly 15 reading, 20 clearing, and the remainder building.
**Before you start:** you need a project with products and at least one connected channel under [Integrations](/en/integrations/supported-platforms). Reports that read sales data, like [Smart Insights](/en/analytics/smart-insights), also need order history to say anything useful.
**What you'll get:** a repeatable hour that ends with green syncs, an empty quarantine queue, and one improvement shipped, instead of a vague feeling that something needs attention.
## Read the signals - about 15 minutes
The first four stops are read-only, and they run broadest to narrowest: your whole catalog, then the money, then the market, then the plumbing. Write findings down instead of acting on them. The one exception is stop 4 - a red channel is costing you sales right now, so that one you fix on sight.
Start at the [Overview](/en/overview). Read the health score and its trend, then the daily briefing, then skim the action queue, which is already ranked by how much each gap moves your score. A drop since last week almost always traces back to an import or a sync that brought in incomplete data, and the recent-activity feed will name it.
Open [Smart Insights](/en/analytics/smart-insights). Its rollup splits everything into money you are losing to a fixable cause, metrics heading the wrong way, and upside worth chasing. A large recoverable total spread over only a handful of SKUs is the highest-value thing on your screen this morning; note it and move on.
Read **What changed since last analysis** on [Competitor Intelligence](/en/analytics/competitors), then the **Start here** card: it names your single highest-impact move with impact and effort chips, so you can judge it in seconds. Note it - it is a strong candidate for the build at the end of the round.
The stop that catches silent failures, and the one place you break the read-only rule. [Integration Health](/en/analytics/integration-health) lists every connected channel with its last sync, failure rate, and last error. Under 3% failure over 30 days is healthy; 3–10% is amber and worth investigating; 10% or more is red and means customers are seeing stale prices, stock, or content right now. The **Last error** column is your diagnosis - it usually says outright whether a token expired or a product was rejected.
## Clear the queues - about 20 minutes
Now act, in this order: the queue that is actively blocking revenue first, then the counts, then the two systems that fail without telling you. This is the housekeeping that stops small problems compounding into the score drop you would otherwise read about next Monday.
Nothing in [quarantine](/en/quality-guard/quarantine) can be exported, synced, or published, so every entry is a product not earning. Open each one to see the field, the expected value, and the actual value, fix the data, and resolve. After a bulk fix, use bulk resolve to clear the affected entries in one go rather than clicking through them.
On the Products page, open the [filter modal](/en/products/filtering-products) and go to the **Presets** tab. Each preset card carries a live count, so the **Quick Fixes** group - low quality, unreviewed, no image, no category - works as a weekly scoreboard. Compare against last week and work only the one that grew; the others can wait a week without costing you anything.
In [Feed Hub](/en/essentials/feed-hub), open each main feed, click **Recalculate** on the Feed Quality panel, and read which of the six dimensions is weakest. Then open **Generation History**, select the two most recent versions, and click **Compare**. An unexpected drop in product count is the cheapest problem you will ever catch, and it is invisible on every other screen in this routine.
Open the [automations dashboard](/en/automations/overview) and scan the success rate on every workflow whose status is **Active**. Anything below 80 % needs **View History** opened, because unlike a manual job, a failing automation never tells you it stopped working - it just quietly stops doing the thing you stopped doing by hand.
## Finish with one build - the rest of the hour
The time you have left goes into building something, not reading a tenth dashboard. Open the [Strategy](/en/analytics/strategy) report, toggle **Quick wins only**, and ship exactly one initiative from the top. Each opens a drawer with the estimated revenue impact and its confidence, the affected products, and a one-click action that starts the work. Pick the one that matches what stops 1 to 4 told you, and close it before you open another.
One quick win a week beats one big audit a quarter. If an initiative keeps coming back, like enriching every newly imported product, stop shipping it by hand and [wire it to an automation](/en/guides/automate-your-enrichment-pipeline) instead.
## How to tell it worked
A healthy week looks unremarkable: every channel green, the quarantine queue empty, and a catalog score that is flat or slightly up. Drama is the signal, not the numbers themselves. Run the round three or four times and the week-over-week deltas start doing the work for you, because by then you know what normal looks like.
This is the table to keep. Work it top to bottom.
| Stop | What you read there | What good looks like |
| ------------------------------------------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------- |
| 1. **[Overview](/en/overview)** | Health score and trend, daily briefing, ranked action queue | Trend flat or rising, no unexplained overnight drop |
| 2. **[Smart Insights](/en/analytics/smart-insights)** | Recoverable, at risk, and upside totals | Recoverable total smaller than last week |
| 3. **[Competitor Intelligence](/en/analytics/competitors)** | What changed since last analysis, and the **Start here** card | Fresh Monday analysis, and last week's **Start here** fix actually applied |
| 4. **[Integration Health](/en/analytics/integration-health)** | Last sync, failure rate, and last error per channel | Every channel healthy, none under 3 % failure, none last synced days ago |
| 5. **[Quarantine](/en/quality-guard/quarantine)** | Products held back and the field that held them | Zero pending entries when you close the tab |
| 6. **[Filter presets](/en/products/filtering-products)** | Live counts on the Quick Fixes preset cards | Counts falling, or at minimum not growing |
| 7. **[Feed Hub](/en/essentials/feed-hub)** | Weakest quality dimension, and the last-two-generations diff | Product count between the last two generations matches what you expect |
| 8. **[Automations](/en/automations/overview)** | Success rate on every active workflow | Every active workflow at or above 80 % |
| 9. **[Strategy](/en/analytics/strategy)** | Quick wins, ranked by impact against effort | One initiative closed, not five opened |
If stops 1 to 4 turn up nothing and stops 5 to 8 are already clean, finish early. The routine is a check, not a quota.
## When it doesn't work
You are fixing during the reading half. Keep stops 1 to 4 read-only - write findings down instead of acting on them, and let those notes decide where the clearing time goes. Everything on the Overview action queue and in Strategy is already ranked by impact, so working top-down and stopping when the hour is up is the cheapest possible way to run out of time.
You are treating symptoms. One root cause often breaks several rules at once, so fix the underlying field and then **Bulk Resolve** the entries it cleared, rather than clicking through them one by one. For entries that are genuine, permanent exceptions, **Bypass** with a written reason so they stop reappearing - the reason is kept in the [audit log](/en/quality-guard/audit-log). If you find yourself bypassing the same rule every week, the rule or the incoming data needs changing, not the entries.
Start with the credentials. A failure rate that climbs gradually into the 3–10 % band is the classic signature of an expired token or a rotated API key, and the error is usually a 401 or 403; re-test the connection from [Integrations](/en/integrations/supported-platforms). If the error names a field instead, the channel is rejecting products for missing data - fill it with a bulk edit today, then write the [Quality Guard](/en/quality-guard/overview) rule that stops it recurring. If several channels went amber in the same week, suspect one upstream cause, usually a bulk import that landed products missing a required field.
One of your competitors blocked the scrape. The message names which shops could not be read, and the rest of the analysis is still valid. Try that competitor again on the next run, or spend the slot on a rival you actually lose deals to. See [Competitor Intelligence](/en/analytics/competitors).
Check the recent-activity feed on the [Overview](/en/overview) for an import or sync around the time of the drop, then open the [Process Tracker](/en/other-features/process-tracker) to see what that job actually did. A batch of thin products arriving at once is the usual cause, and the action queue will already list the gaps they introduced.
## Related
The health score, daily briefing, and ranked action queue this routine starts from.
One ranked feed of what changed and why, with an action on every signal.
Take the parts of this round that repeat every week and hand them to an automation.
Do this first if your Monday round keeps surfacing the same structural mess.
# Turn impressions into clicks
Source: https://docs.wisepim.com/en/guides/win-clicks-you-already-rank-for
Your products rank on page one but nobody clicks them. Rewrite the snippets and copy that lose the click, then watch CTR move in the SEO report.
You are already on page one for hundreds of queries. Google shows your products tens of thousands of times a month, and almost nobody clicks. Nothing is broken and nothing needs to be built, the snippet in the search result simply is not doing its job. This is the cheapest traffic in your whole catalog, because you have already paid for the ranking.
Budget about 90 minutes for the first pass, plus a check-in four to six weeks later.
**Before you start:** Google Search Console must be connected and synced, or none of this data exists. Connect it from the app marketplace under [Integrations](/en/integrations/supported-platforms).
**What you'll get:** a short, ranked list of queries where you rank but do not convert the impression, rewritten titles, metas, and descriptions for those products, and a measurable CTR change in the SEO report.
## Find the clicks you are leaving behind
Start with the diagnosis, not the fix. The [SEO & Search](/en/analytics/seo) report already knows which of your pages rank without earning the click, so let it build your working list before you spend a single credit.
In the Analytics sidebar, open [SEO & Search](/en/analytics/seo) and stay on the performance view. It shows impressions, clicks, CTR, and average position together, which is the only place the gap between "seen" and "clicked" is visible.
Choose previous period, or year-over-year if you sell seasonal products. Without a comparison you cannot tell a genuine CTR problem from normal seasonal movement.
The **Quick wins** panel on the performance view lists high-impression, low-CTR queries, exactly the traffic you already rank for. This is your backlog, in priority order, for free.
A position between 4 and 10 with a CTR well below 3% is the classic quick-win shape. Check it against the benchmark table at the top of the report, which tells you what counts as good, average, and poor for e-commerce.
Filter for high impressions, sort by CTR ascending, and note the products behind those pages. Those products, not the queries, are what you select in the next section - every fix in this guide is applied per product.
## Rewrite what shoppers actually see
Two different things lose the click, and they need fixing in this order. The snippet in the search result decides whether anyone clicks at all; the description on the page decides whether that click was worth anything. Fix the snippet first, because it is the number you are trying to move.
Which enrichment you reach for depends on whether the product has real query history behind it:
| Pick this | When | Because |
| ----------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SEO Title & Meta Description](/en/ai/seo-meta) | The default for every product on your list | It writes only the meta fields, so your storefront copy is untouched and you are testing one change at a time. It needs no query history. |
| [Search Intent](/en/ai/search-intent) | Your highest-impression products | It reads that product's own Search Console queries from the last 90 days and rewrites the description to match them. Products with no query data are skipped. |
On the Products page, tick the products you identified, or apply a filter and select all matching results so you catch the ones on later pages too.
Click **Enrich with AI** in the toolbar, pick **SEO Title and Meta Description** from the enrichment type grid, and start the run. It writes to the meta fields only, which is why it is safe to run first and measure in isolation.
The **SEO** tab of [Data Quality settings](/en/settings/data-quality) holds the meta title and meta description character limits your products are scored against. Confirm they match what you want, otherwise good snippets will still score badly.
Same modal, **Search Intent** instead - no prompt configuration needed. Save it for products with the most impressions, because they are the ones with the query data that makes it work.
Review five to ten rewritten products against their original queries. If the copy reads like it was written for those searches, run the rest.
## Make the gain hold
A one-off rewrite decays. These steps stop you redoing the exercise every quarter: keywords make every *future* enrichment target the right terms automatically, and internal links get your ignored products crawled in the first place. Do keywords first, so anything you re-run afterwards already knows them.
Pick your project in the project switcher, open [Keywords](/en/settings/keywords), stay on the **Positive** tab, and click **Find opportunities**. It lists Search Console queries your project ranks for but does not yet target, with their clicks, impressions, and average position - proven demand, not guesses.
Open a keyword's row editor and give your best terms **High** priority so AI weights them more. Scope each one to a locale and, if it only belongs in snippets, to the **SEO meta** target field. A keyword applied everywhere pollutes markets and fields it was never meant for. The page autosaves, there is no Save button to hunt for.
Same page, other tab: terms you never want written back in. Tone and banned wording belong there too - [Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style) covers that side of the list in depth.
The link equity view in the SEO report flags products with no inbound links. Run [Internal Linking](/en/ai/internal-linking) on them from the same **Enrich with AI** modal - it needs an existing description to work, so products without one are skipped. Its link-target pool is a snapshot taken at run time, so re-run it after you launch a new category.
Your winning SEO prompt belongs in [Enrich Prompts settings](/en/settings/enrich-defaults) as the project default, so every product added from now on gets the same treatment without anyone remembering to do it.
## How to tell it worked
CTR moves before revenue does, and neither moves this week. Check the SEO report first, and only then look for money.
| Signal | Where to look | When it moves |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| CTR on the reworked queries | Performance view in [SEO & Search](/en/analytics/seo), against the previous period | 4–6 weeks after the rewrite - the window [Search Intent](/en/ai/search-intent) itself recommends |
| A query crossing 3% CTR at the same average position | Same view, against the report's benchmark table | The report treats above 3% as good e-commerce CTR, under 1% as poor |
| Average position holds steady | Same view, same window | Higher CTR at an unchanged position is the clean win; a position drop means something else changed |
| The Quick wins list gets shorter | Quick wins panel | As reworked queries cross the CTR benchmark |
| Orphan products drop | Link equity view in the SEO report | After the Internal Linking run and the next recrawl |
| Net lift on the enriched products | [Enrichment Impact](/en/analytics/enrichment-impact) | 3–4 weeks of post-enrichment sales at the earliest |
Enrichment Impact compares 30 days before against 30 days after each enrichment event, so a check the week after a run tells you nothing. Rows marked low confidence need another 2–4 weeks of sales before they mean anything.
## When it doesn't work
Every number on this page comes from Google Search Console. If the report has no data, the integration is not connected or has not synced yet. Reconnect it under [Integrations](/en/integrations/supported-platforms) and give it a sync before you conclude you have no impressions.
Products that are very new, very niche, or never ranked have no queries in Search Console, so there is no intent signal to act on and they are skipped. Point Search Intent at products with existing organic presence, and use [SEO Title & Meta Description](/en/ai/seo-meta) for the rest - it has no such requirement.
That is the exact symptom this guide addresses: Google is showing your pages more and shoppers are choosing someone else. Rising impressions with flat clicks is a title and meta problem, not a ranking problem, so re-run the snippet rewrite rather than chasing new content. Falling impressions are the other story - that is a ranking drop.
A transactional rewrite on a product whose traffic is informational can move the copy away from what ranked it. Restore the original copy and re-run, or write a description prompt in [Prompt Lab](/en/essentials/prompt-lab) that finds the middle ground and apply it through the Descriptions enrichment instead of [Search Intent](/en/ai/search-intent).
It aims for a handful of contextual links per product and needs anchor points to place them, so a one- or two-sentence description gives it nowhere to go. Enrich those descriptions first, then re-run [Internal Linking](/en/ai/internal-linking). If the links it did add point at unrelated pages, check the product's category assignment - category context drives the matching.
Older, longer meta copy stays in place until you regenerate it. Re-run [SEO Title & Meta Description](/en/ai/seo-meta) on the affected products, and check the limits on the **SEO** tab of [Data Quality settings](/en/settings/data-quality) match what you want scored.
## Related
The report behind every number in this guide: performance, coverage, cannibalization, and links.
Rewrite descriptions from the real queries that found each product.
Make sure the rewritten copy sounds like your brand, not a template.
Keep the quick-wins list short instead of letting it rebuild.
# BigCommerce Integration
Source: https://docs.wisepim.com/en/integrations/bigcommerce
Connect your BigCommerce store to WISEPIM. Create a store-level API account, add the token in WISEPIM, and start syncing your catalog.
Connect your BigCommerce store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to BigCommerce.
Setup takes two steps: create a store-level API account in BigCommerce, then add its credentials in WISEPIM.
You need admin access to your BigCommerce store and a WISEPIM account with an active project.
## Create an API account in BigCommerce
BigCommerce issues an access token when you create a store-level API account.
Log in to your BigCommerce control panel. Go to **Settings** > **API** > **Store-level API accounts**.
Click **Create API account**, name it WISEPIM, and set the **Products** OAuth scope to **Modify** so WISEPIM can read and update your catalog.
BigCommerce gives you a **Client ID**, **Client Secret**, and **Access Token**. Copy them now. The token is only shown once.
Your store hash is in the API path BigCommerce shows you, in the form `https://api.bigcommerce.com/stores/{store_hash}/v3/`. Copy the `store_hash` value.
## Add your credentials to WISEPIM
Enter the values from BigCommerce to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **BigCommerce** integration tile.
Fill in the following fields:
* **Store Hash**: the store hash from your API path
* **Access Token**: the access token from BigCommerce
* **Client ID** and **Client Secret**: optional, only if you need them for your app
* **Storefront URL**: optional, your public store address
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your BigCommerce store is now connected. You can start importing products.
Your access token gives full access to your store's catalog. Never share it publicly or commit it to version control. If you think it is exposed, delete the API account in BigCommerce and create a new one.
## Troubleshooting
Check your store hash first, it is the value between `/stores/` and `/v3/` in the API path. Then confirm you copied the access token exactly, with no extra spaces.
Open the API account in BigCommerce and confirm the **Products** scope is set to **Modify**. Read-only scopes block exports back to your store.
## Related
Pull your catalog from BigCommerce into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to BigCommerce.
See every platform WISEPIM connects to.
# CCV Shop Integration
Source: https://docs.wisepim.com/en/integrations/cvv-shop
Connect your CCV Shop store to WISEPIM. Generate API keys, add them to WISEPIM, and start syncing product data.
Connect WISEPIM to your CCV Shop store to import products, enrich them, and export them back. Setup takes a few minutes.
There are two ways to connect:
* **Install the WISEPIM app from the CCV Shop App Store.** The quickest route, and it sets up your WISEPIM account for you.
* **Generate API keys yourself** and paste them into WISEPIM. Use this to connect a store to a WISEPIM account you already have.
You need admin access to your CCV Shop store, either to install the app or to generate API keys.
## Install the app from the CCV Shop App Store
Install WISEPIM from the CCV Shop App Store and the connection is made for you.
Open the App Store in your CCV Shop admin and search for **WISEPIM**.
Install it and approve the access CCV Shop asks about.
If you do not have a WISEPIM account yet, one is created automatically using the details CCV Shop shares, including your company name. You get a project, and your store is connected and ready to import.
Installed the app? You can skip the two sections below. They are only for connecting a store with API keys.
## Generate API keys in CCV Shop
First, create a key pair in your CCV Shop admin panel.
Log in to your CCV Shop admin panel. Go to **Settings**, then **API & Webhooks**, then open the **API Keys** tab.
Click **Generate new API key** and fill in the details:
* **Description**: a name you recognize, such as `WISEPIM Integration`
* **Permissions**: enable both **read** and **write** for products
Click **Save**. CCV Shop gives you an **API Key** and an **API Secret**. Copy both and keep them somewhere safe. You enter them in WISEPIM next.
## Add the keys to WISEPIM
Next, connect the store in WISEPIM using the keys you just created.
Log in to WISEPIM. Go to **Settings**, then **Integrations**, and select **CCV Shop** from the list of platforms.
Fill in the connection fields:
* **API Key**: your CCV Shop API key
* **API Secret**: your CCV Shop API secret
* **Shop URL**: your store address, such as `https://your-store.ccvshop.com`
Click **Save** to store the configuration.
Run more than one CCV Shop store? Add each as its own connection profile with its own API keys. Imports and exports look up existing products per profile, so products from one shop are never matched against another.
## Test the connection
Confirm that WISEPIM can reach your store before you sync anything.
Go to the **Integrations** page and find your CCV Shop connection.
Click **Test Connection**.
A confirmation message means you are connected. An error usually means a wrong key or shop URL: check both and test again.
Connected. You can now import, enrich, and export products through CCV Shop.
Stuck during setup? Contact our support team and we will help you connect.
## How exports are verified
After every write, WISEPIM reads the product back from CCV Shop per language. If CCV silently ignored a Dutch or German value, the product is marked failed and stays eligible for the next export instead of hiding behind a green task. When every field you asked to export is controlled by CCV's multishop settings, the task reports that CCV Shop controls every requested field and no product data was updated, and retries later. Exports also reset a stale remote discount that would exceed the new price, so a listing never shows a negative amount.
## How images sync
On export, your CCV Shop gallery is made to match your WISEPIM gallery exactly. WISEPIM replaces the whole gallery in one go, so the order you set in WISEPIM is the order your shop shows, and the first image becomes the main product photo.
Because the gallery is replaced instead of added to, exporting the same product again does not stack up copies of your images. Remove an image in WISEPIM and it disappears from CCV Shop on the next export too.
Put your best shot first in WISEPIM. That is the photo shoppers see in category listings and search results on your CCV Shop store.
## Keep your API keys safe
Treat your API keys like passwords. Anyone with them can access your store data.
* Never share your keys or post them publicly.
* Never commit keys to version control.
* Store keys in environment variables where you can.
* Rotate your keys regularly.
* Grant only the permissions the integration needs.
## Related
Pull products from CCV Shop into WISEPIM.
Improve product content with AI.
Send products back to CCV Shop.
# Django Oscar Integration
Source: https://docs.wisepim.com/en/integrations/django-oscar
Connect your Django Oscar store to WISEPIM. Add your API token, test the connection, and start syncing your catalog.
Connect your Django Oscar store to WISEPIM to manage your whole catalog from one place. Django Oscar is an open-source e-commerce framework for Django. Once connected, you can import products, enrich them with AI, and push the improved content back to your store.
Setup takes two steps: get an API token from your Oscar backend, then add it in WISEPIM.
You need admin access to your Django Oscar store and a WISEPIM account with an active project. Your Oscar instance must expose a token-authenticated API for products.
## Get your API token
Django Oscar uses a bearer token tied to a staff account with catalog access.
Make sure your Oscar instance exposes a REST API for products and that you have a staff account that can read and write the catalog.
Generate an API token for that account (for example, a Django REST Framework auth token from your admin), or copy an existing one.
Copy the token. You need it in the next step.
Your store URL is your Oscar base address, for example `https://your-store.com`.
## Add your credentials to WISEPIM
Enter the values from your Oscar store to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Django Oscar** integration tile.
Fill in the following fields:
* **Oscar URL**: your store URL, including `https://` (for example, `https://your-store.com`)
* **API Token**: the token tied to your staff account
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Django Oscar store is now connected. You can start importing products.
Your API token gives full access to your catalog. Never share it publicly or commit it to version control. If you think it is exposed, revoke it in your Oscar admin and issue a new one.
## Troubleshooting
Check your store URL first. It must be correct and start with `https://`. Then confirm you copied the API token exactly, with no extra spaces.
Confirm the token belongs to a staff account with permission to read and write products. A token for a customer account cannot manage the catalog.
## Related
Pull your catalog from Django Oscar into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to your store.
See every platform WISEPIM connects to.
# Ecwid Integration
Source: https://docs.wisepim.com/en/integrations/ecwid
Connect your Ecwid store to WISEPIM. Import your catalog, enrich it with AI, and push optimized content back to your storefront.
Connect your Lightspeed E-Series (Ecwid) store to WISEPIM to manage your catalog in one place. Import your products, enrich them with AI, and push the optimized content back to your storefront in bulk.
This integration syncs products, variants, categories, images, and custom attributes between Ecwid and WISEPIM, in both directions.
## Before you start
Make sure you have:
* An active Lightspeed E-Series (Ecwid) store with admin access
* A WISEPIM account with an active project
* Your Ecwid **Store ID**, **Secret Token**, and **Public Token** (you'll get these next)
## Get your Ecwid API credentials
You need three values from Ecwid to connect: your Store ID and two API tokens.
Log in to your Ecwid control panel at [my.ecwid.com](https://my.ecwid.com). In the left sidebar, go to **Settings** and click **API**.
Your **Store ID** appears at the top of the API settings page. Copy it.
On the same page, find your **Secret Token** and **Public Token**. If they aren't there yet, click **Generate tokens**. Copy both.
| Token | Use |
| ---------------- | -------------------------------------------- |
| **Secret Token** | Server-side calls with read and write access |
| **Public Token** | Client-side operations with read-only access |
Never share your Secret Token publicly or commit it to version control. It gives full read and write access to your store. Only enter it in trusted apps like WISEPIM.
## Connect Ecwid to WISEPIM
With your credentials ready, set up the integration in WISEPIM.
In WISEPIM, go to **Integrations** from the main sidebar.
Find the **Lightspeed E-Series (Ecwid)** tile in the App Marketplace and click it.
Fill in your **Store ID**, **Secret Token**, and **Public Token**.
Click **Test Connection** to confirm WISEPIM can reach your store. When the test passes, click **Save**.
A successful connection test means your credentials are valid and you're ready to import.
## Import products from Ecwid
Pull your full catalog from Ecwid into WISEPIM.
Go to the **Products** page, click **Import**, and select **Ecwid** as the source.
WISEPIM imports your products, including:
* Names and descriptions
* Prices and SKUs
* Stock quantities
* Images
* Categories
* Variants (combinations)
* Custom attributes
WISEPIM maps Ecwid fields to your attributes automatically. To adjust the mapping, open the **Attribute Mapper** from your Ecwid tile on the Integrations page.
### Adjust the attribute mapping
The Attribute Mapper controls how Ecwid fields line up with your WISEPIM attributes. Use it when a field lands in the wrong place or you want to remap data.
On the **Integrations** page, find your Ecwid tile and click **Open Attribute Mapper**.
Check the field mappings and change any that don't match.
Save your configuration so data flows correctly on every import and export.
## Export products to Ecwid
Once your products are enriched, push them back to your store.
On the **Products** page, select the products you want to export.
Click **Export** and choose **Ecwid** as the destination.
Check the export preview, then confirm.
Turn on **Auto-Create Products** in the integration settings to create products that exist in WISEPIM but not yet in Ecwid during export.
### What gets exported
Each export syncs:
* Names and descriptions (including translations)
* Prices, SKUs, and stock quantities
* Images
* Categories and subcategories
* Variant options and combinations
* Custom attributes
## Sell in multiple languages
Ecwid supports a multi-language storefront, and WISEPIM exports translated content into the right language fields. With this you can:
* Translate your catalog with AI translation
* Export each translation to the matching language in Ecwid
* Keep terminology consistent across every language
Set your target languages in WISEPIM before you export. WISEPIM then matches each translation to the right language in Ecwid automatically.
## Troubleshooting
* Check that your **Store ID** is correct (it's a numeric value).
* Confirm your **Secret Token** hasn't been regenerated since you set up the integration.
* Make sure your Ecwid store is active and not suspended.
* Confirm your store actually has products to import.
* Check that your token has read permissions.
* If specific products are missing, see whether they're hidden or disabled in Ecwid.
* Confirm your token has write permissions.
* Check that the attribute mapping is set up correctly.
* Review the error log in WISEPIM for field validation errors.
If you regenerate your API tokens in Ecwid, update them in WISEPIM right away. The old tokens stop working the moment you regenerate them.
## Related
Bring your Ecwid catalog into WISEPIM.
Optimize titles, descriptions, and SEO with AI.
Push optimized content back to your store.
See every platform WISEPIM connects to.
# Lightspeed Integration
Source: https://docs.wisepim.com/en/integrations/lightspeed
Connect your Lightspeed store to WISEPIM. Install the app, add your API credentials, and start managing your catalog from one place.
Connect your Lightspeed store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to Lightspeed.
Setup takes two steps: install the WISEPIM app in Lightspeed to get your API credentials, then add those credentials in WISEPIM.
You need admin access to your Lightspeed store and a WISEPIM account with an active project.
## Get your API credentials
Install the WISEPIM app in Lightspeed to generate the keys that connect the two platforms.
Log in to Lightspeed with your admin account.
Open **Apps** from the main menu.
Search for **WISEPIM** in the app store.
Click **Install** and follow the authorization prompts.
After authorization, you receive an **API Key** and an **API Secret**. Copy both. You need them in the next step.
## Add your credentials to WISEPIM
Enter the keys from Lightspeed to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Choose **Lightspeed** from the available platforms.
Fill in the following fields:
* **API Key**: your Lightspeed API key
* **API Secret**: your Lightspeed API secret
* **Store URL**: your Lightspeed store URL
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Lightspeed store is now connected. You can start importing products.
Keep your API keys private and never share them publicly. If you think your keys are compromised, regenerate them in your Lightspeed admin panel and update them in WISEPIM.
## What syncs between WISEPIM and Lightspeed
Beyond the basics (names, descriptions, prices, stock, images and variants), the connection covers the Lightspeed-specific fields below.
### Long titles
Lightspeed's **Paginatitel** (`fulltitle`) comes from the long name field in WISEPIM. It travels in both directions and it is translatable, so each language gets its own long title.
### Specifications
Lightspeed **Specifications** are a Type with a list of Attributes. WISEPIM imports them as product attributes and writes them back on export. Turn this on with the **Specifications** toggle in your connection settings.
Lightspeed's API cannot assign a Type to a product. WISEPIM can only fill in specifications for products that already have a Type in Lightspeed. Products without one are skipped for specifications, and the rest of their data still syncs.
### Filters
Filters, the values behind Lightspeed's faceted navigation, import and export as well. If a filter option in your data does not exist in Lightspeed yet, WISEPIM creates it for you. You do not have to pre-build every option by hand.
### Product sets
Product sets are imported and written back. Two limits come from Lightspeed itself:
* The API cannot attach a set to a product, so that link stays a manual step in Lightspeed.
* Bundles have no API at all, so WISEPIM cannot read or write them.
### When Quality Guard skips everything
An export in which every product was skipped by [Quality Guard](/en/quality-guard/overview) finishes as **Completed with errors** and reports the skipped count, so a run that pushed nothing never shows green. A run with a mix of exported and skipped products still completes normally.
### Categories deleted in Lightspeed
If a product in WISEPIM still points at a category that was deleted in Lightspeed, the export looks for a shop category with exactly the same title. When there is one unique match, the product is remapped to it and retried once. When there is no match, or more than one, the dead category is dropped and the product exports without it. Variant writes that Lightspeed rejects show Lightspeed's own validation message in the task error, and a source image that returns 404 is skipped instead of retried.
## Related
Pull your catalog from Lightspeed into WISEPIM.
Improve titles, descriptions, and attributes with AI.
Push the improved content back to Lightspeed.
Browse every platform you can connect to WISEPIM.
# Magento 2 Integration
Source: https://docs.wisepim.com/en/integrations/magento
Connect your Magento 2 store to WISEPIM. Create an integration, grant API access, and add your four keys to sync your product catalog.
Connect your Magento 2 store to WISEPIM to manage your catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to Magento.
Setup takes three steps: create an integration in Magento, activate it to get your API keys, then add those keys in WISEPIM.
You need admin access to your Magento 2 store and a WISEPIM account with an active project.
## Create the integration in Magento
Add a new integration so Magento can issue the API keys that connect to WISEPIM.
Log in to Magento with your admin account.
Navigate to **System** > **Integrations**.
Click **Add New Integration** and fill in:
* **Name**: a clear name, for example WISEPIM
* **Your Password**: your admin password
* **API**: the resources this integration can access
## Activate the integration
Activate the integration to generate your four API keys.
After saving, click **Activate** in the integrations grid.
Review the permissions and click **Allow**.
Magento shows four keys. Copy all of them:
* Consumer Key
* Consumer Secret
* Access Token
* Access Token Secret
Keep these keys private. Never commit them to your code or version control. Store them in a secure secrets manager or environment variables.
## Add your keys to WISEPIM
Enter the four keys from Magento to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Click the **Magento** integration tile.
Fill in each field:
* Consumer Key
* Consumer Secret
* Access Token
* Access Token Secret
Click **Save**. WISEPIM encrypts and stores your keys securely.
Your Magento store is now connected. You can start importing products.
## Related
Pull your catalog from Magento into WISEPIM.
Improve titles, descriptions, and attributes with AI.
Push the improved content back to Magento.
Browse every platform you can connect to WISEPIM.
# Medusa Integration
Source: https://docs.wisepim.com/en/integrations/medusa
Connect your Medusa store to WISEPIM. Create an admin API token, add it in WISEPIM, and start syncing your catalog.
Connect your Medusa store to WISEPIM to manage your whole catalog from one place. Medusa is an open-source headless commerce platform. Once connected, you can import products, enrich them with AI, and push the improved content back to Medusa.
Setup takes two steps: create an admin API token in Medusa, then add it in WISEPIM.
You need admin access to your Medusa backend and a WISEPIM account with an active project. WISEPIM connects through the Medusa Admin API.
## Create an API token in Medusa
Medusa issues an API token for an admin user with access to your catalog.
Log in to your Medusa admin dashboard with an account that can manage products.
Open **Settings** > **API Key Management** and create a new **Secret** (admin) API key named WISEPIM.
Copy the generated token now. It is only shown once.
Your store URL is the address of your Medusa backend, for example `https://your-store.medusajs.com`.
## Add your credentials to WISEPIM
Enter the values from Medusa to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Medusa** integration tile.
Fill in the following fields:
* **Medusa URL**: your Medusa backend URL, including `https://` (for example, `https://your-store.medusajs.com`)
* **API Token**: the admin token you created in Medusa
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Medusa store is now connected. You can start importing products.
Your API token gives full access to your catalog through the Admin API. Never share it publicly or commit it to version control. If you think it is exposed, revoke it in Medusa and create a new one.
## Troubleshooting
Check your Medusa URL first. It must be correct and start with `https://`, and point at your backend (not the storefront). Then confirm you copied the API token exactly, with no extra spaces.
Make sure you created a **Secret** (admin) API key, not a publishable key. Publishable keys cannot read or write the full catalog.
## Related
Pull your catalog from Medusa into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to Medusa.
See every platform WISEPIM connects to.
# PrestaShop Integration
Source: https://docs.wisepim.com/en/integrations/prestashop
Connect your PrestaShop store to WISEPIM. Enable the webservice, create a key, add it in WISEPIM, and start syncing your catalog.
Connect your PrestaShop store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to PrestaShop.
Setup takes two steps: enable the webservice and create a key in PrestaShop, then add that key in WISEPIM.
You need admin access to your PrestaShop back office and a WISEPIM account with an active project.
## Create a webservice key in PrestaShop
PrestaShop uses a single webservice key that acts as both the username and the password for the API.
Log in to your PrestaShop back office. Go to **Advanced Parameters** > **Webservice**.
Set **Enable PrestaShop's webservice** to **Yes** and save.
Click **Add new webservice key**, then set the permissions to allow access to **products** (and any related resources you sync, such as images and categories).
Save, then copy the generated key. You need it in the next step.
## Add your key to WISEPIM
Enter the key from PrestaShop to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **PrestaShop** integration tile.
Fill in the following fields:
* **Shop URL**: your PrestaShop store URL, including `https://` (for example, `https://your-store.com`). Enter the shop root only, not the `/api` webservice address; WISEPIM adds `/api` itself.
* **Webservice Key**: the key you generated in PrestaShop
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your PrestaShop store is now connected. You can start importing products.
Your webservice key gives full access to the resources you granted it. Never share it publicly or commit it to version control. If you think it is exposed, delete the key in PrestaShop and create a new one.
## Troubleshooting
Check your shop URL first. It must be correct and start with `https://`. Then confirm the webservice is enabled and that your key has permission for **products**.
PrestaShop answered with a 404. This usually means the **Shop URL** field contained the webservice address (`https://your-store.com/api/`) instead of the shop root, so WISEPIM requested `/api/api/`. Enter `https://your-store.com` and test again. WISEPIM also strips a trailing `/api` automatically.
PrestaShop 1.6, 1.7, 8 and 9 are supported. WISEPIM uses the standard webservice with JSON output, which every 1.6.1+ release provides. Your key needs **GET** on `products`, `categories`, `languages`, `stock_availables` for imports, and **POST**/**PUT** on `products` for exports. Product images are not imported from PrestaShop; add them in WISEPIM's media library.
Make sure your PrestaShop store is online and reachable from the internet, and that the webservice endpoint at `/api` is not blocked by a firewall or security plugin.
The full message is "WISEPIM couldn't start the connection test, so your store was never contacted." This is not a store URL or key problem. Save the integration and test again; if it keeps happening, contact support.
## Related
Pull your catalog from PrestaShop into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to PrestaShop.
See every platform WISEPIM connects to.
# Shopify Integration
Source: https://docs.wisepim.com/en/integrations/shopify
Connect your Shopify store to WISEPIM in minutes. Create a custom app, set the access scopes, and import your products to enrich and translate them.
Connect your Shopify store to WISEPIM to import your products, enrich them with AI, and translate them into your target language. Setup takes a few minutes.
There are two ways in:
* **Install from the Shopify App Store.** The fastest route. Shopify tells WISEPIM who you are, so there is nothing to copy and paste.
* **Create a custom app in your Shopify admin.** Use this if you already have a WISEPIM account and want to connect another store by hand.
## Install from the Shopify App Store
Install WISEPIM straight from the Shopify App Store and you are done in one step.
Open the Shopify App Store from your Shopify admin and search for **WISEPIM**.
Click to install and approve the access Shopify asks about. You never type your store domain, your API key, or your secret.
If you are new, WISEPIM creates your account for you: your details come from Shopify, and you get a project ready to use. You arrive logged in, with your store already connected.
You can choose your plan inside the app and let Shopify handle the billing. The charge then appears on your regular Shopify invoice instead of a separate one.
Installing from the App Store replaces the custom-app steps below. You only need the custom app route if you connect a store to an existing WISEPIM account yourself.
## Create a custom app in Shopify
First, generate API credentials inside your Shopify admin.
Log in to your Shopify admin and open **Settings**.
Open **Apps and sales channels**, then click **Develop apps**. This is where you create a custom app for WISEPIM.
Open the **Configuration** tab for your app. Here you set the access scopes that let WISEPIM read your product data.
Add the access scopes shown below so WISEPIM can fetch your product data, then save your changes.
## Connect Shopify to WISEPIM
Next, copy your credentials from Shopify into WISEPIM.
In your Shopify app, find the **API key** and **API secret key**. Keep this tab open so you can copy both values.
In WISEPIM, open your Shopify integration and paste in the API key and the secret. Save to connect your store.
Your API secret gives full access to your store data. Never share it publicly or commit it to version control. If a secret is exposed, revoke the app in Shopify and create a new one.
## Import and enrich your products
Your store is now connected. You can fetch your Shopify products into WISEPIM, then enrich and translate them into your target language.
### Large catalogs
Big stores import reliably. WISEPIM uses Shopify's bulk system, which streams your whole catalog in one job instead of walking page by page. There is no size ceiling to work around, so tens of thousands of products come across in a single run.
### Translations
Translated content now syncs back to Shopify correctly. Translate your products in WISEPIM, export to Shopify, and each language lands in the matching Shopify locale.
### Variants
Shopify sync is single-variant today: import reads the **first variant's** price, SKU, barcode, and stock onto the product, and export writes those core fields back to that same variant. The full option/variant matrix is not synced in either direction - keep managing multi-variant options in Shopify itself.
## Related
Fetch your Shopify catalog into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push enriched content back to your store.
See every platform WISEPIM connects to.
# Shopware Integration
Source: https://docs.wisepim.com/en/integrations/shopware
Connect your Shopware 6 store to WISEPIM. Create an integration, add the access key and secret in WISEPIM, and start syncing your catalog.
Connect your Shopware 6 store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to Shopware.
Setup takes two steps: create an integration in your Shopware admin, then add its credentials in WISEPIM.
You need admin access to your Shopware 6 store and a WISEPIM account with an active project. WISEPIM connects through the Shopware Admin API.
## Create an integration in Shopware
Shopware issues a client ID and secret when you create an integration.
Log in to your Shopware admin. Go to **Settings** > **System** > **Integrations**.
Click **Add integration**, name it WISEPIM, and grant it administrator privileges (or a role that can read and write products).
Shopware shows an **Access key ID** and a **Secret access key**. Copy both. The secret is only shown once.
Click **Save** to keep the integration active.
## Add your credentials to WISEPIM
Enter the values from Shopware to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Shopware** integration tile.
Fill in the following fields:
* **Shop URL**: your Shopware store URL, including `https://` (for example, `https://your-store.shopware.store`)
* **Client ID**: the Access key ID from Shopware
* **Client Secret**: the Secret access key from Shopware
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Shopware store is now connected. You can start importing products.
Your client secret gives full access to your store through the Admin API. Never share it publicly or commit it to version control. If you think it is exposed, delete the integration in Shopware and create a new one.
## Troubleshooting
Check your shop URL first. It must be correct and start with `https://`. Then confirm you copied the Access key ID and Secret access key exactly, with no extra spaces.
Open the integration in Shopware and confirm it has a role that can read and write products. A read-only role blocks exports back to your store.
## Related
Pull your catalog from Shopware into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to Shopware.
See every platform WISEPIM connects to.
# ShopWired Integration
Source: https://docs.wisepim.com/en/integrations/shopwired
Connect ShopWired to WISEPIM with an API key and secret. Import products, enrich them with AI, and push titles, descriptions, prices and stock back.
Connect your ShopWired store to WISEPIM to manage your catalog from one place. Once connected, you can import products, enrich them with AI, and export the improved content back to the same store. Products that do not exist in ShopWired yet can be created on export.
Setup takes about five minutes: create an API key in ShopWired, then add it in WISEPIM.
You need access to the ShopWired account's API settings and a WISEPIM account with an active project. WISEPIM talks to the ShopWired REST API; the API address is fixed, so there is no store URL to enter.
## Create an API key in ShopWired
Sign in to your ShopWired account and go to **Account** > **API Access**.
Create an API key if you do not have one yet. ShopWired shows an **API key** and an **API secret**.
Copy the key and the secret. They are used together to authenticate every request WISEPIM makes.
## Add your credentials to WISEPIM
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **ShopWired** tile.
* **Profile Label**: a name for this connection, such as "Main Store". Useful when you connect more than one store.
* **Enable for Import** and **Enable for Export**: switch off the direction you do not want.
* **API Key** and **API Secret**: the values from ShopWired.
* **Batch Size** (optional): how many products WISEPIM sends per request. Leave it at 50 unless support asks you to change it.
* **Auto-create products on export**: create products in ShopWired when WISEPIM has no matching product there. Leave it off to update existing listings only.
Click **Test Integration** to confirm the key and secret work.
If the test succeeds, click **Save**.
Your ShopWired store is connected. You can start importing products.
The API key and secret give access to your store data. Never share them publicly or commit them to version control. If you think they are exposed, delete the key in ShopWired and create a new one.
## What syncs between WISEPIM and ShopWired
**Import** pulls in the title, all description fields, SKU, GTIN, MPN, price, sale price and compare-at price, stock, weight, meta title, meta description and search keywords. Product images are fetched into your [media library](/en/products/media-library) and linked to the product.
**Export** pushes the title, description, SKU, price, sale price, stock, GTIN, MPN, weight, and meta title, description and keywords. Products are matched on the ShopWired product ID recorded during import. With **Auto-create products on export** on, products WISEPIM cannot find in ShopWired are created; when the lookup itself fails, the product is skipped rather than duplicated. Images are not pushed back to ShopWired, and the connection has no language mapping: one store, one language.
Good to know:
* Products without a SKU get a stable identifier derived from the ShopWired product ID, so repeated imports do not create duplicates.
* A cost price of `-1` from ShopWired means "not set" and is imported as empty.
* Sync is not real-time. Imports and exports run when you start them or when an [automation](/en/automations/overview) schedules them.
## Narrow an import
The import modal's **One-time import scope** lets you limit a ShopWired run to a **maximum number of products**, **Only these SKUs** or **Exclude these SKUs**. Date-based scoping is not available, because the ShopWired products API cannot filter on the last change date.
## Troubleshooting
Confirm you copied the API key and the API secret exactly, with no extra spaces, and that the key is still active under **Account** > **API Access** in ShopWired.
Products that were never imported from this store have no ShopWired ID to match on. Turn on **Auto-create products on export** so WISEPIM creates them, then export again. Also check the [Process Tracker](/en/other-features/process-tracker) task for products skipped by [Quality Guard](/en/quality-guard/overview) or by the built-in price check.
Image export is not supported for ShopWired. Manage images in ShopWired directly; WISEPIM only imports them.
## Related
Bring your ShopWired catalog into WISEPIM.
Push the improved content back to ShopWired.
Improve titles and descriptions with AI before you export.
Block incomplete products from reaching your store.
# Squarespace Integration
Source: https://docs.wisepim.com/en/integrations/squarespace
Connect your Squarespace store to WISEPIM. Create a Commerce API key, add it in WISEPIM, and start syncing your catalog.
Connect your Squarespace store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to Squarespace.
Setup takes two steps: create an API key in Squarespace, then add it in WISEPIM.
You need a Squarespace Commerce plan with API access and a WISEPIM account with an active project.
## Create an API key in Squarespace
Squarespace issues an API key with the permissions you choose.
Log in to Squarespace. Go to **Settings** > **Advanced** > **Developer API Keys**.
Click **Generate Key**, name it WISEPIM, and grant **Products** permission with read and write access.
Copy the generated API key now. It is only shown once.
Your Site ID appears in your Squarespace account settings, or in the URL of your site's admin. Copy it for the next step.
## Add your credentials to WISEPIM
Enter the values from Squarespace to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Squarespace** integration tile.
Fill in the following fields:
* **API Key**: the key you generated in Squarespace
* **Site ID**: your Squarespace site identifier
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Squarespace store is now connected. You can start importing products.
Your API key gives access to the resources you granted it. Never share it publicly or commit it to version control. If you think it is exposed, revoke it in Squarespace and create a new one.
## Troubleshooting
Confirm you copied the API key exactly, with no extra spaces, and that the key has **Products** read and write permission. Then check that your Site ID is correct.
Squarespace scopes each key to specific resources. Generate a new key and make sure **Products** is selected before saving.
## Related
Pull your catalog from Squarespace into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to Squarespace.
See every platform WISEPIM connects to.
# Supported Platforms
Source: https://docs.wisepim.com/en/integrations/supported-platforms
See every platform WISEPIM connects to: Shopify, WooCommerce, Magento, BigCommerce, Shopware, Lightspeed, Akeneo, and more, with setup guides.
WISEPIM connects to the platforms you already use. Import your products from one platform, enrich them with AI, and export them wherever you sell. Pick your platform below to open its setup guide.
## Find an app in the marketplace
Open **Integrations** to see the app marketplace. Three tools help you get to the right app fast:
* **Search apps** finds a platform by name as you type.
* The **category filter** narrows the list to E-commerce, Marketplace, PIM, Analytics or Other.
* The **connection status filter** shows only the apps in a given state.
The page splits into two parts. **Connected** holds the apps you already set up, so your daily work stays at the top. **Discover apps** holds everything else, waiting to be connected.
Cards tell you where each app stands at a glance: **Connected**, **Needs attention** when a connection needs a look, **Beta**, or **Coming soon**.
## What you find on an app's page
Click any app to open its own page before you commit to setting it up. Each page tells you:
| Section | What it tells you |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Setup time** and **Difficulty** | How long the setup takes and whether it is easy, medium or hard |
| **Authentication** | What you need to sign in: OAuth, API credentials, a feed URL, or nothing at all |
| **Capabilities** | Whether the app can import products, export products, read order data, sync multiple languages, and create products that do not exist yet |
| **Connected stores** | Your existing connections, so you can edit credentials or test them again |
| **Good to know** | The quirks of that platform, each with a line on how WISEPIM handles it for you |
| **FAQ** | The questions people ask most about that platform |
Read **Good to know** before you start. It is the fastest way to learn what a platform cannot do, so nothing surprises you halfway through setup.
## Map your fields
Every platform names its fields a little differently. The **Attribute Mapper** on a connection lines the platform's fields up with your WISEPIM attributes, so data lands where you expect it in both directions. Open it from the app's tile or its detail page, match the fields, and save.
## Choose your platform
### E-commerce platforms
Connect your Shopify store through the API and enrich your product data.
Connect your open-source WooCommerce store and enrich your product data.
Import products from Magento 2 Open Source or Enterprise and enrich them with AI.
Connect your BigCommerce store with a store-level API token.
Connect your PrestaShop store with a webservice key.
Connect your Shopware 6 store through the Admin API.
Connect your ShopWired store with an API key and secret. Import and export.
Connect your Squarespace Commerce store with an API key.
Connect your Lightspeed eCom store and enrich your product data in minutes.
Connect your Ecwid / Lightspeed E-Series store and enrich your catalog.
Connect your CCV Shop store and enrich your product data.
Connect your open-source Medusa headless commerce store.
Connect your Symfony-based Sylius store through the Admin API.
Connect your Django Oscar store through its product API.
Publish enriched content to your WordPress site with an Application Password.
Sync your catalog both ways with your Akeneo PIM.
### Marketplaces
Export your enriched products to the Kaufland marketplace.
Export your products to any marketplace that runs on Mirakl.
### Shopping & ads
Push products straight into Merchant Center for Shopping ads and free listings.
### Analytics & search
Sync traffic, funnel, and item-level conversion data into Analytics.
Bring real impressions, clicks, and rankings into the SEO report.
### Suppliers, warehouse & data
Import products and live stock levels from your Picqer warehouse.
Import TechData's product, price and stock data over FTP.
Pull in dropshipment content from your suppliers, then enrich it as your own.
Import product data straight from your Databricks tables.
WISEPIM works across platforms. Import products from one platform and export them to another, all in the same workspace.
## Don't see your platform?
We add new platforms all the time. If yours isn't listed yet, use the **Request an integration** card at the bottom of the marketplace. Fill in the platform name, its website if you have it, and what you would want to sync. Click **Send request** and it comes straight to us.
Prefer to talk it through, or have special requirements? [Get in touch](https://swiftsync.ai/contact) and we'll discuss the options.
## Related
Connect your credentials and manage active integrations.
Build channel-specific feeds on top of your connected platforms.
Push products to a connected platform in a few clicks.
Go from a fresh connection to an approved channel without a rejection queue.
# Sylius Integration
Source: https://docs.wisepim.com/en/integrations/sylius
Connect your Sylius store to WISEPIM. Add your API access token, test the connection, and start syncing your catalog.
Connect your Sylius store to WISEPIM to manage your whole catalog from one place. Sylius is an open-source, Symfony-based commerce platform. Once connected, you can import products, enrich them with AI, and push the improved content back to Sylius.
Setup takes two steps: get an admin API access token from Sylius, then add it in WISEPIM.
You need admin access to your Sylius store and a WISEPIM account with an active project. WISEPIM connects through the Sylius Admin API.
## Get your API access token
Sylius issues a bearer token for an administrator account through its API.
Make sure your Sylius installation exposes the Admin API and that you have an administrator account that can manage products.
Authenticate against the Sylius admin authentication token endpoint with your administrator credentials to receive a bearer token. If you use an OAuth client, note its **Client ID** and **Client Secret** as well.
Copy the access token. You need it in the next step.
Your store URL is your Sylius base address, for example `https://your-store.com`.
## Add your credentials to WISEPIM
Enter the values from Sylius to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Sylius** integration tile.
Fill in the following fields:
* **Sylius URL**: your store URL, including `https://` (for example, `https://your-store.com`)
* **Access Token**: the bearer token from Sylius
* **Client ID** and **Client Secret**: optional, only if your setup uses an OAuth client
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Sylius store is now connected. You can start importing products.
Your access token gives full access to your catalog through the Admin API. Never share it publicly or commit it to version control. If you think it is exposed, revoke it in Sylius and issue a new one.
## Troubleshooting
Check your store URL first. It must be correct and start with `https://`. Then confirm you copied the access token exactly, with no extra spaces.
Sylius access tokens are time-limited. If exports stop working, issue a fresh token and update it in WISEPIM.
## Related
Pull your catalog from Sylius into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to Sylius.
See every platform WISEPIM connects to.
# WooCommerce Integration
Source: https://docs.wisepim.com/en/integrations/woocommerce
Connect your WooCommerce store to WISEPIM in one click. Enter your store URL, approve WISEPIM in your WordPress admin, and the API keys are generated for you.
Connect your WooCommerce store to WISEPIM to manage your whole catalog from one place. Once connected, you can import products, enrich them with AI, and push the improved content back to WooCommerce.
You no longer need to create API keys by hand. Enter your store URL, click **Connect with WooCommerce**, and approve the access in your own WordPress admin - WooCommerce generates the keys and hands them to WISEPIM automatically.
You need admin access to your WordPress site and a WISEPIM account with an active project.
## Connect with one click
Log in to WISEPIM and go to **Settings** > **Integrations**, then click the **WooCommerce** tile.
Type your store's base URL (for example `https://your-store.com`), with or without `https://`. No extra path, no trailing slash.
You are sent to your own store, where WordPress asks you to approve WISEPIM's access (Read/Write). Make sure you are logged in to WordPress as an admin.
Click approve, and WooCommerce generates the API keys and sends them to WISEPIM directly. You land back in WISEPIM with your store connected.
Your WooCommerce store is now connected. You can start importing products.
Need fresh keys later - for example after a security cleanup? Open the integration again and click **Reconnect with WooCommerce**. Your store generates a new key pair the same way.
## Manual API keys (fallback)
The one-click flow works for almost every store. Reach for manual keys when it can't:
* A security plugin or firewall on your site blocks the `/wc-auth` authorization page
* You're connecting a local or non-HTTPS development store
* You simply prefer creating and pasting keys yourself
In your WordPress admin, go to **WooCommerce** > **Settings** > **Advanced** > **REST API** and click **Add Key**. Name it WISEPIM, select an admin user, and set **Permissions** to **Read/Write**.
Click **Generate API Key**. Copy the **Consumer Key** (starts with `ck_`) and **Consumer Secret** (starts with `cs_`) right away - the secret is only shown once.
In the WooCommerce integration in WISEPIM, expand **Manual API keys** below the connect button and paste both values.
Click **Test Connection**, and **Save** once it succeeds.
Your API keys give full access to your store data. Never share them publicly or commit them to version control. If you think a key is exposed, revoke it in WooCommerce and reconnect.
## What syncs
* **Import** brings in name, SKU, regular and sale price with sale dates, descriptions, stock, weight and size, images, attributes, tags, and categories - plus brand, EAN, cost, and SEO from meta fields. Variable products come in with each variation as a child product. Products match by SKU.
* **Export** sends SKU, name, type, status, prices with sale dates, stock, descriptions, weight and size, SEO fields, brand, EAN, cost, and your custom PIM attributes. Prices are adjusted by your [pricing rules](/en/settings/pricing) first.
A few things to know before you rely on it:
* **Images and categories flow one way.** Import pulls them into WISEPIM, but export does not push images or categories back - keep managing those in your store.
* **Variations sync in, not out.** Export does not push the variation matrix back, so set up variations in WooCommerce.
* **Syncing is not real time.** You start each import and export run yourself.
* **Multiple stores are fine.** Add several WooCommerce profiles to the same project; each keeps its own settings and runs.
## Troubleshooting
When a connection test fails, WISEPIM now shows the likely cause and the concrete fix on screen, instead of a generic error. The common ones:
WooCommerce reports no detail when an authorization is declined or blocked, so WISEPIM can't tell you which happened. Make sure you were logged in to WordPress as an admin and clicked approve. If it keeps failing, a security plugin is likely blocking the `/wc-auth` page - use the **Manual API keys** fallback.
The store's firewall stopped the request before your store ever saw the key - this is not an API-key problem. Allowlist WISEPIM, or disable the bot-fight / browser-integrity check for the REST API path. WISEPIM sends an identifiable request so firewalls like Cloudflare and Wordfence can recognize it.
Re-check the key and secret for typos and confirm they have **Read/Write** permission. Regenerate them (or just hit **Reconnect with WooCommerce**) if unsure.
Verify the base URL: no extra path, no trailing slash, and the REST API enabled on your WordPress site. Permalinks must not be set to "Plain".
Fix the SSL certificate on your store, or confirm the URL uses the correct protocol.
Integrations are included in your WISEPIM plan - connecting WooCommerce costs nothing extra.
## Related
Pull your catalog from WooCommerce into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Push the improved content back to WooCommerce.
See every platform WISEPIM connects to.
# WordPress Integration
Source: https://docs.wisepim.com/en/integrations/wordpress
Connect your WordPress site to WISEPIM. Create an Application Password, add it in WISEPIM, and publish enriched content to your site.
Connect your WordPress site to WISEPIM to publish enriched product content straight to your pages. Once connected, you can enrich your content with AI in WISEPIM and push it to WordPress.
Setup takes two steps: create an Application Password in WordPress, then add it in WISEPIM.
Selling with **WooCommerce**? Use the [WooCommerce integration](/en/integrations/woocommerce) instead, it connects to your WooCommerce products, not just WordPress posts and pages.
You need admin access to your WordPress site and a WISEPIM account with an active project.
## Create an Application Password in WordPress
WordPress includes Application Passwords so apps can connect without using your real login password.
Log in to your WordPress admin. Go to **Users** > **Profile** (or edit the user you want WISEPIM to act as).
Scroll down to the **Application Passwords** section.
Enter a name like WISEPIM and click **Add New Application Password**.
Copy the generated password now (the spaces are fine to keep). It is only shown once.
## Add your credentials to WISEPIM
Enter the values from WordPress to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **WordPress** integration tile.
Fill in the following fields:
* **Username**: your WordPress login username (not your email)
* **Application Password**: the password you just generated
* **Site URL**: your WordPress site URL, including `https://` (for example, `https://your-site.com`)
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your WordPress site is now connected. You can publish enriched content to it.
Your Application Password grants access to your WordPress site as the chosen user. Never share it publicly or commit it to version control. If you think it is exposed, revoke it under **Application Passwords** in WordPress and create a new one.
## Troubleshooting
Check your site URL first. It must be correct and start with `https://`. Then confirm you used your **username** (not your email) and pasted the Application Password exactly.
Application Passwords require WordPress 5.6 or later over HTTPS. Make sure your site is served over `https://` and that no security plugin disables the feature or blocks the REST API.
## Related
Improve titles, descriptions, and SEO with AI.
Publish the enriched content to your WordPress site.
Selling online? Connect WooCommerce to sync products.
See every platform WISEPIM connects to.
# Process Tracker
Source: https://docs.wisepim.com/en/other-features/process-tracker
Watch every import, export, and AI enrichment run in real time. Spot failures fast and resume a stopped task without paying twice.
The Process Tracker is your command center for every background job in WISEPIM. Use it to watch imports, exports, and AI enrichment run in real time, read what the AI actually did, catch failures early, and pick up where a stopped task left off.
**What acting on it enables:** you always know whether a run finished, why it did not, and which single fix unblocks the rest. Then you resume it instead of starting over.
**Where to find it:** click the **Activity** indicator in the header and choose **View all activity**, or open your avatar menu → **Process Tracker**.
Look for the indicator in the header. **Live** means real-time updates are connected, so progress moves as it happens. **Auto-refresh** means there is no live connection and the page refreshes periodically instead. Either way, you never need to reload.
## What you can track
The Process Tracker watches every long-running job in WISEPIM:
| Task type | What it covers |
| ----------------- | ----------------------------------------------------------------- |
| **Imports** | Products, categories, and attributes from platforms or CSV files. |
| **Exports** | Enriched data and feeds sent to your sales channels. |
| **AI enrichment** | AI-generated titles, descriptions, SEO meta, and attributes. |
| **Translation** | Product content translated into your other languages. |
| **Web research** | Specs, identifiers, and market prices gathered from the web. |
| **Bulk updates** | Mass changes to attributes, categories, prices, and stock. |
A task shows up the moment you start it, before any worker has touched it. Until one picks it up you see the stage **Waiting for a worker to pick up this task…**, so you always know the job was accepted.
## Find your way around
### View modes
Switch the task list between three layouts, depending on what you are trying to see.
| View | Best for |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **List view** | The default. One row per task, easy to scan and filter. |
| **Grid view** | A compact, color-coded layout for watching many tasks at once. |
| **Timeline view** | Seeing work in order. Tasks are grouped under **Today**, **Yesterday**, and then by date, so you can read a day back like a diary. |
### Filter by source
The **Source** filter answers "who started this?".
| Source | What it shows |
| --------------- | --------------------------------------------------------------- |
| **All** | Tasks from every source. |
| **By you** | Tasks you started yourself. |
| **Automations** | Runs triggered by your [automations](/en/automations/overview). |
| **System** | Background work like feed refreshes and order syncs. |
System tasks are hidden until you ask for them. That keeps the list about the work you started, instead of burying it under routine background jobs. Switch to **System** when you want to check whether a feed rebuilt or an order sync ran. Internal recovery tasks that clean up after a remote platform are hidden everywhere, including statistics and live overlays; support can still open one by its exact task ID.
Imports and exports narrate what they are doing in plain language, such as "Fetching your catalog from Shopify", "3 of 10 done, 2 need a second look" or "Nothing to do, everything was already up to date". The same applies to the waits and hiccups in between, so a quiet task is never a mystery:
* "Queued and ready, waiting for a free worker"
* "Reserving credits for this run"
* "Spreading 500 products across parallel workers"
* "Sent 120 of 500 to Shopify"
* "Shopify asked us to slow down, so we pick back up in 30s"
* "Hit a bump, trying again (attempt 2 of 3)"
* "Picking up where we left off, with 340 already done"
For very large selections the task stores a snapshot of what you selected, and the detail view shows a compact filter summary with the exact selected count instead of a wall of product IDs. The chunking milestone reports the real chunk size and count.
### Dashboards
Active tasks and progress at a glance, with success rates and completion estimates. The Status Breakdown rows are clickable, so you can jump straight to just the failed or running tasks.
Success rates, processing speed, and error trends over time.
## Read task status
Every task shows a color-coded status so you can scan progress fast.
| Status | Color | What it means |
| ------------- | ------ | ----------------------------------------------------------- |
| **Running** | Yellow | Currently processing. You can stop it. |
| **Pending** | Gray | Queued and waiting to start. |
| **Completed** | Green | Finished successfully. |
| **Failed** | Red | Hit an error. Open it to read the message and run it again. |
| **Cancelled** | Gray | You stopped it. Partial results stay. |
Progress bars are exact. A task never reports more than 100%, so the number you see is the number of items actually handled.
## Check task details
Open any task to see how it ran.
### What's happening
The **What's happening** timeline narrates the run in plain language, one step at a time. Instead of a spinner you get lines like:
* "Searching the web"
* "Reading your specs and attributes"
* "Consulting your knowledge library"
* "Mining high-intent search keywords"
* "Normalizing units"
* "Writing in your tone of voice"
Use it to tell the difference between a job that is genuinely working and one that is stuck. It also shows you what the AI is drawing on, which is useful when the output is not what you expected: if it never consulted your knowledge library, that is your answer.
### Activity
Below the narration, the **Activity** feed ("What's been happening behind the scenes") lists every checkpoint the task logged, in order and with timestamps. The narration tells you what the task is doing now; Activity is the record of everything it did on the way, which is where you look when a run took longer than expected or ended somewhere you did not expect.
### The numbers
Each task reports four item counts:
* **Processed:** items handled so far.
* **Successful:** items finished without errors.
* **Failed:** items that hit an error.
* **Skipped:** items bypassed by a rule or condition.
You also see the **success rate**, **duration**, **processing speed**, and an **estimated completion** time for running tasks.
### The recap
When a task finishes, **Here is what WISEPIM did** sums the run up in one sentence, for example how many products were enriched, how long it took, and which of your rules and context it used. It is the fastest way to confirm a run did what you wanted before you move on.
### Jump to the products
**View products** opens the [Products](/en/essentials/managing-products) page filtered to exactly the products in that task. Use it to spot-check the results, or to select the same set again for a follow-up action.
### Save this routine as an automation
When you complete the same kind of manual task three or more times in 30 days, the completed task shows an **Automation opportunity** card ("Save this routine"). It recognises four routines: recurring imports, enrichment work, recurring exports, and quality checks, and tells you how many times you did it recently.
Click **Create automation** and the [builder](/en/automations/builder) opens with a matching template already loaded, so the routine is a few clicks from running on its own. Not interested? Dismiss the card and it stays hidden for that template in this project.
## Manage running tasks
Find it in any view and open it.
Click **Stop** to halt a running task. WISEPIM keeps everything processed so far. Use this when you spot wrong settings or want to free up capacity.
Once the cause is fixed, **Resume** finishes the remainder. See [Resume or restart](#resume-or-restart) below.
Stopping an Auto-Fill or Bulk Enrich parent task now also stops the child tasks it started. One click stops the whole job, so credits are not spent on work you have already cancelled.
## Resume or restart
When a task stops, fails, or finishes with errors, you have more than one way to run it again. The difference matters, because one of them is free and the other is not.
| Action | What it does | What it costs |
| ---------------------- | ----------------------------------------------------- | ------------------------------------------------------------- |
| **Resume** | Runs only the items that were never processed. | **No extra credits.** The original run already paid for them. |
| **Restart** | Runs the full original selection again, from the top. | Charged as a new run. |
| **Retry failed items** | Runs only the items that errored. | Charged for those items. |
Resume is almost always the right choice after a stop or a credit shortfall. Restart is for when the settings were wrong and you want every product done again with the new ones.
### When you can resume or restart
Resume is available once a task has reached a resting state: **stopped**, **failed**, **cancelled**, or **completed with errors**. Restart needs the same, and refuses while a task is still pending or running. Stop it first, then restart.
If every item was already handled, resuming tells you there is nothing left to pick up and points you at **Retry failed** instead.
Tasks created before **28 July 2026** cannot be resumed. They were recorded before WISEPIM started storing the snapshot that resume relies on. Start a new run from the products page instead.
### What each task type supports
| Task type | Resume | Restart | Retry failed | Stop |
| -------------------------------------------- | ------ | ------- | ------------ | ---- |
| **Bulk enrichment** (Auto-Fill, Bulk Enrich) | Yes | No | No | Yes |
| **Translation** | Yes | Yes | Yes | Yes |
| **Web research** | Yes | Yes | Yes | Yes |
| **AI categorization** | Yes | Yes | Yes | Yes |
| **Bulk delete** | Yes | No | No | Yes |
| **Bulk update** | No | Yes | No | Yes |
| **Exports** | No | No | No | Yes |
Resuming an Auto-Fill or Bulk Enrich parent restarts its unfinished children as follow-up tasks, so you will see new rows appear for the remaining work.
## Fix failed tasks
When a task fails, open it and read the error message first. It tells you what went wrong and which items were affected. Then run it again once the cause is fixed.
Failures are grouped for you. When every failure has the same root cause, the task says so outright: **All N failures share one cause**, followed by the cause and the advice to use **Resume** or **Retry failed** once it is resolved. That turns a wall of 300 red rows into one thing to fix.
A pending task is queued and waiting for a worker. Large jobs can hold up the queue. Check the queue order, and try smaller batches or off-peak timing for big operations.
Open the task and read the shared cause callout. Common ones are missing required fields, data in the wrong format, and platform validation rules. Fix the data or mapping, then resume.
The task stops and says so. Top up or upgrade, then use **Resume**: the products already processed are not charged again.
Large datasets and complex transformations take longer. Process data in smaller batches and run big jobs during off-peak hours.
These point to the platform connection. Check the platform status, confirm your credentials are valid, and test the connection in your integration settings.
## Related
Run mass updates that show up as tasks in the Process Tracker.
Trigger AI enrichment and track it here as it runs.
Set up the platform connections your imports and exports use.
Get alerts when tasks finish or fail.
# Audit Log
Source: https://docs.wisepim.com/en/quality-guard/audit-log
See who changed what and when in Quality Guard. A searchable, read-only history of every quality action for full compliance visibility.
The Audit Log answers one question fast: who did what, and when? It records every Quality Guard action in a searchable timeline. Use it to review decisions, investigate quality issues, and prove compliance.
The Audit Log is read-only. You cannot edit or delete entries. That keeps the record tamper-proof.
## Read an entry
The log shows entries in a timeline, grouped by date. Each entry includes:
* **User**: who performed the action, with an avatar and username.
* **Action**: what they did, such as "Rule Created" or "Quarantine Resolved".
* **Entity**: the rule, quarantine item, or template involved.
* **Timestamp**: when it happened. Hover for the full date.
* **Details**: extra context that depends on the action.
## Find what you need
Use the two filter dropdowns to narrow the log. Combine them to drill down fast.
**Filter by action type** to see one kind of event. Pick "Quarantine Bypassed" to review every bypass, or "Rule Created" to see new rules.
**Filter by entity type** to focus on one area:
* **Rules**: actions on quality rules.
* **Quarantine**: resolutions and bypasses.
* **Templates**: template applications.
* **Pre-flight**: pre-flight check results.
* **Channel Rules**: channel-specific rule updates.
Combine both filters to cut the noise. Filter by "Rule Updated" and "Rules" to see only rule changes, with no quarantine or template activity in the way.
Click **Clear filters** to reset the view at any time.
## Tracked actions
The log captures these events:
| Action | What it records |
| ------------------------- | ----------------------------------------------------------------------------------- |
| **Rule Created** | A new quality rule was added to the project. |
| **Rule Updated** | A rule was changed. Shows which fields changed, with old and new values. |
| **Rule Deleted** | A quality rule was permanently removed. |
| **Rule Activated** | A rule was turned on and is now enforced during checks. |
| **Rule Deactivated** | A rule was turned off and is no longer enforced. |
| **Quarantine Resolved** | A quarantined product was fixed and marked resolved. |
| **Quarantine Bypassed** | A quarantined product was released without a fix. Includes the bypass reason. |
| **Pre-flight Check** | A quality check ran before an export. Shows products checked, blocked, and skipped. |
| **Bulk Fix Applied** | A bulk fix ran across many products. Shows success and failure counts. |
| **Template Applied** | A rule template created one or more rules. Shows how many. |
| **Channel Rules Updated** | Channel-specific rules were added or removed. Shows the counts. |
## What each action shows
Different actions carry different details. Expand the ones you want to understand.
Shows the exact fields that changed, with old and new values. For example: `severity: warn -> block`.
Shows how many products were checked, and how many were blocked, skipped, or warned. This is a snapshot of your catalog's quality at that moment.
Shows how many products were fixed versus how many failed. Use it to judge how well a bulk action worked.
Shows the reason the user gave when they approved the bypass. This builds an accountability trail for every override.
Shows how many rules the template created when it was applied.
Shows how many rules were added and removed for the channel.
## Export the log
Click **Export Log** to download the audit trail as a CSV file. The export respects your active filters, so you can export a focused subset.
Common reasons to export:
* **Compliance audits**: export the full log for internal or external reviews.
* **Bypass reviews**: export only bypass actions to check overrides.
* **Change tracking**: export rule changes over a period to document process improvements.
The CSV includes every visible field: timestamp, user, action, entity type, entity name, and action-specific details.
## Navigate large logs
The log is paginated to stay fast. Move between pages at the bottom. The current page and total entry count sit above the timeline.
## Best practices
* **Review bypasses regularly.** Each bypass is an intentional override. Check them now and then to confirm they are still justified.
* **Export before big changes.** Save the current log before a major rule change so you have a baseline.
* **Filter for investigations.** When you diagnose a quality issue, filter by the rule or entity type to see its full history.
* **Track team activity.** The log shows who made each change, so you can coordinate and understand the context.
* **Watch pre-flight trends.** Compare pre-flight results over time to see if catalog quality is improving.
The log records all activity automatically and you cannot delete entries selectively. This protects the integrity of your quality audit trail.
## Related
Create and manage the rules whose changes appear in the log.
Resolve or bypass products that fail your rules.
Set channel-specific requirements for each sales platform.
See how quality control fits together in WISEPIM.
# Channel Rules
Source: https://docs.wisepim.com/en/quality-guard/channel-rules
Set quality requirements per sales channel so your product data meets each platform standard, from Shopify and Amazon to Google Shopping.
Every sales channel wants product data its own way. Google Shopping needs a valid GTIN. Amazon wants bullet points and category attributes. Shopify may need a minimum number of images. Channel Rules group your quality rules by destination, so you can get each platform export-ready on its own.
Channel Rules are not a new rule type. They are a filtered view of your existing [quality rules](/en/quality-guard/rules), grouped by the channel they apply to. Give a rule a channel-specific scope and it shows up under that channel here.
## Read the Channel Rules page
The page groups your rules by platform. Each channel card shows:
* **Channel name and icon**: the platform this rule set covers.
* **Rules count**: how many quality rules apply to this channel.
* **Compliance rate**: the share of products that pass all of the channel's rules.
* **Products covered**: how many products these rules affect.
* **Status**: whether the rule set is active or inactive.
Channels split into two sections:
* **Active Channels**: channels with active rules in place.
* **Unconfigured Channels**: connected channels that have no rules yet.
## Supported channels
Quality Guard supports channel rules for every platform WISEPIM integrates with:
GTIN, brand, product category, image requirements, and title formatting.
SEO fields, variant data, image counts, and product type classification.
Bullet points, search terms, category attributes, and A+ content readiness.
Product condition, availability, pricing format, and image specifications.
Short descriptions, stock status, weight and dimensions, and category mapping.
Marketplace identifiers, shipping attributes, and compliance data.
## Set up channel rules
Not every pack is tied to a channel. **Global packs** such as Catalog Foundation or Media Readiness apply to every channel, curated packs follow a marketplace's published spec, and **Platform Ready** packs are generated from a connector's own export contract for CCV Shop, Lightspeed, Magento 2, Mirakl, Shopify, ShopWired and WooCommerce. See [Rule Packs](/en/quality-guard/rules#rule-packs).
On the Channel Rules page, locate the channel you want to configure. If it sits under "Unconfigured Channels," click **Add Rules** to start.
When you create a rule, set its **Scope** to the channel. The rule then applies only when you export to that platform.
For popular channels, WISEPIM offers pre-built rule templates that cover common platform requirements. Browse them from the Quality Guard dashboard and apply them in one click.
Return to the Channel Rules page to see each channel's compliance rate. It tells you how many products are ready for that platform.
Start with the channel that drives the most revenue. Raising its compliance rate has the biggest impact on your business.
## Track compliance
Each channel card shows a compliance rate: the share of covered products that pass all of the channel's rules. The progress bar is color-coded:
* **Green (80%+)**: most products are export-ready.
* **Yellow (60–79%)**: a notable share needs attention.
* **Red (below 60%)**: this channel has significant data quality issues.
A low compliance rate on a channel with blocking rules means many products will be [quarantined](/en/quality-guard/quarantine) when you export. Fix the issues before your next export to avoid delays.
To dig into one platform, click **View Rules** on its channel card. This filters the main rules list to that channel, with no unrelated rules in the way.
## Common channel requirements
These are typical requirements you can enforce per channel. Treat them as starting points, then adjust to your own data standards.
* GTIN/EAN is not empty and matches a 13-digit format
* Product Name is not empty and under 150 characters
* At least 1 product image
* Brand is not empty
* Price is greater than 0
* Product Name is between 50 and 200 characters
* Description is at least 200 characters
* At least 3 product images
* EAN/GTIN is not empty
* Product is assigned to at least one category
* Meta Title is between 30 and 60 characters
* Meta Description is between 120 and 160 characters
* At least 1 main image
* Price is not empty and greater than 0
Every business has unique requirements. Customize your channel rules to match your product data standards and platform setup.
## Best practices
* **One rule set per channel.** Keep channel requirements separate from your general rules for clarity.
* **Watch compliance trends.** Check channel compliance rates often, especially before a big export.
* **Start with templates.** Pre-built templates cover the common requirements and save setup time.
* **Test before you block.** Use Warn severity first to see how many products are affected, then switch to Block once your data is solid.
* **Keep rules current.** Platforms change their requirements. Revisit your channel rules when you see export rejections.
## Related
Build and scope the rules that power each channel.
Handle products that fail a channel's blocking rules.
Track every channel rule change over time.
See how channel rules fit the bigger quality picture.
# Quality Guard Overview
Source: https://docs.wisepim.com/en/quality-guard/overview
Define product data quality rules, catch missing fields and formatting issues before export, and track compliance across your entire catalog automatically.
Quality Guard continuously evaluates your product data against rules you define. It catches missing fields, invalid formats, and incomplete content before they reach your sales channels. You set the standards, Quality Guard enforces them.
Quality Guard runs automatically on every export, sync, or publish. You can also run checks manually at any time.
## Dashboard
The Quality Guard dashboard gives you a high-level view of your catalog's health:
The percentage of your products that currently pass all active quality rules. This is your top-line quality metric.
Products that failed one or more rules and are being held for review. These need your attention before they can be exported.
A score from 0 to 100 reflecting how complete your product data is across all active rules.
### Score Distribution
Your catalog is broken into four quality tiers:
| Tier | Score Range | What It Means |
| ---------- | ----------- | -------------------------------------------------------------- |
| Excellent | 90–100 | Products are fully compliant and export-ready. |
| Good | 70–89 | Products pass most rules but may have minor gaps. |
| Needs Work | 50–69 | Products have notable quality issues that should be addressed. |
| Poor | 0–49 | Products fail significant rules and likely cannot be exported. |
### Top Failing Rules
The dashboard highlights rules causing the most failures. Fix these first for the biggest impact on your compliance rate.
## How Rules Work
Quality Guard is built on **rules**: conditions your product data must satisfy. Each rule has three parts:
Define what you are checking. For example: "Product Name is not empty" or "Description length is at least 100 characters." You can combine multiple conditions with AND/OR logic.
Define which products the rule applies to. You can target all products, specific categories, certain channels, or products within a price range.
Define what happens when a product fails. **Block** prevents the product from being exported. **Skip** excludes it silently. **Warn** lets it through but logs a warning.
## Ways to Create Rules
There are four ways to build your rule set. Pick what fits your workflow:
Describe your requirements in plain language, or let AI analyze your catalog and competitor listings to propose rules automatically.
Install a pre-built bundle of channel-scoped rules for marketplaces like Google Shopping, Amazon, or Kaufland in one click.
Browse the template gallery for ready-made rule sets organized by channel and use case. Apply one as a starting point.
Build rules from scratch using the condition builder to express any check your catalog requires.
Start with a few high-impact rules (such as requiring a product name, at least one image, and a valid EAN/GTIN), then expand your rule set over time as your data quality improves.
## Explore Quality Guard
Learn how to create and manage quality rules for your catalog.
Set up channel-specific requirements for each of your export destinations.
Review and resolve products that failed quality checks.
Track every quality-related action and change across your project.
## Getting Started
New to Quality Guard? Here is the fastest path to clean data:
Head to the Rule Packs tab for your primary channel, or browse the Templates gallery for a ready-made rule set. Either gives you a solid baseline immediately.
After applying rules, check the dashboard to see your current compliance rate and which products need attention.
Address the most critical issues flagged by your new rules. Use [bulk editing](/en/essentials/bulk-editing) or [AI enrichment](/en/essentials/enriching-products) to resolve problems efficiently.
Create custom rules or use the AI generator for your specific business requirements. Adjust severity levels as you learn which rules matter most for your catalog.
Rules with **Block** severity will prevent products from being exported. Make sure you review the impact before activating blocking rules on a large catalog, as this could hold up your next export.
## Related
Build the rules Quality Guard enforces across your catalog.
Let AI review your content and surface quality issues.
Track completeness and quality scores over time.
Channel rules first, quarantine second, feed third - the sequence that keeps you approved.
# Quarantine
Source: https://docs.wisepim.com/en/quality-guard/quarantine
Review products that failed a quality check, fix the data, and release them back to your channels. Resolve issues one by one or in bulk.
Quarantine holds products that failed a quality rule before they reach your store. Here you see what went wrong, fix the data, and release the product. Nothing in quarantine can be exported, synced, or published until you act on it.
Only rules with **Block** severity send a product to quarantine. **Skip** rules quietly leave the product out of the export. **Warn** rules let it through and log a warning.
## Read the queue
The queue lists every product held for review. Each entry shows:
| Column | What it tells you |
| ------------------ | --------------------------------------------------------------- |
| **Product** | Name, SKU, and image, so you can spot it fast |
| **Failed rules** | The quality rules the product broke |
| **Severity** | The severity of each failed rule |
| **Triggered by** | What ran the check: export, sync, publish, manual, or scheduled |
| **Target channel** | The channel the product was headed to when it was flagged |
| **Quarantined at** | When the product entered quarantine |
| **Status** | Pending, Resolved, or Bypassed |
## See why a product failed
Open an entry to see the exact rules and conditions it broke. Each failed condition shows:
* **Field** that was checked, such as Product Name, EAN/GTIN, or Description
* **Operator** that was applied, such as "is not empty" or "length is at least"
* **Expected value** the rule required
* **Actual value** found in your product data
* **Message** that explains the issue in plain language
One root cause often breaks several rules at once. Fix a single missing field, like an empty EAN, and multiple violations clear together.
## Resolve a product
Resolve a product once you have fixed the data behind the failure. The product leaves quarantine and passes the check on the next export.
Open the entry. Read the failed rules and conditions so you know what to change.
Go to the product and update the fields that caused the failure. Use [bulk editing](/en/essentials/bulk-editing) or [AI enrichment](/en/essentials/enriching-products) for common fixes.
Back in the queue, click **Resolve** on the entry. The product exits quarantine and joins your next export.
## Bypass a product
Bypass a product when you accept the violation and want to release it anyway. You enter a reason, and WISEPIM records it in the [audit log](/en/quality-guard/audit-log).
Bypassing overrides your quality rules. Use it only when you understand the trade-off, for example when a product is meant to skip a field that a general rule requires.
When you bypass an entry:
* You enter a reason that explains why the bypass is acceptable.
* The bypass and your reason are saved to the audit trail.
* The product becomes exportable despite the violation.
* Your name is recorded as the person who approved it.
## Work in bulk
Clear many entries at once instead of one by one:
* **Bulk Resolve**: select several entries and resolve them together. Use this after a bulk data fix.
* **Bulk Bypass**: select several entries and bypass them with one shared reason. Use this when a whole group shares an acceptable exception.
Each entry is logged on its own in the audit trail, so you keep full traceability even when you act on many at once.
## Status reference
| Status | Meaning |
| ------------ | ------------------------------------------------------------------ |
| **Pending** | Held for review and cannot be exported. |
| **Resolved** | Data was fixed and the product was released. |
| **Bypassed** | Violation was accepted and the product was released without a fix. |
## Common reasons products land here
The top trigger for marketplace exports. Add or verify the barcode on each affected product.
The description falls below the required length. Use AI enrichment to write longer, better copy.
Most channels reject products with no image. Upload at least one to release it.
A required language is missing. Use AI translation to fill the gaps.
## The built-in price check
One check runs on every platform export even when you have no Quality Guard rules at all: a product without a usable price is skipped. It shows in the task log as **Trustworthy numeric price (built-in)**. A missing, non-numeric or negative price cannot be bypassed. A confirmed price of zero is skipped too, unless the product has a per-product bypass or is a parent whose variants carry the price. Exports to Akeneo are exempt, because that is a PIM-to-PIM transfer.
Negative prices are refused everywhere: the API answers with an error, every import path rejects them, and XML feeds leave them out.
## Keep your queue clean
* **Check it often.** Review the queue daily, or before every export, to avoid surprises.
* **Fix data at the source.** Repair the root cause instead of bypassing again and again. Your compliance rate climbs.
* **Resolve in bulk.** After a bulk data update, bulk-resolve the affected entries to clear the queue fast.
* **Always give a reason.** Write a clear, specific note on every bypass. Your future self and your team will thank you.
* **Watch the count.** The quarantine number on the [Quality Guard dashboard](/en/quality-guard/overview) shows how many products need attention at a glance.
## Related
Set up the rules that decide what passes and what gets blocked.
Track every resolve and bypass for full accountability.
Fix many products at once before you release them.
Generate the missing content that caused the failure.
# Quality Rules
Source: https://docs.wisepim.com/en/quality-guard/rules
Create quality rules that set the standards every product must meet before export. Use the AI generator, Rule Packs, templates, or custom checks.
Quality rules are the conditions your product data must satisfy to pass Quality Guard checks. Each rule defines what you are checking, which products it applies to, and what happens when a product fails.
Rules are evaluated automatically during exports, syncs, and publishes. Products that fail a rule are handled according to its severity level: blocked, skipped, or warned.
## Managing Your Rules
The Rules page shows all your quality rules in a single list. For each rule, you can see:
* **Name and description:** what the rule checks
* **Status:** whether the rule is active or in draft mode
* **Severity:** Block, Skip, or Warn
* **Conditions count:** how many conditions make up the rule
* **Created/updated dates:** when the rule was last modified
### Available Actions
From the rules list, you can:
* **Toggle active/inactive:** enable or disable a rule without deleting it. Inactive rules are not evaluated during quality checks.
* **Duplicate:** create a copy of an existing rule as a starting point for a new one.
* **Test Rule:** run the rule against a sample of your catalog to see how many products pass or fail.
* **Delete:** permanently remove a rule you no longer need.
* **Edit:** open the rule builder to modify any aspect of the rule.
Use the draft (inactive) status when building complex rules. This lets you configure everything without affecting your current quality checks until you are ready.
## AI Rule Generator
The fastest way to build rules is to let AI do the heavy lifting. Click **Generate with AI** from the Rules tab to open the AI rule generator. Choose one of two modes:
AI looks at your catalog metadata (attributes, product families, categories, and industry) and proposes rules that match what high-performing stores in your space enforce.
* Optionally narrow the focus to specific categories.
* Add a free-text prompt to guide the suggestions (for example: "focus on rules that protect Google Shopping submissions").
* AI generates a set of draft rules you can review, tweak, and apply in one step.
Paste links to competitor or gold-standard supplier product pages (up to 10 URLs). AI extracts the patterns they use (title length, image count, attribute coverage, description depth) and turns them into rules for your catalog.
* Useful for quickly catching up to category leaders.
* Optionally name the competitor to help AI frame its rationale.
Generated rules are created as **drafts**. Review them, uncheck any you do not want, then apply. They appear in your Rules list with status Draft. Toggle them active when you are ready.
## AI Suggestions
Quality Guard also runs an automated catalog scanner that surfaces rule suggestions proactively. Open the **AI Suggestions** tab to see:
* Suggestions from the nightly catalog scan (auto-detected patterns).
* Suggestions from previous AI generator runs.
* Industry best-practice hints based on your catalog metadata.
Each suggestion shows the proposed conditions and an estimated impact. Click **Adopt** to create a draft rule, or dismiss suggestions you do not need.
If the tab says "No suggestions right now", click **Generate suggestions** to run a fresh scan instead of waiting for tonight's.
## Rule Packs
Rule Packs are pre-built bundles of rules. Find them in the **Rule Packs** tab, titled **Managed rule packs**: "Versioned rule bundles for channels and catalog workflows. Packs install as drafts, so you can review every check before it affects exports."
Filter the list with **All**, **Available**, **Installed**, or **Updates**, or search by channel, pack, or workflow. Packs sit on three shelves: **Updates available**, **Installed**, and **Available packs**. Each card shows the channel, the rule count, a severity breakdown, and **Installs as drafts**.
* **Preview pack** opens the pack. The preview explains **What this pack does**, its **Expected impact**, and the **Rules included** with their conditions and scope, then ends with **Install N draft rules**.
* **Install drafts** installs a pack you have not adopted yet.
* **Review rules** on an installed pack takes you to its rules in the Rules list.
* **Install update** appears when a newer version of an installed pack is published.
There are three kinds of pack:
* **Global packs** apply to every channel. They cover the basics: **Catalog Foundation** (completeness), **Identifier Integrity** (compliance), **Content Readiness**, **SEO & Discoverability**, **Media Readiness** and **B2B Data Exchange**, plus specialised packs such as **Variable Hygiene**, **AI Enrichment Complete**, **Translation Ready**, **Color Attribute Matches Image** and **Image Shows the Listed Product Type**.
* **Curated channel packs** follow a marketplace's published requirements: Google Shopping, Amazon, Bol.com, Meta (Facebook and Instagram) Shopping and Kaufland.
* **Platform Ready packs** are generated from each connector's export contract, so they always match what that platform rejects: required and recommended fields, title and description limits, HTML rules, identifier rules, minimum images and category mapping. Available for CCV Shop, Lightspeed, Magento 2, Mirakl, Shopify, ShopWired and WooCommerce.
Installing a pack creates all its rules as **inactive drafts** in seconds, so nothing blocks an export until you switch the rules on. Installing the same version twice does nothing. When a pack is updated for a spec change, the update shelf installs the new version as a fresh draft set and leaves your existing rules unchanged.
Rule Packs are the quickest way to get channel-compliant from zero. Install the pack for your primary channel, review the generated rules, then toggle them active.
## Rule Templates
Templates are ready-made single rules for the checks almost every catalog needs: a required GTIN, a minimum description length, a meta title inside its character range, a minimum image count.
Use a template when you want one specific check. Use a [Rule Pack](#rule-packs) when you want a whole channel covered at once.
A template gives you a working rule with its conditions already filled in. You still choose the scope and the severity, so the check matches your own standards before it goes live.
A template is a starting point, not a finished rule. Open it, adjust the threshold to your catalog, and save it as a draft first.
## Creating a Rule
To create a rule from scratch, click **Create Rule**. The rule builder walks you through four sections:
Give your rule a name and optional description. Choose whether the rule should be active immediately or saved as a draft.
Add one or more conditions that define what the rule checks. You can combine conditions with **AND** (all must match) or **OR** (any must match) logic.
Choose which products the rule applies to: all products, specific categories, certain channels, or a price range.
Set what happens when a product fails: Block, Skip, or Warn.
## Condition Builder
Conditions are the core of every rule. For each condition you pick a **field**, an **operator**, and (where relevant) a **value**.
### Field Groups
Product Name, SKU, EAN/GTIN, Brand, Supplier. Check for missing identifiers, required fields, and format validation.
Description, Short Description. Validate length requirements, required keywords, or forbidden content.
Enriched Name, Enriched Description, Has Any Enrichment. Ensure products have been processed by AI before export.
Meta Title, Meta Description, Meta Keywords. Enforce SEO best practices like character length limits.
Price, Sale Price, Stock Quantity, Weight. Validate pricing ranges, stock availability, and shipping data.
Images (count), Main Image. Require a minimum number of images or ensure a primary image exists. Vision checks (white background, watermark detection, variant consistency) are also available here.
Categories, Product Family. Ensure products are properly categorized before export.
Has Translation, Translation Complete, Missing Translation. Verify localization readiness for international channels.
Created date, Last updated, Last enriched, Last reviewed, Last exported. Flag stale products or those that have never been enriched or exported.
Custom Formula, Sum of fields, Ratio between fields, Field equals field. Cross-field validation for cases like nutrient macros adding up to calories, or sale price within a discount range of price.
### Operators
Each field supports a set of operators. Common operators include:
| Operator | Description | Example |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| is empty | Field has no value | Product Name is empty |
| is filled in | Field has a value | EAN/GTIN is filled in |
| length is at least | Text has minimum character count | Description length is at least 100 |
| length is at most | Text has maximum character count | Meta Title length is at most 60 |
| includes | Text contains a substring | Description includes "warranty" |
| does not include | Text excludes a substring | Name does not include "test" |
| matches pattern | Text matches a regex | EAN matches `^\d{13}$` |
| is more than | Number exceeds threshold | Price is more than 0 |
| is between | Number falls within range | Price is between 5 and 500 |
| has at least (images) | Minimum image count | Images has at least 3 |
| references an undefined Content Logic variable | The text uses a `{{variable}}` that is not in your Content Logic vocabulary. A known variable that happens to be empty is not flagged | Description references an undefined Content Logic variable |
| contains unresolved Content Logic syntax after rendering | Template syntax survived rendering, so a customer would see raw braces | Meta Title contains unresolved Content Logic syntax |
### Trigger Mode
Each condition has a **trigger mode** that controls the direction of the check:
* **The product is missing them:** the conditions are a requirement. The rule fires when a product does NOT meet them (e.g., require every product name to include a brand).
* **The product matches them:** the conditions are a filter. The rule fires when a product DOES match them (e.g., flag products whose name still says "product title").
### Advanced Inputs
Some field types unlock additional inputs in the condition builder:
* **Formula:** write a mathematical expression over multiple fields (for example: `protein * 4 + carbs * 4 + fat * 9`) and compare it to a target field within a tolerance. Useful for nutrition labels and multi-component products.
* **Ratio:** check that two fields fall within a defined ratio range (for example: sale price divided by price between 0.5 and 0.95).
* **Content Logic variables:** value inputs accept `{{variable}}` references that resolve before the check runs, so length rules measure the rendered output rather than the raw template.
* **Vision fields:** image checks powered by AI: dominant color, detected objects, image vs. description agreement, and variant image consistency. The image-matches-attribute check accepts a literal value, an `attribute:` reference or a `product.` reference as the expected value.
### Distribution Hint
When you set a numeric threshold, the condition builder shows a distribution hint: the p10, median, and p90 values across your catalog. This helps you pick a threshold that makes sense for your actual data rather than guessing.
### Live Impact Preview
As you build a rule, a live impact preview updates in real time against a sample of your catalog. You can see how many products would pass or fail if you saved the rule as-is, before committing any changes.
### Scope Options
Scoping lets you target rules to specific subsets of your catalog:
* **All products:** the rule applies to every product in your project.
* **Categories:** the rule only applies to products in selected categories.
* **Channels:** the rule only applies when exporting to specific channels (e.g., Shopify, Amazon).
* **Price range:** the rule only applies to products within a given price range.
Channel-scoped rules are especially useful for marketplace-specific requirements. For example, Google Shopping requires a GTIN for most products, but your own webshop might not.
### Severity Levels
Severity determines the consequence when a product fails the rule:
| Severity | Behavior | Best For |
| --------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| **Block** | Product cannot be exported. It is [quarantined](/en/quality-guard/quarantine) until the issue is fixed. | Critical requirements like missing GTINs or empty names. |
| **Skip** | Product is silently excluded from the export. Other products proceed normally. | Non-critical exclusions where you do not want the export to stall. |
| **Warn** | Product is exported, but a warning is logged in the [audit log](/en/quality-guard/audit-log). | Nice-to-have improvements that should not block the export. |
Block-severity rules will quarantine products and prevent them from being exported. Before activating a blocking rule, preview its impact to understand how many products it will affect.
## Rule Preview
Before saving, click **Preview** to see a summary of your rule configuration (conditions, scope, severity, and status) all in one place. This helps you verify everything is correct before the rule goes live.
## Condition Logic
When a rule has multiple conditions, you choose how they are combined:
* **AND:** the product must satisfy **all** conditions to pass the rule. Use this for strict requirements.
* **OR:** the product must satisfy **at least one** condition to pass. Use this for flexible requirements.
For complex validation, create separate rules rather than cramming many unrelated conditions into a single rule. This makes it easier to understand which specific check a product is failing.
## Best Practices
* **Start with a Rule Pack or template:** pre-built packs and templates for popular channels give you a solid foundation quickly.
* **Use the AI generator for custom needs:** describe your requirements in plain language and let AI draft the rules.
* **Use descriptive names:** name rules clearly (e.g., "Google Shopping - GTIN Required") so your team understands them at a glance.
* **Begin with Warn severity:** start new rules as warnings to see their impact before upgrading to Block.
* **Review top failing rules:** check the dashboard regularly to see which rules cause the most failures, then fix the underlying data.
* **Keep rules focused:** each rule should check one logical requirement. This makes troubleshooting easier.
## Related
Understand the dashboard, compliance score, and how Quality Guard fits your workflow.
Review and resolve products held back by Block-severity rules.
Manage quality rules organized by export channel.
Track every rule change and quality action across your project.
# Account Settings
Source: https://docs.wisepim.com/en/settings/account
Update your name and email in WISEPIM. Keep your profile current so teammates recognize you and notifications reach the right inbox.
Your account holds the personal details tied to your WISEPIM login. Keep your name and email up to date so teammates recognize you and your notifications land in the right inbox.
## Update your profile
Go to **Settings > Account**, or click the Account card on the Settings hub.
Update your **First Name** and **Last Name**. This name appears in emails and anywhere your identity is shown in the platform.
Change the **Email Address** field. This is also your login, so make sure you can access the new inbox first.
A save bar appears at the bottom of the page when you have unsaved edits. Click **Save** to keep them, or **Undo** to revert.
## Fields reference
| Field | What it does | Editable |
| ------------- | -------------------------------------------------- | -------- |
| First Name | Your given name, shown in emails and the interface | Yes |
| Last Name | Your family name | Yes |
| Username | Your account username (same as your email) | No |
| Email Address | The email tied to your account and used to log in | Yes |
Your username comes from your email address, so you cannot change it on its own. When you update your email, your username updates with it.
Your email is your login. Make sure you can access the new inbox before you save, or you may lock yourself out.
## Related
Change your password, set up two-factor authentication, and review active sessions.
Choose which updates reach you by email, in your browser, or with a sound.
Pick a theme, set the font size, and tune the interface to your taste.
Browse every personal and project setting in one place.
# AI Chat
Source: https://docs.wisepim.com/en/settings/ai-chat
Configure your AI chat copilot: choose a personality, set response style, manage tool access, and control knowledge library integration.
## Overview
AI Chat settings control how the [AI Chat](/en/ai/ai-chat) copilot behaves in your project. You can choose a personality, customize response style, enable or disable data tools, and configure language and knowledge library defaults.
These settings are project-level. Each project can have its own AI Chat configuration. Changes apply to all new chat sessions in the project.
## Personality
Choose how the AI communicates with you by selecting one of four personality presets:
| Preset | Description |
| ---------------- | ----------------------------------------------------------------------------- |
| **Professional** | Precise, data-driven, and authoritative. Best for reports and formal content. |
| **Friendly** | Conversational, approachable, and encouraging. Good for brainstorming. |
| **Concise** | Bullet points, brief, straight to the point. Ideal for quick answers. |
| **Creative** | Exploratory, novel angles, idea-generating. Great for marketing copy. |
The default personality is **Professional**.
### Additional Instructions
Write custom instructions that are appended to every chat message. Use this for specific preferences like "Always respond in Dutch", "Use bullet points for data", or "Cite specific numbers from reports."
The field supports up to 500 characters.
## Response Style
Control how verbose and formatted responses are.
* **Response length**: choose between **Concise**, **Balanced** (default), or **Detailed**. This controls how much information the AI includes in each response.
* **Markdown formatting**: when enabled (default), responses are rendered with rich formatting including headers, bold text, lists, and tables. Disable for plain text responses.
* **Always fetch live data**: when enabled (default), the AI always queries your product catalog and analytics tools before responding. When disabled, the AI may answer from general knowledge without fetching live data.
If you find responses too long or too short, adjust the response length setting instead of adding instructions like "keep it short" to every prompt.
## Knowledge Library
Control whether your brand context is included in every AI response.
* **Include Knowledge Library context**: when enabled (default), your brand voice, target audience, and company values from the [Knowledge Library](/en/other-features/knowledge-library) inform every response. Disable this if you want the AI to respond without brand-specific context.
## Default Language
Set a default language for new chat sessions. The AI will respond in this language by default.
Select a language from the dropdown, or leave it set to **No default (use any language)** to let the AI respond in whatever language you write in. This can be overridden per session.
## Tool Access
Choose which data tools the AI can use. Disabling a category prevents the AI from fetching that type of data.
| Category | Tools | Description |
| ----------------------- | ----- | ------------------------------------------------------------------- |
| **Quality & Catalog** | 7 | Quality scores, field coverage, catalog stats, improvement roadmap. |
| **Analytics & Revenue** | 7 | Revenue, top products, conversion funnel, marketing analytics. |
| **Customers** | 2 | Customer segments (RFM) and customer analytics. |
| **Search & SEO** | 2 | Site search analytics and Google Search Console performance. |
| **Operations** | 2 | Task statuses and integration sync health. |
All categories are enabled by default. Toggle any category off to prevent the AI from accessing that data.
If you disable all tool categories, the AI will not be able to fetch any live data and can only answer from general knowledge and your Knowledge Library context.
## Saving Changes
When you modify any setting, a save bar appears at the bottom:
* **Save changes**: persists your AI Chat settings to the project.
* **Reset**: reverts all changes to the last saved state.
## Related
Chat with your catalog and make bulk changes in plain language.
Configure the customer-facing chat widget for your storefront.
See what customers ask and where answers fall short.
# API Access
Source: https://docs.wisepim.com/en/settings/api
Connect your own code to WISEPIM and read or write your catalog through the REST API.
API Access is where you get programmatic access to your product catalog. Use it to build custom integrations on top of the WISEPIM REST API, so your own apps, scripts, and back-office tools can read and update products directly.
## What API Access gives you
This page is the developer entry point to your project's API. The WISEPIM REST API lets you do in code what you do in the app: list products, fetch a single product, create new ones, and push updates, all without manual exports.
A typical request looks like this:
```bash theme={null}
curl https://api.wisepim.com/v2/products \
-H "Authorization: Bearer " \
-H "Content-Type: application/json"
```
Every call goes over HTTPS, targets a versioned base URL (`/v2`), and returns JSON. The response includes a `count` and a `results` array, so you can page through your whole catalog from your own code.
API Access is included in your plan. If the page shows a locked preview, your plan tier does not include API access yet. Reach out and we will enable it for your project.
## Authentication
Every request must be authenticated. WISEPIM identifies your project from the token you send, so a token always acts on one project's data.
Pass your token in the `Authorization` header on every request:
```bash theme={null}
Authorization: Bearer
```
Requests without a valid token, or with one that has been revoked, are rejected. There is no other sign-in step for the API, which keeps integrations simple to wire up from any language or platform.
Treat your API token like a password. Never commit it to source control, paste it into a public issue, or ship it in client-side code. Store it in an environment variable or a secrets manager, and rotate it right away if you think it has leaked.
## Request your credentials
Key management is coming to this page soon. For now, our team provisions API credentials for you, so you can get started without waiting for the self-service flow.
Go to **Settings > API Access** in the WISEPIM app.
Click **Request API credentials**. This opens a short contact form where you tell us which project you want to connect.
Our team sets up your credentials and shares your token securely. Store it somewhere safe before you close the message.
Add the token to your `Authorization` header and send a request to the `/v2/products` endpoint to confirm it works.
The **View API documentation** button on the same page links to the full developer reference, with every endpoint, parameter, and example you need to build your integration.
Build and test against a non-production project first. That way a mistake in your code never touches the catalog your live channels read from.
## Related
See the catalog endpoint in action, with parameters and a sample response.
Connect e-commerce platforms when you would rather not write code.
Protect your account and review where it is signed in.
Find every settings page for your account and project.
# Appearance Settings
Source: https://docs.wisepim.com/en/settings/appearance
Make WISEPIM comfortable for daily work. Pick a dark or light theme, set the font size, and turn UI effects on or off.
Set how WISEPIM looks and feels so it is easy on your eyes during long product sessions. Pick a theme, choose a font size, and toggle a few interface effects. Every change applies right away.
## Pick a theme
WISEPIM ships with several dark and light themes. Click a theme card to apply it instantly. There is nothing to save.
Each theme card previews its colors: background, sidebar, content area, and accent. Compare them at a glance before you pick one.
### Dark themes
| Theme | Description |
| ----------------- | ------------------------------------------------ |
| **WISEPIM Dark** | The default dark theme with WISEPIM brand colors |
| **One Dark Pro** | Inspired by the popular Atom editor theme |
| **Dracula** | Purple-accented dark theme |
| **Monokai** | Classic code editor color scheme |
| **Nord** | Cool, arctic-blue palette |
| **Tokyo Night** | Calm, blue-tinted dark theme |
| **Synthwave '84** | Vibrant retro neon colors |
| **Gruvbox Dark** | Warm, earthy dark tones |
| **Rose Pine** | Soft, muted dark theme with rose accents |
### Light themes
| Theme | Description |
| ------------------- | ------------------------------------------------- |
| **WISEPIM Light** | The default light theme with WISEPIM brand colors |
| **GitHub Light** | Clean, GitHub-inspired light theme |
| **Solarized Light** | The classic Solarized palette in light mode |
| **Dutch Orange** | Light theme with warm orange and blue accents |
| **Atom One Light** | Light counterpart to the One Dark Pro theme |
| **Rose Pine Dawn** | Soft, warm light theme with rose accents |
## Set the font size
Use the dropdown next to the **Font size** label to switch sizes:
| Size | Pixels |
| --------------- | ------ |
| Small | 14px |
| Medium | 16px |
| Large (default) | 18px |
## Tune interface effects
| Setting | What it does |
| ------------------ | ---------------------------------------------------------------------------------- |
| **Translucent UI** | Adds a frosted-glass look to elements like the sidebar and dialogs |
| **Pointer Cursor** | Shows a pointer cursor over clickable elements. Turn it off for the default cursor |
Appearance preferences save locally and apply right away. They stay set across sessions in the same browser.
## Related
Update the name and email tied to your WISEPIM login.
Set the interface language for your account.
Jump to any page or action with one keyboard shortcut.
Browse every personal and project setting in one place.
# Billing Settings
Source: https://docs.wisepim.com/en/settings/billing
See your plan, credits, and renewal date at a glance. Change plan, buy extra credits, update your payment method, and download invoices.
Billing settings is where you manage everything you pay for. Check your plan and renewal date, see how many AI credits you have left, buy more when you need them, and download your invoices.
**What this page enables:** you always know what you are on, what you have left, and what you were charged, without asking anyone.
Checkout runs through Mollie. You can pay with iDEAL, major credit cards, or SEPA direct debit. WISEPIM never stores your full payment details. Mollie keeps your payment method on file for future purchases and subscriptions.
## See your subscription at a glance
A summary card at the top of the page shows the essentials:
| Field | What it tells you |
| ----------------------- | ----------------------------------------- |
| **Current plan** | Your active plan name |
| **Billing period** | Whether you pay monthly or annually |
| **Subscription status** | Your current status (see the table below) |
| **Next billing date** | When your next payment or renewal is due |
### What each status means
| Status | Meaning |
| -------------- | ----------------------------------------------------- |
| **Active** | Your subscription is running and renews automatically |
| **Trialing** | You are on a free trial |
| **Cancelling** | Your subscription ends when the current period closes |
| **Canceled** | Your subscription has ended |
| **Past due** | A payment failed and needs your attention |
| **Paused** | Your subscription is paused for now |
If your status shows **Past due**, update your payment method right away. Otherwise you may lose access to premium features.
## Track your AI credits
Every AI action in WISEPIM spends credits. Your plan includes a monthly credit allowance, and the billing page shows how much of it you have used.
You can also see your balance without leaving the page you are on. The header shows **N remaining**, with a **Get more credits** link next to it.
Want to know who spent what? [Usage Settings](/en/settings/usage) breaks credits down per project, team member, and action.
Not sure what your balance is worth? Open **What can I do with credits?** on the billing page. It groups the work you can do into Content, Translations, and Research and media, and shows what each action costs.
### What each action costs
| Action | Credits |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Enrichment** (description, short description, titles, SEO title and meta, attributes, image alt text, categorization) | 1 per product, per field |
| **Bulk Enrich** with **Combine into fewer calls** on | 1 per product for a single field, 2 per product for more than one |
| **Fast** translation | 1 per product, per language |
| **Pro** translation | 5 per product, per language |
| **Web research** | 5 per product |
| **EAN enrichment** | 3 per product |
| **AI image**, 1K | 15 per image |
| **AI image**, 2K | 25 per image |
| **AI image**, 4K | 35 per image |
| **AI video** | 500 per video |
Failed translations are refunded automatically, per product and per language, at the rate you were charged.
If you run out of credits during a task, the task stops with "You ran out of credits during this task." Products that could not be paid for are recorded as failed. Top up, then run those products again.
Resuming a task in the [Process Tracker](/en/other-features/process-tracker) finishes only the part that was never processed, and costs no extra credits. Restarting runs the whole selection again and is charged as a new run.
## Buy extra credits
Ran low before your renewal? Buy a credit pack. This is a one-time top-up, not a change to your plan.
The section sits on the billing page, under your plan.
Each pack shows its price per 1,000 credits, so you can compare sizes at a glance.
Checkout opens at Mollie. Pay with iDEAL, card, or SEPA direct debit.
Bigger packs and higher plans get a better rate per 1,000 credits. Unused pack credits roll over, so nothing you buy expires at your next renewal.
Prices exclude VAT, and credits are added once the payment completes. Your payment method is securely saved by the payment provider Mollie, so a later pack is paid with the saved method and your balance updates within a minute. Reopening an old payment link never charges you twice: WISEPIM shows "That payment was already processed earlier, so no new charge was made and your credits were added at the time."
## Manage your subscription
Three actions cover everything you need.
### Change plan
Click **Change plan** to compare plans side by side and pick the one you need. Each plan lists its product limit, its monthly credits, and the features it unlocks.
Upgrade in the middle of a billing cycle and you pay only the difference for the days you have left. Your renewal date stays the same.
Annual billing costs less per month than paying month to month.
### Update payment method
Click **Update payment method** to change the card or bank account you pay with. Do this as soon as a card expires, so a renewal never fails.
### Cancel subscription
Click **Cancel subscription**. A confirmation window ("Cancel your plan?") lists what you lose, so nothing comes as a surprise.
Cancelling does not cut you off straight away. You keep full access until the end of the period you already paid for. After that date your subscription ends.
## Invoices
Every payment gets an invoice, and they all live on this page.
* Filter the list with **All**, **Open**, or **Paid**.
* Each row shows the invoice number, date, status, and amount.
* Click **Download PDF** to save a copy for your bookkeeping.
### Invoice statuses
| Status | Meaning |
| ----------------- | ------------------------------------------------ |
| **Open** | Issued and waiting for payment |
| **Paid** | Payment received |
| **Uncollectible** | Written off after payment could not be collected |
| **Void** | Cancelled, so nothing is owed |
| **Refunded** | Paid and then refunded to you |
## Related
Update the name and email tied to your subscription.
Protect the account that owns your billing with a strong password and 2FA.
See what each enrichment type does before you spend credits on it.
Watch running tasks, and resume the ones that stopped without paying twice.
# Data & Privacy Settings
Source: https://docs.wisepim.com/en/settings/data-privacy
Stay in control of your data. Turn analytics on or off, export everything WISEPIM holds about you, or permanently delete your account.
Data & Privacy settings put you in charge of your own data. Choose what you share, download a full copy of your data, and delete your account when you want to leave.
## Turn analytics on or off
WISEPIM collects anonymous usage data to improve the platform. You can opt out whenever you like.
Find the **Usage analytics** toggle and switch it off to stop sharing this data.
Switching analytics off stops new data collection right away. It does not remove data collected before then.
## Export your personal data
Download a complete copy of everything WISEPIM holds about you. Use it as a personal backup or to meet a data portability request.
Go to **Settings > Data & Privacy**.
In the **Export personal data** section, click **Export**.
WISEPIM prepares your file and emails a download link to your registered address.
Your export includes your profile information, project data, and activity history.
## Delete your account
Account deletion is permanent and cannot be undone. You will find it in the **Danger Zone** at the bottom of the page.
Deleting your account removes your account, all your projects, and all related data for good. Export your data first if you want a copy.
In the Danger Zone, click **Delete**.
A confirmation window opens. Type **DELETE** in capitals to confirm.
Click **Delete my account**. You will get a confirmation email.
## Your GDPR rights
WISEPIM supports your rights under the General Data Protection Regulation (GDPR):
| Your right | How to use it |
| ----------- | ------------------------------------------------------ |
| **Access** | Export your data to download everything held about you |
| **Erasure** | Delete your account to remove your data for good |
| **Object** | Turn off usage analytics to stop data collection |
Have another privacy question? Contact the WISEPIM support team.
## Related
Update the name and email linked to your account.
Set a strong password, enable 2FA, and review active sessions.
# Data Quality Settings
Source: https://docs.wisepim.com/en/settings/data-quality
Decide what good product data means for your business. Set how WISEPIM scores completeness, channel readiness, SEO, and conversion.
Every product in WISEPIM gets a quality score. These settings let you decide how that score is calculated, so it reflects what matters to your business.
The score combines four domains. You set the weight of each one, then fine-tune the details. The result is a single grade you can sort, filter, and act on across your catalog.
Select a project from the project switcher first. Data Quality settings are saved per project.
## How scoring works
The settings page has nine tabs. The first five control the scoring model. Start with **General** to set the big picture, then open the other tabs to fine-tune each domain.
Set domain weights and the score needed for each grade.
Score how fully your product fields are filled in.
Score whether products are ready to list on each platform.
Set the character limits that drive search visibility.
Score how well content turns visitors into buyers.
The other four tabs control automated monitoring: which checks run on your catalog, which data sources feed product recommendations, what happens when a check flags a product, and when it all runs.
Choose which automated check families run on your catalog.
Add external data sources that feed product recommendations.
Decide what happens when a check flags a product.
Set how often checks run.
## General
The General tab sets the top-level scoring model: how much each domain counts, and which score earns which grade.
### Scoring model
There are two versions of the scoring engine. Every project starts on **v1** and stays there until you switch it yourself.
Turn on **scoring model v2** ("Stricter, more accurate checks") when you want a score that is harder to fool. On top of everything v1 already checks, v2 adds:
* **Placeholder values count as empty.** A description that says "tbd" no longer earns points for being filled in.
* **Attribute validity.** It is not enough for an attribute to have a value. The value has to make sense for that attribute.
* **Media completeness.** Your whole image gallery is scored, not just whether a main image exists.
* **Translation coverage.** Products missing content in one of your languages score lower.
* **Content uniqueness.** Copy repeated across many products, or stuffed with keywords, stops helping your score.
Expect scores to drop the first time you switch a project to v2. Nothing got worse. The bar simply moved, and the gaps it now shows were always there.
Switch one project to v2 first and compare. It is the quickest way to see which of your "complete" products are only complete on paper.
### Extra scoring options
Two more switches shape how the score behaves.
| Setting | What it does |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Placeholder values** | The list of throwaway values that should count as empty, such as "tbd" or "n/a". Add the ones your suppliers use. |
| **Quality Guard affects score** | Lets [Quality Guard](/en/quality-guard/overview) rule violations pull the quality score down, so one number reflects both completeness and compliance. |
### Domain weights
Your overall score is built from four domains. Adjust each weight to match its importance to your business.
| Domain | What it measures | Default weight |
| ------------------------ | ------------------------------------------- | -------------- |
| **Completeness** | How fully product fields are filled in. | 25% |
| **Channel Readiness** | Whether products meet channel requirements. | 25% |
| **SEO Discoverability** | How well content is optimized for search. | 25% |
| **Conversion Potential** | How purchase-ready the content is. | 25% |
Products whose [product family is linked to an ETIM class](/en/products/classification) also get an **ETIM Conformance** domain in their quality breakdown, measuring feature coverage and value validity. It appears only for those products, and its weight is set by the scoring profile rather than by the four sliders above.
Sell mostly on marketplaces? Raise the Channel Readiness weight. Rely on organic traffic? Raise SEO Discoverability.
### Grade thresholds
Scores map to letter grades. Set the minimum score each grade needs.
| Grade | Default minimum score |
| ----- | --------------------- |
| **A** | 90 |
| **B** | 80 |
| **C** | 70 |
| **D** | 60 |
Products that score below the D threshold get an F.
## Completeness
The Completeness tab controls how WISEPIM checks whether product data is fully filled in.
### Component weights
Completeness has three components. Set how much each one counts.
| Component | What it covers | Default weight |
| ----------------------- | --------------------------------------------- | -------------- |
| **Required Attributes** | Attributes marked required in your schema. | 50% |
| **Core Fields** | Standard fields like name, price, and SKU. | 30% |
| **Optional Attributes** | Non-required attributes that still add value. | 20% |
### Core field weights
Turn individual core fields on or off, and set how much each one matters.
| Field | Default weight |
| --------------------- | -------------- |
| **Product Name** | 5 |
| **Description** | 5 |
| **Price** | 4 |
| **SKU** | 3 |
| **Short Description** | 2 |
| **Brand** | 2 |
| **EAN** | 2 |
A higher weight means the field counts more. Missing a high-weight field hurts the score more than missing a low-weight one.
## Channels
The Channels tab scores whether products are ready to list on the platforms you sell on.
### Component weights
| Component | What it covers | Default weight |
| ---------------------- | -------------------------------------------- | -------------- |
| **Required Fields** | Fields the platform needs to list a product. | 40% |
| **Recommended Fields** | Fields that improve a listing. | 25% |
| **Content Compliance** | Whether content meets platform guidelines. | 35% |
### Enabled platforms
Choose which platforms to check readiness for. Supported platforms:
* Shopify
* Magento 2
* WooCommerce
* Kaufland
* CCV Shop
* Lightspeed
Enable only the platforms you sell on. Turning off unused platforms keeps them from dragging down your score.
## SEO
The SEO tab sets character limits for meta fields and content length. These limits decide how well products score for search visibility.
### Character limits
| Field | Default min | Default max |
| ------------------------- | ----------- | ----------- |
| **Meta Title** | 50 | 60 |
| **Meta Description** | 140 | 160 |
| **Content (description)** | 300 | 1,500 |
Search engines usually cut off meta titles past 60 characters and meta descriptions past 160. Staying within these limits keeps your content fully visible in search results.
## Conversion
The Conversion tab scores how well your content turns visitors into buyers.
### Component weights
| Component | What it covers | Default weight |
| ---------------------- | ----------------------------------------- | -------------- |
| **Persuasive Content** | Compelling, benefit-focused descriptions. | 30% |
| **Trust Signals** | Brand info, reviews, certifications. | 25% |
| **Visual Appeal** | Image quality and quantity. | 25% |
| **Purchase Enablers** | Price, availability, shipping info. | 20% |
## Detection
The Detection tab chooses which automated check families run on your catalog. Findings show up in product recommendations and in the [Quality Guard](/en/quality-guard/overview) quarantine queue; what happens beyond that is decided per family on the [Alerting](#alerting) tab.
| Check family | What it catches | Default |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| **Attribute Health** | Coverage, fill rate, and value distribution across every attribute in your schema - not just title and description. | On |
| **Cross-field Validation** | Sum, ratio, and formula checks across fields. Catches macros that don't add up to calories, or components that don't sum to total wattage. | Off (coming soon) |
| **Image ↔ Attribute Consistency** | AI vision compares image content with text attributes - color mismatches, wrong product type in the image, image/description disagreement. Uses extra credits. | Off (coming soon) |
| **Unit-aware Plausibility** | Validates numeric attributes against per-family ranges and units. Catches a hand tool listed at 1,000 kg or a TV with negative watts. | Off (coming soon) |
| **Schema Suggestions** | Attributes found in supplier feeds and competitor sources that aren't in your data model yet, so you can decide whether to add them. | Off (coming soon) |
While the tab is still at its default (only Attribute Health on), a banner offers a one-click recommended setup: Attribute Health, Cross-field Validation, and Schema Suggestions. Image ↔ Attribute Consistency and Unit-aware Plausibility stay opt-in because they use extra credits.
Families marked **Coming soon** can already be configured. Their checks start running as soon as the evaluator ships.
## Signals
The Signals tab adds opt-in data sources that feed product recommendations. Every signal is off by default, so recommendations don't change overnight - you enable each one deliberately. Enabled signals are included automatically in quality score responses.
Each signal feeds one scoring domain and lists what it needs before it can deliver anything:
| Signal | What it adds | Feeds into | Needs first |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------- |
| **Cluster Outliers** | Attributes that a product's closest peers have filled in but this product hasn't. | Completeness | Product clusters must be built. |
| **Brand Glossary Alignment** | Checks how many of your brand glossary terms appear in the product's copy. | Conversion | Terms in your project's Translation Dictionary. |
| **Internal Linking** | Flags orphaned products, under-linked products, and outbound authority leak. | SEO | Run the internal-link audit (Analytics → SEO) at least once. |
| **Google Search Console** | Grounds SEO recommendations in measured impressions, CTR, and average position over the last 30 days. | SEO | Connect Google Search Console and match your sitemap to products. |
| **Live-page Health** | Core Web Vitals, broken images, and missing price or CTA on the live storefront page. | Conversion | Run a live-page audit. |
| **Commerce Reality** | Stockouts on products with demand, pages with traffic but no orders, top sellers with thin content. | Conversion | Sync order data from at least one connected channel. |
Cluster Outliers is always on for single-product views - it has no toggle. And Commerce Reality is recommendation-only: market performance never moves quality scores.
## Alerting
The Alerting tab decides what happens when a detection family flags a product. Pick one action per family:
| Action | What happens |
| -------------- | ------------------------------------------------------------------------------------------------ |
| **Block** | Stop exports and syncs until the issue is fixed. |
| **Quarantine** | Hold the product back from exports; reviewers handle it from the Quality Guard quarantine queue. |
| **Warn** | Let the product proceed but log a warning and surface it in recommendations. |
| **Score only** | No alert - the finding only affects the quality score. |
By default, Attribute Health and Schema Suggestions are set to **Score only**; the other families are set to **Warn**. Families you turned off on the Detection tab appear grayed out here.
These actions route detection findings. They are separate from [Quality Guard](/en/quality-guard/overview) rule severities (Block / Skip / Warn), which apply to the validation rules you write yourself.
## Schedule
The Schedule tab sets how often the engine recomputes scores and runs the enabled detection families on your catalog.
| Cadence | When it runs |
| ----------------------- | ------------------------------------------------------------------------- |
| **Hourly** | Every hour. |
| **Daily** (recommended) | Once per day at the hour you choose. This is the default, set to 03:00. |
| **Weekly** | Once per week on the day and hour you choose. |
| **Manual only** | Never automatically. Use **Run now** once manual runs reach your project. |
### Run on demand
The **Run now** button starts an immediate run for all detection families you enabled, and shows live progress with a status and product count. The next scheduled run still happens at its usual time. The button needs at least one check turned on ("Enable at least one check to run.").
Manual runs are being rolled out. Until they reach your project, the button is disabled and reads "Manual runs are not available yet. Your saved schedule continues to run normally." Your schedule keeps running as saved.
Run now uses your last saved settings. If you have unsaved changes, save them first or the run won't reflect them.
## Save your changes
Change any setting on any tab and a save bar appears at the bottom of the page.
* **Save**: stores your settings for the project. The button is active only when your changes are valid.
* **Undo**: reverts everything to the last saved state.
New settings apply the next time products are evaluated. Existing scores are not recalculated right away. To refresh them now, use [Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality) in bulk editing.
## Related
Block low-quality products from reaching your channels.
Refresh scores in bulk after you change these settings.
Set defaults for how WISEPIM exports your product data.
Browse every personal and project setting in one place.
# Enrich Prompts
Source: https://docs.wisepim.com/en/settings/enrich-defaults
Pick the default prompt for each enrichment type so the right instructions are preselected in the Enrich modal and used by Auto-Fill.
Enrich Prompts let you choose a default prompt for each enrichment type. That default is preselected the moment you open the Enrich modal and is the prompt Auto-Fill runs, so your team enriches products with the same on-brand instructions every time.
These are **project-level** defaults. Select a project from the switcher first. If no project is active, the page asks you to pick one before you can set defaults.
## Default prompts per enrichment
Each enrichment type has its own dropdown. Pick a prompt and it becomes the default for that type across your project. Leave a dropdown on **No default** and WISEPIM falls back to its built-in instructions for that type.
| Enrichment type | What the default drives | What it covers |
| -------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------- |
| **Description** | The prompt used when writing product copy | Both full descriptions **and** short descriptions share this one default. |
| **Titles** | The prompt used when generating product titles | Title variants for your products. |
| **Attributes** | The prompt used when extracting structured attributes | Inferred attribute values like material, color, weight, and dimensions. |
| **SEO title & meta** | The prompt used for search metadata | Meta titles and meta descriptions. |
Each dropdown lists only the prompts that match that enrichment type, so you can never assign a description prompt to the SEO slot by mistake. If a dropdown is empty, you have no prompt of that type yet. Create one first (see [Save your changes](#save-your-changes) below for where prompts come from).
**Description** and short description deliberately share a single default. A description-shaped prompt works for both, so setting one default covers both fields.
To set a default for an enrichment type:
Pick the row for the type you want to set, for example **Titles** or **SEO title & meta**.
It lists every prompt in your project that matches that enrichment type.
Select the prompt your team should use by default. To clear a default, set the dropdown back to **No default**.
Set defaults once and your whole team enriches with the same voice. A catalog manager no longer has to remember which prompt to pick for descriptions versus SEO metadata. The correct one is already selected.
## Where your defaults show up
A default you set here does two things across the app:
* **Preselected in the Enrich modal.** When anyone opens the Enrich modal for a product or a selection, the prompt for that enrichment type is already chosen. They can still switch to a different prompt for that single run. Your default is a starting point, not a lock.
* **Used by Auto-Fill.** Auto-Fill fills gaps in a product using your defaults, so it writes the missing description, titles, attributes, or SEO metadata with the exact prompts you picked here. No prompt selection step required.
Because the Enrich modal only **preselects** your default, power users keep full freedom. The default removes the routine choice without taking away control.
## Save your changes
Change any dropdown on this page and a save bar appears at the bottom right:
* **Save changes**: stores your default prompts on the project.
* **Reset**: reverts every dropdown to the last saved state.
Until you save, nothing is applied. A short toast confirms once your defaults are stored.
The prompts you choose from here come from your **Prompt Library**. If you need a new prompt for a type, build it there first. The page includes an **Open Prompt Library** shortcut so you can jump straight over, create the prompt, and come back to set it as the default.
## Related
See how the Enrich modal and Auto-Fill use the defaults you set here.
Create and manage the prompts that appear in each enrichment dropdown.
Draft and test prompts before adding them to your library.
Browse every personal and project setting in one place.
# Export Settings
Source: https://docs.wisepim.com/en/settings/export
Set defaults for how WISEPIM exports your product data: file format, character encoding, and a quality check before products leave.
Export settings control how WISEPIM packages your product data for download or channel distribution. Set sensible defaults once, and every export starts from there.
Select a project from the project switcher first. Export settings are saved per project.
Looking to control **which fields and columns** go out per channel? That lives in [Export Templates](/en/settings/export-templates). This page sets the file-level defaults (format, encoding, and the pre-export quality check).
## Quality Guard
Quality Guard checks product quality before an export goes out, so only products that meet your standards are included.
Click **Manage** to open Quality Guard, where you can:
* Set quality gates that products must pass before export.
* Add validation rules for required fields, content length, and completeness.
* Set quality thresholds per channel.
Quality Guard rules stop incomplete or low-quality products from reaching your sales channels, which protects your brand.
## Zero-price safeguard
Prevent products from being listed as free unless you deliberately allow it.
**Block products priced at €0** is on by default. While it is on, a product with a price of exactly zero is held back from every export. Turn it off only when your channel intentionally offers free products.
Missing, invalid, and negative prices always stay blocked, whatever this switch is set to. That is the [built-in price check](/en/quality-guard/quarantine#the-built-in-price-check) that runs on every export.
## Default format
Pick the file format new exports use by default. You can still change it for any single export.
| Format | Best for |
| --------- | --------------------------------------------------------------- |
| **CSV** | A lightweight, widely supported file of comma-separated values. |
| **Excel** | A spreadsheet (.xlsx) for teams that work in Excel or Sheets. |
| **JSON** | Developer integrations and APIs. |
## Encoding
Pick the default character encoding for exported files. This controls how special characters (accents, symbols, non-Latin scripts) are stored.
| Encoding | When to use it |
| ------------------------ | -------------------------------------------------------------------- |
| **UTF-8** | The universal default. Supports every language. Best for most users. |
| **ISO-8859-1 (Latin-1)** | Western European characters. Required by some older systems. |
| **Windows-1252** | A Windows encoding for importing into older Windows tools. |
If your products use non-Western characters (Chinese, Arabic, Cyrillic), always pick UTF-8. Other encodings will corrupt them.
## Save your changes
Change any setting on this page and a save bar appears at the bottom.
* **Save**: stores your export settings for the project.
* **Undo**: reverts everything to the last saved state.
## Related
Set the quality gates that products pass before export.
Define how WISEPIM scores your product data.
Set defaults for bringing product data into WISEPIM.
Browse every personal and project setting in one place.
# Export Templates
Source: https://docs.wisepim.com/en/settings/export-templates
Build reusable export blueprints that pick exactly which fields and attributes go out, and rename column headers to match any channel or client format.
Export templates are reusable blueprints that decide what each export contains: which product fields and attributes are included, the order they appear in, and the exact column header each one carries. Build a template once, then reuse it every time you export for that channel or client.
Select a project from the project switcher first. Export templates are saved per project, so each catalog keeps its own set.
## The template list
The page opens on a table of every template you have saved for the project. Each row shows the essentials at a glance:
| Column | What it tells you |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name** | The template name, its code, and an optional description. A star marks the default for its platform; an **Inactive** chip flags templates that are switched off. |
| **Platform** | The channel the template targets, such as Generic, Shopify, or Magento 2. |
| **Attributes** | How many dynamic attributes the template includes. |
| **Layout** | Whether attributes export as **Columnar** (one column each) or **Triplets** (numbered slots). |
| **Updated** | When the template was last changed. |
| **Actions** | Edit, preview, duplicate, or delete the template. |
Each row in the **Actions** column gives you four quick controls:
* **Edit**: open the template to change its fields, headers, or formatting.
* **Preview**: see the first 3 products run through the template before you commit.
* **Duplicate**: copy the template as a starting point for a new variant.
* **Delete**: remove the template for good.
Use **Duplicate** to spin up channel variants fast. Copy your working Generic template, then tweak the copy for Shopify instead of rebuilding from scratch.
## Create a template
Click **New template** in the top right to open the builder. The same form is used when you save a column selection from the products page.
Pick a preset to pre-fill the form with platform-specific defaults, then customize from there. Leave it blank to start clean.
Give the template a clear **Template Name**. The **Template Code** auto-fills from the name as a unique identifier, and you can edit it.
Choose the channel this template is built for, such as Generic (CSV/Excel), Shopify, WooCommerce, or Google Merchant Center. This sets sensible defaults for that platform.
Select which product fields and dynamic attributes to include, and rename their column headers. The sections below cover each part.
A template needs a name, a code, and at least one product field or attribute before you can save it.
## Product fields and column headers
The **Product Fields** section is where you choose the core product data to include, fields like name, SKU, price, brand, or description, and rename the header each one carries in the exported file.
Every included field shows as a row with the internal field name on the left and a rename box on the right:
* Leave the rename box empty to keep the original field name as the header.
* Type a new label to override the header, for example mapping `sku` to `Item Number` for a client who expects that wording.
A chip counts how many fields are included and how many have been renamed, so you can see your mapping at a glance. In edit mode, use **Add Product Field** to search for and add more fields, or remove ones you no longer need.
Renaming a header only changes the export file. The field's internal name in WISEPIM stays the same, so nothing else in your catalog is affected.
Column renaming is what makes a template "just work" for a specific buyer. Match their expected spreadsheet headers once, and every future export for that client lines up automatically.
## Attribute layout
Dynamic attributes (your custom product properties) can export in two shapes. Set this with **Attribute Layout** before you add attributes.
| Layout | How it exports | Best for |
| ---------------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **One column per attribute** | Each attribute gets its own dedicated column. | Most catalogs and spreadsheet imports, where a clean column per property is easiest to read. |
| **Numbered triplets** | Attributes fill numbered slots, each producing three columns: Attribute Name, Value, and UOM. | Channels that expect a fixed, repeating block of generic attribute columns, such as some marketplace feeds. |
When you choose **Numbered triplets**, set **Max Attribute Slots** to control how many slots the export reserves. Each slot generates 3 columns, so 17 slots produce 51 columns. Products with fewer attributes simply leave the extra slots empty.
With numbered triplets, the order you add attributes decides which slot each one lands in. Add them in the sequence the receiving system expects.
## Dynamic attributes
Use **Add Dynamic Attribute** to search for and include your custom attributes, or **Add All** to pull in everything at once. Each attribute you add can be fine-tuned by expanding its row:
* **Output Column Name**: rename the attribute's column header in the export, without changing its internal name.
* **Locale Override**: for localizable attributes, export a specific language (for example `en` or `nl`) instead of the template's default locale.
* **Resolve Labels**: output human-readable labels instead of raw option codes, so a value reads "Stainless Steel" rather than a code.
* **Include Unit in Value**: append the unit to the value, for example `100 mm` instead of `100`.
* **Target Unit**: convert measurements to a specific unit (such as `mm` or `kg`) before export.
These per-attribute options let one template serve a channel exactly the way it expects, down to readable labels and consistent units.
Turn on **Resolve Labels** for any export a human will read. Codes are fine for system-to-system feeds, but labels make spreadsheets and price lists far clearer.
## Active and default templates
When you edit a template, two checkboxes control how it behaves:
* **Active**: keep the template available for use. Switch it off to retire a template without deleting it; it then shows an **Inactive** chip in the list.
* **Default for platform**: mark this template as the one to reach for first when exporting to that platform.
## Preview before you export
Click the preview action on any template to run your **first 3 products** through it and see the resulting headers and values. This is the fastest way to confirm your field selection, column renames, and attribute formatting all look right before a full export goes out.
Preview after any change to a template. It catches a mismatched header or a missing field in seconds, long before a client opens the file.
## Saving your work
Export templates do not use a page-level save bar. Instead, each template saves on its own:
* In the create or edit dialog, click **Save Template** (or **Save Changes**) to store it. The new or updated template appears in the list right away.
* **Delete** and **Duplicate** apply immediately from the row actions, with a confirmation before anything is removed.
## Related
Set the default file format, encoding, and quality check for every export.
Run an export and apply the template you just built.
Push product feeds to channels on a schedule.
Connect the stores and marketplaces your templates feed.
# General Settings
Source: https://docs.wisepim.com/en/settings/general
Set your project name, industry, and languages. These details shape how AI writes and translates your product content.
General settings hold the core facts about your project: its name, industry, target keywords, and languages. AI uses these details to write and translate your product content. Keep them accurate and your results get better.
**Where to find it:** open your avatar menu → **My Settings**, then **Catalog & Data → General** in the settings sidebar.
Pick a project in the project switcher before you open General settings. Settings apply to the selected project only.
## Name your project
Give your project a clear identity so your team knows what it holds.
Enter a descriptive name. It shows in the project switcher and across the interface.
Add a short summary of the project and the products it contains. This helps your team understand its scope at a glance.
## Add target keywords
Target keywords are the SEO terms you want to rank for. AI weaves them into your product content when they fit, so descriptions read naturally and still help you rank.
Enter a comma-separated list, for example:
```
sustainable clothing, organic cotton, eco-friendly fashion
```
Keep the list focused. Add only terms that truly match your products. AI uses a keyword only when it fits naturally, so a tight list works best.
## Set your industry
Your industry tells AI what kind of products you sell. With this context, it writes more accurate, on-topic content and translations.
Pick the industry that best matches your catalog from the dropdown. Options cover categories like fashion, electronics, food and beverage, health and beauty, and more.
Changing your industry does not rewrite existing content. It only shapes content AI generates from now on.
## Choose your languages
Your languages decide which versions of your product content WISEPIM can create.
### Primary language
The primary language is your source language. All AI generation and translation start from it.
Search the autocomplete dropdown and pick your main language. Each one shows its country flag, so it is easy to spot.
If your new primary language was in the additional list, WISEPIM removes it from there automatically.
Changing the primary language on an existing project can affect how translations are generated. Make sure your content in the new primary language is complete before you switch.
### Additional languages
Add as many extra languages as you need. WISEPIM translates your content from the primary language into each one.
* **Add a language**: search and select it in the autocomplete field.
* **Remove a language**: click the close icon on the language chip.
WISEPIM stores all your languages together (primary plus additional) and makes them available for translation across the project.
## Save your changes
Edit any field and a save bar appears at the bottom of the page. You have two choices:
* **Save**: applies your changes right away.
* **Undo**: reverts every field to the last saved state.
## Related
Control conflict resolution, empty fields, and validation for every import.
Fine-tune how AI translates content into your additional languages.
Set the language of the WISEPIM interface for your account.
Create, switch, and organize the projects in your workspace.
# Import Settings
Source: https://docs.wisepim.com/en/settings/import
Set default rules for every import: which products to include, how to handle conflicts and empty fields, and how strictly to validate data.
Import settings decide how WISEPIM handles incoming product data. Set them once and every import behaves the same way, whether you run it or a teammate does. That means fewer surprises and cleaner data.
These settings are project-wide defaults. You can still override any option when you run a specific import.
## Filter which products import
By default, WISEPIM imports every row in your file. Add import filters to bring in only the products you want.
Click **Add Filter** to open the advanced filter modal.
Each condition has three parts:
* **Field**: the product field to check (Product Name, SKU, Price, Stock Quantity, and more).
* **Operator**: the comparison logic (equals, contains, is empty, greater than, and more).
* **Value**: what to compare against. Operators like "is empty" or "has value" need no value.
Use **AND** to require every condition. Use **OR** to require just one.
Use filters to skip test products, products below a price you set, or products missing key fields like SKU or EAN.
## Handle duplicate products
When an imported product already exists in WISEPIM (matched by SKU or another identifier), conflict resolution decides what happens.
| Option | What it does |
| ------------- | ------------------------------------------------------------------------------------ |
| **Merge** | Combines existing and imported data, keeping the most complete value for each field. |
| **Overwrite** | Replaces all existing data with the imported data for matched products. |
| **Skip** | Leaves existing data untouched and ignores the imported duplicate. |
**Overwrite** replaces every field on the existing product. Make sure your file holds complete data before you use it, or you may lose information.
This project-wide setting is separate from the [CSV import wizard](/en/essentials/importing-products#csv-import). The wizard asks its own duplicate question per import - **Update existing products**, **Skip duplicates**, or **Create as new**, and does not read this setting. Set your conflict resolution here for platform and integration imports; choose per file in the wizard for CSV imports.
## Handle empty fields
This setting decides what happens when a field in your file is blank.
| Option | What it does |
| --------------------- | -------------------------------------------------------- |
| **Skip empty fields** | Keeps the existing value in WISEPIM unchanged. |
| **Clear field** | Removes the existing value and leaves the field empty. |
| **Use default value** | Fills the field with the attribute's configured default. |
**Skip empty fields** is the safest choice. It prevents data loss when your file holds only part of a product's information.
## Choose how strictly to validate
Validation decides how carefully WISEPIM checks your data before it imports.
| Mode | What it does |
| ------------ | ---------------------------------------------------------------------------------------- |
| **Strict** | Rejects any row with missing required fields or invalid formats. No partial imports. |
| **Standard** | Imports valid rows and skips rows with errors. You get a report of what was skipped. |
| **Lenient** | Imports everything it can and auto-fixes minor issues, like extra spaces or odd formats. |
**Standard** is the recommended default. It protects your data, stays flexible, and tells you clearly which rows did not import.
## Fill the gaps with your product template
Import files are rarely complete. When a new product comes in without a value for a field you did not map, WISEPIM falls back to the defaults in your [Product Templates](/en/settings/templates) settings. That covers things like status, visibility, brand, supplier, price, cost, stock, shipping, and units, plus pattern fields that build a value from `{{variable}}` placeholders.
This is on by default. You can turn it off for a single import if you want that file to bring in nothing but what it contains.
Template defaults apply when a product is **created**, and never when one is updated. An import can never quietly overwrite a value you already have.
## Save your changes
Edit any setting and a save bar appears at the bottom of the page:
* **Save**: applies your import settings to the project.
* **Undo**: reverts every change to the last saved state.
## Ready to import?
Once your defaults are saved, the page points you straight at the next step. Start an import from the Products page, or read the full walkthrough for mapping a file field by field.
Run an import step by step, from picking a file to reviewing what landed.
Set the defaults that fill the gaps your import file leaves behind.
## Related
Bring in products from a webshop page with the scraper or the browser extension.
Set the project name, industry, and languages that shape your data.
Control the defaults for exporting your products out of WISEPIM.
Pull products in automatically from your connected platforms.
# Import by Scraping Settings
Source: https://docs.wisepim.com/en/settings/import-by-scraping
Decide what happens to products from the scraper and browser extension: classify them, research them on the web, then write the fields you choose.
A scraped page rarely arrives finished. This page decides what runs automatically on every product that [Web Scraping Import](/en/essentials/web-scraping-import) or the browser extension brings in - so imports come out classified, researched, and written instead of raw.
There are two independent sections: **Classification** files products into your adopted standards, and **After an import** chains enrichment onto them. Classification runs first, and deliberately outside the enrichment chain's master switch - the family it assigns decides which attributes enrichment can fill.
**Where to find it:** open your avatar menu → **My Settings**, then **Import & Export → Import by Scraping** in the settings sidebar.
These settings are project-wide. The browser extension can skip the enrichment chain for a single import (useful when you grab one product just to look at it), but classification always runs - it is free and structural.
## Classification
If your project has adopted [classification standards](/en/products/classification), imported products are filed into them before anything else runs:
| Toggle | Default | What it does |
| --------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Assign families from ETIM** | On | A product that matches one of your adopted ETIM classes gets that class's family - with all its attributes - the moment it lands. |
| **Match categories to GS1 GPC** | On | Scraped breadcrumbs land in your adopted GPC categories instead of creating a duplicate tree next to them. |
| **Adopt missing classes during import** | Off | When a product clearly matches a class or category you haven't adopted yet, adopt it on the spot. Off means imports only use what you already adopted. |
The section shows which release you're on and how many classes or bricks you've adopted (for example "ETIM 10.0 · 24 classes"). Until you've adopted at least one standard, the toggles stay inert and the section links you to **Browse ETIM classes** and **Browse GPC categories** to set that up first.
Adopt your ETIM classes before you scrape a supplier. The family assigned here decides which attribute slots exist, so web research and enrichment below have somewhere to put the specs they find.
## After an import: the enrichment chain
Turn on **Enrich scraped products automatically** and the steps below run, in order, whenever an import by scraping finishes.
### Step 1 - Web research
Looks each product up on the web and merges the verified facts first, so the writing step has something real to work from. This costs research credits per product, and enrichment waits for the research to land before writing.
This step needs the **Pro** plan or higher. Without it you can still run [web research](/en/ai/web-research) by hand from the products table. How research behaves - focus, allowed sources, which fields it may update - comes from [Web Research settings](/en/settings/web-research).
### Step 2 - Write the content
[Bulk Enrich](/en/ai/bulk-enrich) writes each field you pick, using the project's default prompt unless you choose another per field:
* **Descriptions**
* **Short descriptions**
* **Titles**
* **SEO title and meta**
* **Attributes**
The first time you switch the chain on, **Descriptions, Titles, and SEO title and meta** are pre-selected - the three things a scraped page is reliably worst at. Attributes and short descriptions stay off because scrapes often carry usable specs, and every extra field costs credits per product.
A summary strip shows the chain at a glance: **Web research → Bulk Enrich, N fields**. If nothing is selected, imports stay as they arrive.
The chain runs on *every* product an import brings in. Before scraping a 2,000-product catalog with the chain on, run a small capped import first and check the results - credits spent on a misconfigured chain are hard to get back.
## Related
The import flow these settings apply to.
Adopt the ETIM classes and GPC categories imports file into.
Control what research focuses on and which fields it updates.
The writing step of the chain, also available on its own.
# Integration Settings
Source: https://docs.wisepim.com/en/settings/integrations
Manage your connected e-commerce platforms and control how product updates reach them. One place for every platform connection in your project.
Integration settings is your control center for getting product data out of WISEPIM and into your sales channels. From here you can see which platforms are connected, decide when updates are pushed, and manage real-time event notifications.
Pick a project from the project switcher first. Integration settings apply to one project at a time.
## Manage connected platforms
This section shows the status of every platform linked to your project. To make changes, open the full Integrations page.
Click **Manage** next to "Platform Integrations".
Pick a platform (Shopify, Magento 2, WooCommerce, and more), enter your API credentials, and follow the setup wizard.
Match your WISEPIM product fields to the matching fields on the platform. This controls what data each channel receives.
From the Integrations page you can also check connection status, fix sync issues, and disconnect platforms you no longer use.
## Pair a browser with the extension
Not every source has an API. The WISEPIM browser extension imports products straight from a webshop page you have open, and it needs a pairing key to know where to put them.
You mint that key here. Each key is tied to one project, so a paired browser can only import into that project.
A pairing key is shown once, right after you create it. Copy it into the extension straight away. If you lose it, revoke the key and mint a new one.
You can have up to 20 active keys at a time, one per browser. Revoke any of them whenever you want, and that browser stops importing immediately.
See [Web scraping import](/en/essentials/web-scraping-import) for how the extension is used day to day.
## Push updates automatically
Auto-sync decides when your changes reach your sales channels.
* **Auto-sync on:** every time you save a product, WISEPIM pushes the update to all connected platforms right away.
* **Auto-sync off:** your changes stay in WISEPIM until you run a manual export.
Use the **Enable Auto-Sync** toggle to switch between the two.
Turn auto-sync on when you want your channels to always show the latest data. Keep it off when you want to review changes before they go live.
With auto-sync on, every product change goes out instantly, including edits made by your teammates. Let your team know, so no one pushes an unfinished product by accident.
## Get real-time event notifications
Webhooks let other systems react the moment something happens in WISEPIM, such as:
* A product is created, updated, or deleted.
* A sync finishes or fails.
* A bulk import completes.
Webhook setup is **coming soon**. The feature is in active development.
Once it ships, you will be able to:
* Add your own webhook endpoints (URLs).
* Choose which events trigger a notification.
* View delivery logs and retry failed deliveries.
* Test a webhook before going live.
## Related
See how integrations work end to end and connect your first platform.
Browse every e-commerce platform you can connect to WISEPIM.
Push product data manually when auto-sync is off.
Get alerted when a sync or export finishes or fails.
# Keywords
Source: https://docs.wisepim.com/en/settings/keywords
Curate the SEO keywords WISEPIM weaves into AI-generated product content, with AI generation and bulk tools to scale them fast.
Keywords are the SEO terms WISEPIM weaves into your AI-generated product content, so descriptions, titles, and meta fields read naturally and still help you rank. Build a focused list once, and every AI enrichment and SEO task in the project draws from it.
**Where to find it:** open your avatar menu → **My Settings**, then **SEO & Discovery → Keywords** in the settings sidebar.
Pick a project in the project switcher before you open Keywords. The list applies to the selected project only.
## Positive and negative keywords
The page splits your terms into two tabs. Switch between them at the top left.
| Tab | What it means |
| ------------ | ------------------------------------------------------------------------------------------------------------------------ |
| **Positive** | Terms you want AI to work into content when they fit naturally. These are your target SEO keywords. |
| **Negative** | Terms you want AI to avoid. Use them to keep competitor names, off-brand wording, or banned phrases out of your content. |
Every action on the page (add, paste, generate, bulk edit) applies to the tab you have open, so you always know which list you are building.
## Add keywords
You have three ways to add terms by hand, from fastest to most detailed.
* **Quick add row**: the inline row at the top of the table. Type a term, press Enter, and it lands in the current tab right away. Best for adding a few terms in a flow.
* **Add keyword**: opens a dialog where you set the term, choose **Positive** or **Negative**, and optionally scope it to one or more categories. WISEPIM warns you if the term is an exact or near-duplicate of one you already have, so your list stays clean.
* **Paste a list**: click the clipboard icon to paste many terms at once, separated by commas or new lines. WISEPIM dedupes them, skips ones you already have, and shows how many are new before you add them.
Keep your positive list tight. AI uses a keyword only when it fits, so a focused set of terms that truly match your products beats a long, noisy one.
## Generate keywords with AI
Click **Generate** to have AI propose keywords from your own data instead of typing them yourself. This is the fastest way to build a strong list and find terms you would not have thought of.
Choose which signals AI draws from: **Google Search Console**, **Knowledge Library**, **Product catalog**, and **Google Analytics**. Combine them for broader coverage.
Add optional **seed terms** to steer the topic, focus on specific **intents** (transactional, informational, comparison, navigational), choose a **keyword length** (head, long-tail, or mixed), set how many to generate, pick a **language**, and toggle whether to include branded terms.
AI returns a list with each term's source, intent, and click data where available. Terms you already have are flagged and skipped automatically.
Check the keywords to keep, then add them all in one click. **Regenerate** to try again with different settings.
## Find opportunities
Click **Find opportunities** to surface search queries your project already ranks for in Google Search Console but does not yet target as keywords. WISEPIM lists them with their clicks, impressions, and average position so you can capture proven demand with one click. Select the terms you want and add them straight to your list.
## Bulk tools
Once your list grows, the table gives you tools to manage it at scale. Select rows with the checkboxes (hold Shift to select a range, or press Cmd/Ctrl+A to select everything loaded). A bulk action bar then replaces the filters:
| Action | What it does |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Edit > Set category scope** | Replace which categories the selected keywords apply to. |
| **Edit > Set fields** | Set intent, source, type, locale, priority, or target fields on all selected keywords at once. Leave a field on **Keep current** to skip it. |
| **Export** | Download the selected keywords as a file. |
| **Delete** | Remove the selected keywords, with an **Undo** option in the confirmation toast. |
**Import and export.** Use the upload icon to import keywords from a CSV or Excel file (new terms are added, duplicates are skipped) and the download icon to export your whole list. This makes it easy to move keyword sets between projects or review them in a spreadsheet.
**Search and filter.** When nothing is selected, the toolbar offers a search box plus filters for **source**, **intent**, and **locale**, so you can zero in on the keywords you want to work on.
## Tune a single keyword
Click the pencil icon on any row to open the editor, where you control exactly how that keyword behaves:
* **Priority**: Low, Medium, or High. Higher-priority terms get more weight in AI content.
* **Intent**: tag the search intent so AI uses the term in the right context.
* **Source**: where the keyword came from (manual, Search Console, Knowledge, Catalog, or Analytics).
* **Locale scope**: limit the keyword to one language, or apply it to all locales.
* **Target fields**: restrict the keyword to specific fields, like **Title**, **Description**, **Short description**, **SEO meta**, or **Attributes**. Leave it empty to use the keyword across all fields.
* **Category scope**: apply the keyword only to products in chosen categories.
* **Notes**: a free-text reminder for your team.
You can also set **category scope** inline from the table without opening the editor.
## How keywords shape AI content
This is where keywords pay off. Whenever WISEPIM generates content for a product, it pulls in the keywords that match that product's categories, language, and the field being written:
* **Positive keywords** are woven into titles, descriptions, short descriptions, SEO meta, and attributes where they read naturally, lifting your search visibility without keyword stuffing.
* **Negative keywords** are kept out, protecting your brand voice.
* **Priority, locale, target fields, and category scope** decide which keywords apply where, so each product gets the most relevant terms instead of every keyword on your list.
The result: enrichment and SEO content that ranks better and stays on-brand, with no manual editing per product.
## Save your changes
There is no Save button to remember. Every change you make on this page saves immediately: quick add, generate, paste, bulk edits, inline category scope, and deletes all persist the moment you confirm them. A toast confirms each action, and deletes include an **Undo** if you change your mind.
## Related
Configure how WISEPIM optimizes meta titles, descriptions, and search content.
Set the default rules AI follows when it writes product content.
Generate and improve product content with AI, using your keywords.
See every project setting and how they work together.
# Interface Language
Source: https://docs.wisepim.com/en/settings/language
Switch the WISEPIM interface to English, Dutch, German, Spanish, or French. The change applies instantly and is saved to your account.
WISEPIM's interface is available in **English, Dutch, German, Spanish, and French**. Your language choice is personal: it applies only to your account and does not affect what your teammates see.
This setting controls the **app interface** language only. It has nothing to do with translating your product content into other languages. For that, see [Translation Settings](/en/settings/translation).
## Changing your language
Go to **Settings > Account** and find the **Language** section. Open the dropdown, pick your preferred language, and the interface switches immediately (no page reload needed). Your choice is saved to your profile automatically.
You can also set your language during the onboarding flow when you first sign up.
## Supported languages
| Language | Code |
| -------- | ---- |
| English | en |
| Dutch | nl |
| German | de |
| Spanish | es |
| French | fr |
## Default language for new accounts
When you create a new account, WISEPIM picks a sensible starting language based on how you signed up and your browser's language preference. If you registered from a Dutch-language page, Dutch is selected. Otherwise, your browser language is used as a hint, falling back to English.
You can change this at any time from **Settings > Account**.
## Interface language vs. product translations
These are two separate things:
* **Interface language**: the language WISEPIM uses for menus, labels, and buttons. Changing it here affects only you.
* **Product content translation**: translating your catalog (titles, descriptions, attributes) into target languages for your customers. Configure this on the [Translation Settings](/en/settings/translation) page and run it from the [Translating Products](/en/products/translating-products) workflow.
## Related
Update your profile name, email, and other personal account details.
Configure how AI translates your product content into other languages.
Run bulk AI translations on your product catalog.
# Media Library Settings
Source: https://docs.wisepim.com/en/settings/media
Set how your media library looks, how files are handled on upload, and let WISEPIM auto-link images to the right products.
Media Library settings control how your asset library looks by default, how WISEPIM handles files when you upload them, and whether images get linked to the right products automatically. Get these right once and every team member starts from the same clean, consistent view.
Pick a project in the project switcher before you open Media Library settings. These settings are **project-level**, so they apply to the selected project only.
## Display preferences
These settings decide how the media library looks the first time it loads. They give your whole team a consistent starting point for browsing assets.
### Default view mode
Choose how assets appear:
| Option | What you get |
| -------- | ---------------------------------------------------------------------------- |
| **Grid** | A visual grid of thumbnails, ideal for scanning images at a glance (default) |
| **List** | A detailed table view, better when file names and metadata matter most |
### Default grid zoom
When **Grid** is selected, set the thumbnail size, from **Extra Small** (maximum density) to **Extra Large** (best for detail). Smaller zoom levels fit more assets on screen; larger ones make individual images easier to inspect. This option is disabled in List view.
### Default sort
Pick the field the library sorts by on first load, plus the direction:
* **Sort by**: Date Added, Date Modified, File Name, File Size, File Type, or Rating.
* **Direction**: **Descending** (newest, largest, or Z–A first) or **Ascending** (oldest, smallest, or A–Z first).
Sort by **Date Added, Descending** so your team always sees the freshest uploads first. Switch to **File Name, Ascending** when you need a predictable, alphabetical browse.
### Asset card details
Two toggles control how much metadata each asset card shows:
* **Show file sizes**: displays the file size (for example, 1.2 MB) on each card. Useful for spotting oversized images before they slow down your storefront.
* **Show image dimensions**: displays the pixel dimensions for images. Handy for confirming an asset meets a channel's resolution requirements at a glance.
## Upload behavior
These settings control what happens automatically the moment a file enters your library, so your team spends less time on cleanup.
* **Detect duplicate files**: warns you when a file with the same name or content already exists, so you avoid cluttering the library with copies.
* **Auto-generate thumbnails**: creates optimized thumbnails for uploaded images automatically, keeping the grid view fast and crisp without any manual work.
Leave both on. Duplicate detection keeps your library clean, and automatic thumbnails keep the grid view fast even with thousands of assets.
## Auto-link images to products
This is where the media library saves the most time. When auto-linking is on, every image you upload is matched to a product automatically, based on an identifier embedded in its filename. No more opening products one by one to attach photos.
Turn it on with **Enable auto-linking**. When it is off, your auto-link configuration is saved but no automatic linking happens.
### How matching works
WISEPIM reads the filename, pulls out the identifier, and finds the product whose identifier matches. You control three things: which identifier to match on, how it is separated in the filename, and how strict the match is.
**Identifier field** — the product field to match against. Choose from:
| Field | Matches against |
| --------------------- | -------------------------------------------------------- |
| **SKU** | Product SKU codes |
| **EAN** | European Article Numbers |
| **UPC** | Universal Product Codes |
| **MPN** | Manufacturer Part Numbers |
| **Product Name** | Product names |
| **Custom attributes** | Any text or identifier attribute defined on your project |
**Filename separator** — the character that splits the identifier from the rest of the filename. Pick **Underscore** (`SKU123_front.jpg`), **Hyphen** (`SKU123-front.jpg`), **Dot** (`SKU123.front.jpg`), **Space** (`SKU123 front.jpg`), or **Exact match**, where the entire filename (before the extension) must equal the identifier.
**Strip file extension** — when on, the extension (for example, `.jpg`) is removed before matching, so `SKU123_front.jpg` becomes `SKU123_front`.
**Case-sensitive matching** — when on, uppercase and lowercase must match exactly (`SKU-1` will not match `sku-1`). Leave it off for forgiving, case-insensitive matching, which is usually what you want.
### Walkthrough
With **SKU** as the identifier, **Underscore** as the separator, **Strip file extension** on, and case-insensitive matching, uploading `SKU-12345_front.jpg` runs like this:
`SKU-12345_front.jpg` becomes `SKU-12345_front`.
Split on the underscore and take the first part to get the identifier `SKU-12345`.
Look for a product whose SKU equals `sku-12345`, ignoring case.
Attach the uploaded image to the matched product automatically.
The settings panel shows a live preview of this flow as you change each option, so you can confirm your filename convention works before you upload a batch.
Name your image files with the product identifier up front, for example `EAN8710400000123_main.jpg`. A consistent naming convention from your photographer or supplier means an entire upload links itself in one pass.
If the identifier in a filename does not match any product, the image is still uploaded to your library — it just stays unlinked. Check your separator and case-sensitivity settings against a real filename before running a large import.
## Save your changes
Edit any setting on this page and a save bar appears at the bottom:
* **Save**: stores your media settings on the project.
* **Undo**: reverts every change back to the last saved state.
## Related
Upload, organize, and attach assets to products in the library itself.
Set the default columns, sorting, and filters for the product table.
Create the custom identifier attributes you can match filenames against.
Browse every personal and project setting in one place.
# Notification Settings
Source: https://docs.wisepim.com/en/settings/notifications
Choose how WISEPIM reaches you: turn email, browser, and sound alerts on or off, pause with Do Not Disturb, and pick which events matter.
Notification settings let you decide what WISEPIM tells you and how. Stay on top of finished imports and failed tasks, or quiet things down when you need to focus.
## Choose how you get alerts
Turn each delivery channel on or off to match how you work.
Notifications arrive in real time. The moment a task finishes or fails, the alert appears. You never have to refresh the page to find out.
### Sound
Play a sound when something happens. Turn this on to reveal a **volume slider**, then set the level from 0 to 100.
### Email
Get notification emails at your registered address. This is the best way to stay informed when WISEPIM is closed.
### Browser
Get push alerts even when WISEPIM sits in a background tab. Your browser asks for permission the first time.
Your browser shows a permission prompt if you have not allowed notifications before.
The permission status appears below the toggle: granted, denied, or not yet requested.
If the status shows "Blocked", change it in your browser settings. WISEPIM cannot undo a permission you already denied.
## Mute everything with Do Not Disturb
Turn on **Do Not Disturb** to pause every notification at once. Use it for focused work sessions. Your alerts stay off until you turn it back off.
## Pick which events you hear about
Switch each notification type on or off so your feed stays focused.
| Type | Triggered when |
| ----------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Import Complete** | An import finishes processing |
| **Export Complete** | An export finishes processing |
| **Enrichment Complete** | An AI enrichment finishes |
| **Bulk Edit Complete** | A bulk edit finishes |
| **Task Failed** | Any task hits an error |
| **New Updates** | New features or platform updates ship |
| **Account Activity** | Important account security events occur |
| **Encouragement** | You hit a milestone worth celebrating |
| **Analytics Alert** | An [analytics alert rule](/en/analytics/alerts) fires, or Google is serving different data than you exported |
| **Weekly Digest** | Your weekly catalog digest email was sent |
Every type is on by default. Turn off the ones you do not need to keep your feed focused.
Order imports do not send notifications. Scheduled order syncs run quietly in the background so they never flood your feed. To check on one, open the [Process Tracker](/en/other-features/process-tracker) and set the source filter to **System**.
## The weekly catalog digest
Once a week WISEPIM emails you a digest of the projects you own or belong to, up to five of them, most recently changed first. It is on by default for every account with an email address and arrives on Monday at 08:00 in your timezone. Every number in it comes from data already in the app.
Depending on what your projects have, the digest covers:
* **Overview**: product count, quality score with its week-over-week change, completion, and what needs attention.
* **Quality by domain** and **What happened this week**: which products were touched, added or updated, and by whom.
* **What WISEPIM did for you**: enrichment per kind and the estimated hours saved.
* **Needs attention**: content gaps with **Fix** buttons that open a pre-filtered product list, plus the three lowest-scoring products.
* **Sales, Google Search and site traffic**: revenue, orders and average order value versus the previous week, Search Console clicks and rising queries, and GA4 sessions and conversions when those sources are connected.
* **Alerts fired**, **Achievements unlocked**, a **Suggested focus** for next week and one **Did you know?** feature tip.
The digest is available in English and Dutch; other interface languages receive it in English. To stop it, use the **Unsubscribe** link in the footer, which also offers **Pause for 4 weeks**. Each delivered digest also appears as a low-priority **Weekly Digest** notification in the app.
Free and trial accounts that have not logged in or changed anything for a week receive the digest built on the sample products, with a banner saying so.
## Save your changes
A save bar appears at the bottom of the page when you have unsaved changes.
* Click **Save** to store your preferences.
* Click **Undo** to go back to your last saved settings.
Your settings live on the server, so they follow you across devices and browsers.
## Related
Update your registered email, the address your notifications go to.
Run AI enrichment and get an alert when it finishes.
Make changes in bulk and get notified when the job completes.
Start an import and know the moment it is done.
# Organization Settings
Source: https://docs.wisepim.com/en/settings/organization
Group projects and members under one organization with a shared credit pool. Fund the pool, allocate a budget per project, and manage member roles.
An organization groups your projects and teammates under one shared credit pool. Instead of every project owner buying their own credits, the organization owner funds a pool once and allocates a budget to each project. When a project's budget runs out, its paid actions pause. Nobody's personal credits are touched.
**What this page enables:** agencies and larger teams get one place to pay, one place to distribute credits, and a hard budget per client or department.
**Where to find it:** go to **Settings** > **Organization** in the Personal group.
Organizations are optional. If you run one project with one card, [Billing](/en/settings/billing) is all you need. Create an organization when several projects should draw from the same credits.
## Create an organization
Go to **Settings** > **Organization**. If you have none yet, the page shows **Create organization**.
Click **New organization**, enter a name such as your company or agency name, and click **Create**. You become its owner.
If you belong to more than one organization, switch between them with the **Organization** selector at the top of the page. Rename one at any time under **Rename organization**.
## Fund the credit pool
The overview shows the pool as **Total**, **Allocated** and **Available**. To add credits, enter an amount under **Move credits to pool** and click **Fund pool**.
Credits move from your personal account into the organization. They are not duplicated, so the same credit can never be spent twice. Only the organization owner can fund the pool.
## Invite members
Under **Members**, enter a teammate's **Email address**, choose a **Role** and click **Add member**. Three roles exist:
| Role | What they can do |
| ---------- | ------------------------------------------------------------------------------------------- |
| **Owner** | Everything, including funding the pool and deleting the organization. One per organization. |
| **Admin** | Manage members and projects, attach their own projects, and allocate budgets. |
| **Member** | Belong to the organization and work in its projects according to their project role. |
**Remove member** takes someone out of the organization. They keep their WISEPIM account and lose only organization access.
## Attach projects and allocate budgets
The **Projects & budgets** table lists every attached project with its **Allocated**, **Used** and **Remaining** credits.
A project can only be attached by its own owner. Invite that person to the organization with the **Admin** role.
The project owner opens Organization settings, picks the project under **Attach a project** and clicks **Attach**. Ownership of the project does not change, and the owner keeps all existing access.
The organization owner enters a number of credits in the **Add budget** column and clicks **Allocate**. The hint under the table shows how many credits are still unallocated in the pool.
When a project budget reaches zero, paid actions in that project pause until you allocate more. The project owner's personal credits are never used as a fallback.
Projects that were attached before this rule existed can still charge their owner's personal credits when the organization budget is empty. Such a project shows a **Protect owner** button. Click it to stop that fallback.
**Detach project** removes a project from the organization. The project itself is not deleted.
## Delete an organization
The **Danger zone** at the bottom holds **Delete organization**. Deleting removes its members and project links permanently and cannot be undone. Detach projects you want to keep first, and allocate or spend the remaining pool.
## Act on what you find
Allocate more credits under **Projects & budgets**. Paused work resumes from where it stopped; check [Process Tracker](/en/other-features/process-tracker) for tasks waiting on credits.
Open [Usage](/en/settings/usage) and group by **Project** or **Organization**. The **Used** column here shows the lifetime total per project; Usage shows it over time.
You cannot attach their project for them. Add them as an **Admin**, ask them to attach the project, then allocate a budget. This keeps project ownership where it is.
## Related
See how credits are spent per project, member and action.
Buy the credits that fund the organization pool.
Run multiple client catalogs from one account.
Set project-level roles for the people you invite.
# Settings Overview
Source: https://docs.wisepim.com/en/settings/overview
Find every WISEPIM setting in one place. Manage your personal account preferences and configure how each project handles import, export, quality, and more.
Settings is where you control two things: your personal account and each project's behavior. Personal settings follow you everywhere. Project settings apply only to the project you have open.
## Open Settings
It sits in the top-right corner of the screen.
This opens the Settings hub with all available options.
You can also jump to Settings from the **command menu**. Open it with the search icon in the header or its keyboard shortcut, then type "settings".
The hub has a **search box** and **category filters** at the top. Start typing to jump straight to a setting, or filter by Personal, Catalog & Data, Import & Export, AI & Content, SEO & Discovery, or Connections & Team.
Moved the settings items around and want the old layout back? You can reset the settings navigation to its default order at any time.
## Personal settings
These apply to your own account. They stay the same across every project you work on.
| Setting | What it controls |
| ------------------------------------------- | -------------------------------------------------------- |
| [Account](/en/settings/account) | Your name, email address, and profile information |
| [Appearance](/en/settings/appearance) | Theme, font size, and interface preferences |
| [Notifications](/en/settings/notifications) | Email, browser, and sound notifications |
| [Security](/en/settings/security) | Password, two-factor authentication, and active sessions |
| [Billing](/en/settings/billing) | Subscription plan, billing period, and payment method |
| [Data & Privacy](/en/settings/data-privacy) | Analytics opt-in, data export, and account deletion |
## Project settings
These appear only when a project is selected. They control how that one project behaves.
| Setting | What it controls |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [General](/en/settings/general) | Project name, description, industry, languages, and SEO keywords |
| [Import](/en/settings/import) | Import filters, conflict resolution, empty field handling, and validation |
| [Import by Scraping](/en/essentials/web-scraping-import#enrich-scraped-products-automatically) | What happens to products the URL scraper and the browser extension bring in |
| [Export](/en/settings/export) | Default export format, encoding, and quality validation |
| [Export Templates](/en/settings/export-templates) | Reusable field/column blueprints that decide exactly what each channel receives |
| [Pricing & Margins](/en/settings/pricing) | Markups, margins, and safeguards applied to prices at export time, per channel |
| [Product Templates](/en/settings/templates) | Default values for new products: status, pricing, inventory, shipping, and SEO patterns |
| [Product Views](/en/settings/product-views) | Default table layout, visible columns, sorting, search, and filters |
| [Media Library](/en/settings/media) | Display preferences, upload behavior, and auto-linking images to products |
| [Data Quality](/en/settings/data-quality) | Quality score across completeness, channels, SEO, and conversion |
| [Content Logic](/en/workflows/content-logic) | Reusable variables, formulas, and conditional content blocks |
| [Translation](/en/settings/translation) | Tone, per-field rules, language overrides, and a do-not-translate dictionary |
| [Web Research](/en/ai/web-research#settings-for-web-research) | What research looks for, which sources it trusts, which fields it fills, and how it suggests prices |
| [AI Chat](/en/settings/ai-chat) | Personality, response style, and tool access for the AI copilot |
| [Enrich Prompts](/en/settings/enrich-defaults) | The default prompt preselected per enrichment type and used by Auto-Fill |
| [SEO & Sitemap](/en/settings/seo) | Base URLs, slug structures, topic clusters, and external sitemaps |
| [Keywords](/en/settings/keywords) | SEO keywords WISEPIM weaves into AI-generated content, with bulk tools |
| [Integrations](/en/settings/integrations) | Connected platforms, auto-sync, and webhooks |
| [API Access](/en/settings/api) | Programmatic access to your catalog through the REST API |
| [Workflows](/en/settings/workflow-settings) | Guided pipelines that move products through lifecycle stages |
| [Product Lifecycle](/en/workflows/product-lifecycle) | The stages, checklists, and requirements products move through |
| [WISECHAT Widget](/en/settings/wise-chat) | Your storefront AI shopping assistant: brand, behavior, and install |
| [Team & Permissions](/en/teams/team-management) | Team members, roles, and invitations |
Project settings are tied to the project you have open. Switch projects and you will see a different set of values.
## Related
Update your name, email, and profile details.
Set the default table layout for your whole team.
Tune how WISEPIM scores the quality of your products.
Jump to any setting or page in a couple of keystrokes.
# Pricing & Margins
Source: https://docs.wisepim.com/en/settings/pricing
Add margins, markups and marketplace fees on export, per channel, with safeguards that protect your floor. Prices in WISEPIM stay untouched.
Different channels need different prices. A marketplace takes a 15% fee, a reseller gets 20% off, one brand carries a thinner margin than the rest. Pricing rules handle all of that at the moment products leave WISEPIM.
The important part: **rules transform prices on export only. The price stored on your product never changes.** Turn the rules off and every export goes back to your stored prices immediately, with nothing to undo.
Pricing rules need the **Scale** plan or higher. You can open this page, read it, and look at the templates on any plan, but the master switch, **New rule**, and saving are locked with a note pointing at the upgrade.
Pricing rules use **no AI credits**.
This is not the same as [Discounts & Pricing](/en/products/discounts). Discounts change the prices stored on your products and sync those prices to your stores. Pricing rules leave your stored prices alone and adjust the number at export time. If you want the price in WISEPIM to actually change, use discounts.
It is also not the same as the **Pricing strategy** in Web Research settings, which reads competitor prices and *recommends* a price for a product. That is research about what to charge. This page is about what to send.
## How the page is laid out
Open **Pricing & Margins** in Settings, under Import & Export.
* **Apply pricing rules on export** is the master switch at the top. When it is off, exports use your prices exactly as stored, and every rule below is ignored. This is your one-click escape hatch.
* **Pricing rules** lists your rules in priority order, with **Test on my products** and **New rule** beside it.
* **Rule defaults** and **Safeguards** are accordions holding the settings that apply across all rules.
* **Import price handling** decides what happens to prices coming *in*.
* A sticky save bar appears once you change something.
## Rule order matters
Rules run **top to bottom, and the first rule that matches a product applies**. Everything below it is skipped for that product. Drag a rule card to change its place in the order.
That means specific rules belong above general ones. A rule for one brand on one marketplace should sit above a catch-all rule for that marketplace, or the catch-all will swallow it.
If you do want more than one rule to apply to the same product, turn on **Allow stacking** on the rule. Stacked rules apply on top of what ran before them instead of stopping the chain.
Read your list from the top and ask "which rule catches this product first?". If the answer is a rule you did not intend, drag the specific one higher. This one habit prevents most pricing surprises.
## Create a rule
Click **New rule**. You can start from a recipe (**Marketplace fee**, **Margins per brand**, **Protect my margins**, **Charm prices**) or pick **Start from scratch**. Recipes just pre-fill the form, everything stays editable.
As you build, an **In plain words** recap updates live and describes the rule in a sentence. If that sentence does not say what you meant, the rule is wrong.
Name it after what it does, for example "Kaufland +15%". Add a description if others on your team will read it. **Active** controls whether the rule runs at all, and **Allow stacking** lets it combine with other matching rules instead of stopping the chain.
**Channels** decides where this rule applies. Leave it on **All channels**, or choose from connected platforms, file exports (CSV, Excel), product feeds (all feeds or a specific one), and brand portals (all portals or a specific one). A rule with no channel restriction applies everywhere prices go out.
Use **Quick add** for the common cases: brand, supplier, category, or family. For anything more precise, build condition cards with **Match all** or **Match any**, using the same filter conditions you know from the products page, including custom attributes. A live "≈ N products" chip tells you how many products the rule currently catches.
Pick a calculation type and enter its value. The types are explained in the table below.
Choose **Project default**, **No rounding**, **2 decimals**, **Whole numbers**, **Charm .99**, or **Charm .95**. Switch on **Also adjust sale price** if the rule should apply to the sale price too, not just the regular price.
Optional limits that stop a rule from doing damage. Covered below.
Use **Live example** and **Try it on a real product** before you save. Both are covered below.
### Calculation types
| Type | What it does | Use it when |
| --------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Percentage markup** | Raises or lowers your current price by a percentage. | Covering a marketplace fee, or giving a partner a fixed discount. |
| **Fixed amount** | Adds or subtracts a set amount. | Flat handling or shipping surcharges per item. |
| **Cost plus markup** | Starts from cost price and adds a percentage of that cost. | You think in "cost times 1.4". |
| **Cost plus margin** | Starts from cost price and works back to the price that yields the margin you name. | You think in "I need 35% margin on this". |
| **Fixed price** | Sets one exact price. | Contract pricing for a specific set of products. |
**Cost plus markup** and **cost plus margin** are not the same number. A 40% markup on cost gives you roughly a 29% margin. Name the one you actually mean, and use the previews to check.
### Vary the value by brand, supplier, family, or category
A single rule can carry different values for different groups. Set **Vary the value by** to **Brand**, **Supplier**, **Family**, or **Category**, and you get a table where each entry has its own value. **Add all** pulls in every option, **Set all to** fills them in one go, and anything you leave blank falls back to the rule's base value.
This is what keeps your list short. One "Margins per brand" rule with a value table beats forty near-identical rules.
## Safeguards
Safeguards are limits that override the calculation when it goes somewhere you do not want. All of them are optional, and an empty field means "no limit".
| Safeguard | What it prevents |
| ---------------------- | --------------------------------------------------------------------------------- |
| **Minimum margin (%)** | Selling below the margin you need after the rule runs. |
| **Minimum price** | A price dropping under a floor you set. |
| **Maximum price** | A price rising above a ceiling. |
| **Maximum change (%)** | A rule moving a price by more than you expected, usually a sign of bad cost data. |
When a safeguard changes the outcome, the result is labelled so you can see it happened rather than wondering why the number looks odd. You will see chips like **Margin floor applied**, **Raised to minimum price**, **Capped at maximum price**, **Change limited**, **Kept base price**, **No cost price**, and **Below cost**.
Set **Maximum change (%)** on any rule that uses cost price. It is the cheapest protection against one supplier file with a decimal in the wrong place.
## Rule defaults
Two settings that apply across every rule:
* **When a product has no cost price**: cost-based calculations cannot run without a cost. Choose **Skip the rule, try the next one** (the default), **Keep the current price**, or **Keep the current price and flag it** so you can find those products later.
* **Default rounding**: what **Project default** means on individual rules. Set it once here rather than on every rule.
## Import price handling
Rules change prices on the way out, which raises a question about the way back in: if a channel sends you the price you exported, should WISEPIM store it?
| Option | What happens |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Smart** *(recommended)* | WISEPIM works out whether an incoming price is really new or just your own exported price coming home, and only stores genuine changes. |
| **Never import prices** | Incoming prices are ignored. Your stored price is the only truth. |
| **Always import prices** | Incoming prices are stored as they arrive. |
| **Reverse the markup** | Runs the incoming price backwards through the rule before storing it. |
| **Keep mine and flag changes** | Your price stays, and the difference is flagged for you to review. |
**Price match tolerance** sets how close two prices must be before they count as the same, so rounding differences do not create noise.
Leave this on **Smart** unless you have a specific reason. It exists precisely to stop the marked-up price you exported from being re-imported as your new cost base.
## Check your work before it ships
Three previews, from smallest to broadest.
### Live example
Inside the rule editor, enter a current price and a cost price and see the resulting **Export price**, plus a **How it's calculated** trail showing each step. This is a sandbox, useful for understanding the maths without touching real data.
### Try it on a real product
Also inside the rule editor, but this one runs your actual product through the actual engine. You get the old price struck through, the new price beside it, and the margin and safeguard chips that applied. Use this one before you save.
### Test on my products
From the main page, **Test on my products** runs a sample of your catalog through your whole rule set at once. Pick a channel, or leave it on **All rules, any channel**.
You get chips summarizing how many products were evaluated, how many were adjusted, and how many hit a safeguard, then a table with SKU, product, cost, before, after, margin, and which safeguards fired. It tests a sample of 25 products, and **Run again** draws a fresh one.
Test on my products is the last checkpoint before real prices go to real channels. Read the safeguard column, not just the after column. A large number of safeguard hits usually means a rule is aimed at products it was never meant to touch.
## Managing your rules
Each rule shows as a card in the list:
* **Drag** the card to change its priority.
* The **on/off switch** disables one rule without deleting it.
* A **calculation summary chip** shows what it does at a glance, and a **shield** marks rules carrying safeguards.
* The menu holds **Edit**, **Duplicate**, and **Delete**. Duplicates are created inactive, so you can adjust a copy before it affects anything.
## Where rules apply
Any channel a price leaves through can be scoped in a rule:
* Connected platforms and marketplaces.
* CSV and Excel [exports](/en/essentials/exporting-products).
* [Feed Hub](/en/essentials/feed-hub) feeds, all of them or one specific feed.
* [Brand Portals](/en/other-features/brand-portals), all of them or one specific portal.
Once rules are active, the price shown in your product list can differ from the price a channel receives. That is the point of the feature, but it is worth telling your team, so nobody spends an afternoon hunting a price mismatch that is working exactly as designed.
## Act on what you find
Start from the **Marketplace fee** recipe, scope it to that platform's channel, and use **Percentage markup** to cover the cut. **Outcome:** your net per sale on the marketplace matches what you earn on your own shop, without a second price list.
Use one rule with **Vary the value by** set to **Brand**, then fill the value table. **Add all** and **Set all to** get you a baseline in seconds, and you only edit the exceptions. **Outcome:** one rule to maintain instead of one per brand.
Start from **Protect my margins** and set **Minimum margin**. Run **Test on my products** afterwards and look at the **Margin floor applied** count. **Outcome:** you find out how many products were quietly being sold too cheap.
Add a rule from the **Charm prices** recipe, or set **Rounding** to **Charm .99** on the rules you already have. **Outcome:** consistent price endings across every channel without editing a single product.
Create a rule scoped to that portal, then turn on **Apply pricing rules** in the [portal's](/en/other-features/brand-portals) Export & import settings. **Outcome:** one catalog serves several partner price levels. **Check first:** hide cost price and margin columns in the portal.
Turn off **Apply pricing rules on export**. Every export reverts to your stored prices on the spot, and nothing needs undoing because nothing was ever written to your products. **Outcome:** you stop the bleeding first and debug afterwards.
## Related
Show partner prices in a shareable catalog without changing stored prices.
Where CSV and Excel exports pick up your rules.
Scope rules to a single feed or to every feed you publish.
The other tool: change the prices actually stored on your products.
# Product Views
Source: https://docs.wisepim.com/en/settings/product-views
Set the default product table for your whole team: which columns show, how rows sort, what search covers, and which filters apply on load.
Product View settings decide how the product table looks the first time anyone on your team opens it. They are **project-level defaults**, so they give everyone the same starting point. Team members can still tweak their own personal view on top of these.
Changes take effect the next time a team member loads the products page. They never overwrite personal customizations a user has already saved.
## Choose which columns show
Click **Configure Columns** to open the column picker. From there you can:
* Browse all available columns, grouped by category.
* Toggle columns on or off.
* Drag columns to reorder them.
* Reset to the default column set.
Visible columns appear as chips. To remove one fast, click the close icon on its chip.
## Set the row height
Row height controls how much space each row takes. Pick the density that fits how your team works.
| Option | Best for |
| --------------- | --------------------------------------------------------------- |
| **Compact** | Tight rows for scanning large datasets quickly |
| **Comfortable** | Balanced spacing for everyday use (default) |
| **Spacious** | Taller rows when product images or long text need to be visible |
Choose **Compact** when your team mostly scans data. Switch to **Spacious** when product images or long descriptions need to show inline.
## Set the default sort and page size
### Default sort
Pick the column the table sorts by on first load, and the direction:
* **Sort by**: any sortable column, such as Product Name, Price, Created Date, or Quality Score. The rows load in this order for everyone on the project until someone sorts by another column.
* **Direction**: ascending (A to Z, low to high) or descending (Z to A, high to low).
### Rows per page
Set how many products show per page: **25**, **50**, or **100** rows.
Bigger page sizes load more data at once. If your team has slow connections, stick with 25 or 50 rows.
## Tune what search covers
### Search fields
Choose which product fields the search bar looks through. Turn each field on or off, for example:
* Product Name, SKU, EAN, Brand, Supplier
* Description, Short Description
* Meta Title, Meta Description, Meta Keywords
### Fuzzy search
Decide how strict search should be:
* **Off**: only exact matches are returned (faster and more precise).
* **On**: similar terms match too, allowing for typos and variations.
Fuzzy search can surface unexpected results when product names contain similar-looking codes or abbreviations. Test it against your own data before turning it on project-wide.
## Apply default filters
Default filters pre-filter the products page, so your team lands on the subset that matters instead of the full catalog.
To add a filter condition:
This opens the advanced filter dialog.
Choose the product field to filter on.
Set the comparison logic, such as equals, contains, is empty, or greater than.
Add the value to compare against.
Combine conditions with **AND** (all must match) or **OR** (any can match).
Default filters are handy for hiding archived products, showing only low quality-score products, or focusing on one category.
## Save your changes
Edit any setting on this page and a save bar appears at the bottom:
* **Save**: stores your product view settings on the project.
* **Undo**: reverts every change to the last saved state.
## Related
Search, filter, and sort the product table you just configured.
Set default values for every new product you create.
Decide how the Quality Score column is calculated.
Browse every personal and project setting in one place.
# Security Settings
Source: https://docs.wisepim.com/en/settings/security
Keep your WISEPIM account safe. Change your password, review where you are signed in, and follow simple habits to stay protected.
Security settings is where you protect your WISEPIM account. Change your password, check which devices are signed in, and spot anything unfamiliar before it becomes a problem.
## Change your password
Update your password in four steps. Use a new password you do not use anywhere else.
Type your existing password in the **Current Password** field. Click the eye icon to show or hide what you type.
Type your new password in the **New Password** field. It must be at least 8 characters long.
Type the new password again in the **Confirm New Password** field. Both entries must match.
Click **Save** in the bar at the bottom of the page. Your new password takes effect right away.
A password manager creates and stores strong, unique passwords for you. Aim for a mix of uppercase and lowercase letters, numbers, and symbols.
Forgot your current password? Use the "Forgot password" link on the login page to reset it.
## Review active sessions
The **Active Sessions** section lists where your account is signed in right now. Check it to make sure no one else has access.
For each session you see:
| Detail | What it tells you |
| --------------- | ----------------------------------------- |
| **Device type** | The device the session is signed in from. |
| **Status** | Whether the session is currently active. |
If you spot a device you do not recognize, change your password right away.
## Stay protected
A few simple habits keep your account safe:
* Use a unique password that you do not reuse on other sites.
* Never share your login details with anyone.
* Sign out on shared or public computers when you finish.
* Check your active sessions now and then for unfamiliar devices.
* Change your password if you think it may have leaked.
## Coming soon
We are building more ways to lock down your account.
Two-factor authentication adds a second step when you sign in, so a password alone is not enough to get in. Soon you will be able to turn it on with an authenticator app.
API keys let you connect external tools and services to WISEPIM in code. Soon you will be able to create, manage, and revoke keys from this page.
## Related
Update your name, email, and profile details.
See how your data is handled and manage privacy options.
Invite people and control who can access your projects.
# SEO & Sitemap
Source: https://docs.wisepim.com/en/settings/seo
Control the URLs, slug structures, and topic clusters that shape how search engines crawl and rank your catalog.
SEO & Sitemap settings define how your store's URLs are built and which pages search engines should discover. Set them once at the project level and every sitemap, slug, and topic cluster follows the same rules.
**Where to find it:** open your avatar menu → **My Settings**, then **SEO & Discovery → SEO & Sitemap** in the settings sidebar.
These are **project-level** settings. Pick a project first. Without one selected, the page shows a prompt instead of the editor and there is nothing to configure.
At the top of the page, four insight cards summarize your setup at a glance: how many sitemap URLs are enabled, how many are multilingual, how many topic clusters you run, and how many external sitemaps you track. They update live as you edit, so you always know the shape of your configuration.
## Keywords
The page opens with a shortcut to **Keyword Management**. SEO and keywords work together: your slugs, clusters, and meta content all lean on the keywords you target. Click the button to jump straight to the keyword workspace, then come back here to wire those keywords into your URL structure.
## Base configuration
This section sets the foundation every other URL is built from.
| Control | What it does | Why it matters |
| -------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Base URL** | Your store's root domain, like `https://your-store.com`. | Every sitemap entry and slug preview is built on top of it, so links resolve to the live site. |
| **Generate hreflang tags** | Toggle that adds `hreflang` annotations for each language version of a page. On by default. | Tells search engines which language and region a page targets, preventing duplicate-content penalties across locales. |
| **Default locale** | The primary language used when a URL has no locale prefix. Appears only when your project has multiple locales. | Sets which language search engines treat as the canonical default for your catalog. |
Set the **Base URL** before anything else. Slug and sitemap previews use it to show the exact link a search engine will see, so a correct base means accurate previews everywhere on this page.
## External sitemaps
Add the full XML sitemap URLs of sites you already publish, such as `https://example.com/sitemap.xml`. WISEPIM crawls these to power **coverage and gap analysis** in SEO analytics: it compares what is in your catalog against what is actually indexed, so you can spot pages that are missing or under-optimized.
A new input row appears.
Use the complete `.xml` address, not just the domain.
Add a row per sitemap you want to track. Remove any row with the trash icon.
External sitemaps are read-only references for analysis. Tracking one here never changes the site it points to.
## Sitemap URLs
The **Sitemap URLs** tab lists the pages WISEPIM includes in your generated sitemap. Each row is one page you want search engines to crawl, and you control exactly how it is described.
Click **Add URL** to create a new entry, then set:
* **Enabled**: the switch on the left includes or excludes the page from the sitemap without deleting the row.
* **Label**: a friendly name so your team knows what the page is.
* **Multilingual**: the language icon marks a page that exists in every locale, so WISEPIM emits one sitemap entry per language.
Expand a row to fine-tune how search engines treat it:
| Field | What it controls |
| -------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Path** | The page path appended to your Base URL. The live preview underneath shows the full resulting URL. |
| **Change frequency** | A hint to crawlers on how often the page changes: always, hourly, daily, weekly, monthly, yearly, or never. |
| **Priority** | How important this page is relative to others, from highest (1.0) down to lowest (0.1). |
Give your most valuable pages, like the homepage and top category pages, a high priority and a realistic change frequency. This guides crawlers toward what matters and keeps your sitemap honest.
## Slug structures
The **Slugs** tab defines the URL pattern for each type of content: **Products**, **Categories**, and **Pages**. A pattern uses placeholder variables wrapped in braces, like `/{slug}`, that WISEPIM fills in per item.
Each row offers a set of variables you can use, shown as clickable chips. Click a chip to append it to the pattern:
* **Products**: `{slug}`, `{sku}`, `{category}`, `{id}`, `{name}`
* **Categories**: `{slug}`, `{parent}`, `{id}`, `{name}`
* **Pages**: `{slug}`, `{id}`, `{title}`
As you edit a pattern, a live preview shows a sample URL built from your Base URL, so you can see the real result before saving. For example, a product pattern of `/{category}/{slug}` previews as `https://your-store.com/electronics/example-item`.
Keep slugs short, readable, and keyword-rich. A pattern like `/{slug}` produces clean URLs that both shoppers and search engines prefer over ID-based links.
## Topic clusters
The **Clusters** tab lets you model topic clusters: a content strategy where one authoritative **pillar page** links out to several related **cluster pages** around a shared theme. This structure signals topical depth to search engines and helps you rank for a whole subject, not just single keywords.
Click **Add cluster** to create one, then build it out:
* **Name**: the theme the cluster covers, such as "Wireless Audio."
* **Pillar page**: the main URL that anchors the cluster. Mark it with the crown so it is clear which page is the hub.
* **Cluster pages**: the supporting URLs that link back to the pillar. Add one per row, or remove any you no longer need.
* **Keywords**: the search terms this cluster targets, added as chips you can remove individually.
Start with one cluster around your strongest category. List the pillar page, add the supporting articles or sub-categories as cluster pages, and tag the keywords you want to own. Expand to more clusters as your content grows.
## Save your changes
Edit any setting on this page and a save bar appears in the bottom corner with an unsaved-changes indicator:
* **Save changes**: stores your full SEO and sitemap configuration on the project.
* **Reset**: discards every change since your last save.
Changes apply to future sitemap generation and URL building. Existing live URLs are not rewritten until you regenerate.
## Related
Manage the target keywords your slugs and clusters build on.
See coverage, gaps, and rankings powered by your sitemap setup.
Set default meta and content values for every new product.
Browse every personal and project setting in one place.
# Product Templates
Source: https://docs.wisepim.com/en/settings/templates
Set the defaults every new product starts with: status, pricing, inventory, shipping, and SEO patterns. Save time and keep your catalog consistent.
Product templates pre-fill fields whenever someone creates a new product. Set them once and every new product starts with the same baseline. This saves time, keeps your catalog consistent, and cuts repetitive data entry for your team.
Templates only apply to products created **after** you save them. Existing products do not change.
## Set product defaults
These are the baseline values every new product starts with. You can override any of them on a product later.
### Status and type
* **Default status**: where new products begin.
* **Draft**: hidden from channels.
* **Active**: published.
* **Archived**: hidden but kept.
* **Default product type**: the kind of product to create.
* **Simple**: a standalone product.
* **Configurable**: has variants like size or color.
* **Bundle**: groups several products together.
* **Virtual**: non-physical, such as a service.
### Visibility
Choose whether new products are **visible on connected channels** by default. When this is off, new products stay hidden until you publish them yourself.
### Brand and supplier
Pre-fill a default brand and supplier. They appear on every new product, and you can change them per product.
### Family and category
If your account has product families and categories set up, pick a default for each. New products are placed there automatically.
### Pricing
Set a default **price** and **cost**. Leave them blank to enter pricing by hand for each product.
Defaults pay off most when your project covers a single product line. One brand and one category means far less repeat typing.
## Auto-generate SKUs
Build a pattern and WISEPIM creates a SKU for every new product. A live preview below the field shows how generated SKUs will look.
Use these variables in your pattern:
| Variable | Becomes |
| ------------ | ------------------------- |
| `{brand}` | The product's brand name. |
| `{category}` | The product's category. |
| `{###}` | A random number. |
**Example**: the pattern `{brand}-{category}-{###}` with brand "EcoWear" produces SKUs like `EcoWear-TSHIRTS-4821`.
Leave the SKU pattern blank to assign SKUs by hand.
## Set inventory defaults
Control how stock works for new products:
* **Manage stock**: turn automatic inventory tracking on or off.
* **Default stock status**: choose **In Stock**, **Out of Stock**, or **On Backorder**.
* **Low stock threshold**: the quantity that triggers a low-stock alert.
## Set shipping defaults
Define default shipping and measurement settings:
* **Requires shipping**: turn off for digital products or services that do not ship.
* **Weight unit**: grams, kilograms, ounces, or pounds.
* **Dimension unit**: centimeters, meters, inches, or feet.
* **Country of origin**: the default manufacturing or origin country.
## Auto-generate SEO fields
Create patterns that fill the meta title and meta description for every new product. Patterns support dynamic variables, so each product gets unique, relevant text.
Use `{name}`, `{brand}`, `{sku}`, or `{category}` as placeholders. If you have content logic variables set up, you can also use the `{{product.field}}` syntax, with autocomplete to help.
| Field | Pattern | Generated output |
| ---------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| Meta title | `{name} - {brand} \| Your Store` | `Organic Cotton T-Shirt - EcoWear \| Your Store` |
| Meta description | `Shop {name} from {brand}. High quality {category} available now.` | `Shop Organic Cotton T-Shirt from EcoWear. High quality T-Shirts available now.` |
For best results, keep meta titles under 60 characters and meta descriptions between 140 and 160 characters.
## Save your changes
When you change any setting, a save bar appears at the bottom of the page:
* **Save**: stores your template settings for this project.
* **Undo**: reverts everything to the last saved state.
## Related
Add products that start with your template defaults.
Bring in products in bulk from a file or integration.
Build the `{{product.field}}` variables used in SEO patterns.
Check that products meet your quality standards.
# Translation
Source: https://docs.wisepim.com/en/settings/translation
Control how AI translates your product content: pick Fast or Pro, set the tone, add per-field rules, and lock in terms with a dictionary.
## What you can do here
Translation settings decide how the AI translates your products. Set them once, and every AI translation in your project follows the same rules. You stay in control of tone, terminology, and which fields get translated.
**Where to find it:** open your avatar menu → **My Settings**, then **AI & Content → Translation** in the settings sidebar.
These settings apply to all AI translations, including bulk translations from [Translating Products](/en/products/translating-products). Changes affect future translations only. Content you already translated stays as it is.
The page has five tabs. Start with **General** for project-wide rules, then add more specific rules only where you need them.
Set the default mode, tone, and content handling for the whole project.
Add rules for a single field, like a character limit on the product name.
Override the tone or formality for one language.
Use different terminology for a group of products.
Lock in how specific terms translate across every language.
## General
The General tab sets the default behavior for all fields and languages.
### Choose Fast or Pro
Every translation runs in one of two modes. Set the default here, and pick a different one per run when you need to.
| Mode | What it does | Credits |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| **Fast** | The recommended default. Industry-leading quality at catalog speed. Use it for everything unless you have a reason not to. | 1 per product, per language |
| **Pro** | Uses a much larger model that reasons before it writes. Worth it for flagship products, tricky copy, or a market you cannot get wrong. | 5 per product, per language |
Fast is on by default. Start there, translate your catalog, then re-run **Pro** on the products where the wording really matters. Failed translations are refunded automatically.
### Tone and style
| Setting | What it does |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Strict mode** | On by default. Translates word for word with no style changes. The safest choice for technical or regulated content. Turn it off to control tone and style. |
| **Tone of voice** | Pick a preset like professional, casual, or persuasive. Or choose **Custom** to describe your own tone. Available only when strict mode is off. |
| **Translation style** | A slider from **Literal** (1) to **Balanced** (3) to **Creative** (5). Higher values let the AI adapt phrasing more freely. Available only when strict mode is off. |
### Content handling
Decide how the AI treats specific content during translation.
* **Preserve brand names**: keeps brand names, model numbers, and proper nouns untranslated. On by default.
* **Preserve formatting**: keeps HTML, markdown, lists, and tables intact. On by default.
* **SEO optimization**: optimizes translated meta fields for search in the target language. Off by default.
* **Unit handling**: choose how measurements convert.
| Option | What happens |
| ----------------------- | ------------------------------------------------------------------------- |
| **Keep original units** | Units stay as they are (inches remain inches). |
| **Convert units** | Units switch to the target locale's standard (inches become centimeters). |
| **Show both** | The original and converted units both appear. |
### Additional instructions
A free-text field for custom rules that apply to every translation. Use it for project-wide notes like "Always use formal language" or "Never abbreviate product names."
## Consistency you get for free
Some things you do not have to configure. They apply to every translation, in both modes.
* **Translation memory**: once a phrase is translated one way, it stays that way. The same wording comes out the same across products, across chunks of a big run, and across runs you start weeks apart.
* **Built-in style guides**: WISEPIM ships language rules for 24 locales, covering things like formality conventions and local typography. You get them without writing a single instruction.
* **Regional languages are treated as their own**: pairs like `nl` and `nl-BE`, or German variants, are translated and stored separately. A Belgian Dutch translation is no longer mistaken for a copy of the Dutch one.
## Fields
Use the Fields tab to set rules for a single product field. Leave a field empty to use the General settings.
These built-in fields are always available:
* **Product Name**
* **Description**
* **Short Description**
* **Meta Title** (SEO)
* **Meta Description** (SEO)
* **Meta Keywords** (SEO)
Custom attributes from your catalog appear here too, grouped by attribute group. You configure them the same way.
Use the search bar at the top of the Fields tab to find a field or attribute by name.
### Set rules for one field
Expand any field to configure these options:
* **Translate this field**: turn translation on or off for this field. Useful for fields you want to skip, like SKU-based names.
* **Translation instructions**: rules that apply to this field only, such as "Keep the product name under 60 characters."
* **Max character length**: limit the length of the translated output. Leave empty for no limit.
* **Output format template**: build the output from variables.
| Variable | What it inserts |
| ------------------------- | ------------------------------------------------------------------ |
| `{{product.name}}` | The product's name. |
| `{{product.description}}` | The product's description. |
| `{{brand.name}}` | The product's brand name. |
| `{{global.store_name}}` | Your store name. |
| `{{attribute.code}}` | A custom attribute value (replace `code` with the attribute code). |
For example, a template of `{{product.name}} | {{brand.name}}` produces "Wireless Headphones | SoundMax" in the output.
## Languages
Use the Languages tab to change how the AI translates into one language. These overrides win over the General settings.
Click **Add language** and pick a locale from your project. Only locales already added under **Additional Languages** in [General settings](/en/settings/general) appear here - this tab overrides behavior for existing locales, it does not add new ones. Each language override includes:
* **Formality**: choose **Default**, **Formal**, **Informal**, or **Neutral**. This helps with languages that have a formal and informal form, like "Sie" and "du" in German.
* **Tone override**: set a different tone for this language. Choose "Inherit from general" to keep the project tone.
* **Language-specific instructions**: rules for this language only, such as "Use British spelling for English."
You can add one override per locale in your project.
## Categories
Use the Categories tab when a group of products needs its own terminology or style. For example, electronics may need technical terms while children's products need a playful tone.
Click **Add category** and pick categories from your catalog tree. For each one you can set:
* **Translation instructions**: rules for this category, such as "Use technical terminology for electronics."
* **Terminology notes**: preferred terms, glossary notes, and naming conventions for this category.
## Dictionary
Use the Dictionary to fix how key terms translate across every language. This keeps your terminology consistent throughout the catalog.
### Add a term
A new entry appears.
Type the original term in your primary language.
Fill in one field for each target language to set the exact translation.
Use the context field to clarify meaning, such as "audio product category" versus "computer mouse."
To keep a term untranslated in every language, turn on **Keep as-is**. This is useful for brand names, product codes, and technical terms.
### Edit many terms at once
Click **Bulk edit** to switch to a text editor for adding or changing several terms together. The format is:
```
wireless headphones
context: audio product category
de: kabellose Kopfhorer
fr: casques sans fil
WISEPIM | keep-as-is
```
Start each entry with the source term on its own line. Indent the lines below it to set the context and the translation per language. Add `| keep-as-is` after a term to keep it untranslated.
### Import a dictionary file
You can load terms from a file instead of typing them. Before anything changes, WISEPIM shows what it found: how many terms are new, how many update existing entries (translations merged), and that invalid rows will be skipped. The confirmation reads "New terms are added and translations on matching terms are merged. Existing translations not included in the file stay unchanged." Click **Import dictionary** to apply.
### Delete several terms at once
Tick the terms you want to remove, or use **Select all visible**, then delete them together. A dialog titled **Delete N dictionary entries?** warns "This permanently deletes the N selected entries. This cannot be undone." Confirm with **Delete N entries**.
### Let the dictionary build itself
Turn on **Auto-learn glossary from reviews** and WISEPIM grows the dictionary for you. When a [Linguistic Review](/en/analytics/linguistic-review) finds a wording inconsistency it is highly confident about, that finding becomes a dictionary entry, so the next translation gets it right the first time.
The setting is off by default. Turn it on once your first reviews look sensible.
Auto-learned entries never overwrite your work. Terms you added yourself, and anything marked **Keep as-is**, always win.
## Turn reviewer feedback into settings
Native-speaker reviewers usually hand you their feedback as a file: a spreadsheet of corrected terms, a Word document of notes, an annotated PDF. Instead of translating that into settings by hand, click **Ingest feedback** at the top of the Translation settings page and let AI do it.
Drag in an Excel, PDF, Word, or text file (up to 20MB), or pick one from your [media library](/en/products/media-library).
Click **Analyze feedback**. The AI compares the feedback against your current translation settings, dictionary, and other levers. The analysis runs in the background, so you can leave the page and come back later.
You get a list of suggested changes, split into three groups. Everything starts selected; deselect anything you don't want.
Click **Apply changes**. The selected changes land in your translation settings and are used on the next translation run.
The review screen groups suggestions by what they need from you:
* **Conflicts to resolve**: your reviewers disagree on these - for example, one wants product names kept in English while another wants them translated. Each conflict shows the positions with the quoted evidence from the file, and you pick which rule wins. WISEPIM marks the option it recommends.
* **Settings changes**: adjustments to how the AI translates, based on recurring feedback. Every card shows what changes (current → proposed), what it improves, and the evidence from your feedback file, with a priority so you can see what matters most.
* **Terminology**: corrected term pairs per language, with how often reviewers raised each one. Applied terms are added to your [dictionary](#dictionary), so every future translation uses the approved wording.
Nothing changes until you apply, and you can adjust every setting later on this page. After you apply, your next [translation quality review](/en/analytics/linguistic-review) checks each change against the actual product texts and reports whether the feedback was really applied.
## Save your changes
When you change any setting, a save bar appears at the bottom:
* **Save changes**: saves your translation settings to the project.
* **Reset**: discards all changes since your last save.
## Related
Translate your catalog in bulk using these settings.
Add or manage the locales in your project.
Reuse saved instructions across AI tasks.
# Usage Settings
Source: https://docs.wisepim.com/en/settings/usage
See where your AI credits go per project, team member and action, export the ledger as CSV, and set who may spend credits with monthly caps per member.
The Usage page shows how your AI credits are spent. Every paid action, from a single description to a bulk translation, lands in one ledger that you can slice by project, team member and action type.
**What this page enables:** you can answer "where did the credits go?" in seconds, spot a member or task that is burning through the budget, and put a cap on it before it becomes a problem.
**Where to find it:** go to **Settings** > **Usage** in the Personal group.
## Pick a period and a grouping
Two controls at the top drive everything below them:
* **Date range:** **Last 7 days**, **Last 30 days**, **Last 90 days** or **Last year**.
* **Group chart by:** **Project**, **Member**, **Action** or **Organization**. This decides how the daily chart is stacked.
Click **Export CSV** to download the filtered ledger for your own reporting.
The whole investigation lives in the page URL: range, grouping and any drill-down filters. Copy the link to share exactly what you are looking at with a teammate, or open two tabs to compare two ranges.
## Read the totals
Four tiles summarize the period:
| Tile | What it counts |
| -------------------- | ------------------------------------------------------------------------------------------------------ |
| **Credits spent** | Every credit deducted in the period. |
| **Credits refunded** | Credits returned for work that failed. WISEPIM refunds automatically, so a failed run never costs you. |
| **Net usage** | Spent minus refunded. This is what the period actually cost. |
| **Actions** | The number of paid actions behind those credits. |
### Value delivered
The **Value delivered** card turns the same numbers into work done: how many AI tasks completed and an estimate of the hours you did not spend doing them by hand. Each task type is weighted by the time it typically takes manually, such as writing a description or translating a product, so treat the hours as an estimate rather than a timesheet.
## Drill into the breakdowns
Below the **Daily credit usage** chart you get breakdown tables **By project**, **By team member** and **By action**, plus **By organization** when your projects belong to one. Click any row to apply it as a filter. Active filters show as chips above the chart; remove one with its close button or use **Clear all**.
The action types you will see include AI enrichment, Bulk enrich, Translation, SEO content, Titles, Internal linking, Image alt text, Categorization, Web research, Search intent, AI chat, ETIM enrichment, Image generation and Video generation.
### Recent activity
The **Recent activity** table is the raw ledger: date, action, member, project and credits for each event, paginated. Refunds are marked so you can tell a returned credit from a deduction.
## Spending controls
Spending controls are set per project by its owner. Change them in the project where the credits are spent.
The **Spending controls** section lets the project owner decide who can spend the project's credits and how much:
Under **Who can spend credits**, pick one of:
* **Owner, admins and editors** (default)
* **Owner and admins only**
* **Owner only**
The project owner can always spend credits. Members outside the chosen policy see their paid action refused with a message explaining the limit.
The table lists every team member with their role, what they spent this month and their **Monthly cap**. Leave it empty for **Unlimited**, or enter a number of credits. Once a member reaches the cap, further paid actions are refused until the next calendar month.
Click **Save**. Both the member and the project owner get a warning when a member crosses 80% of their cap.
A refused action because of a policy or cap is not the same as an empty credit balance. If a member reports "Monthly credit limit reached", raise their cap here; if the message is about credits running out, top up under [Billing](/en/settings/billing).
## Act on what you find
Set the range to **Last 30 days** and group by **Action**. A tall stack of one color usually points to a bulk run, such as Bulk enrich or Translation. Click that action to filter, then check **By team member** to see who started it.
Use the **Monthly cap** column in Spending controls. Start with a cap that covers a normal month plus some headroom. The 80% warning gives both of you time to talk before work stops.
Group by **Project**, set the range to the billing period and click **Export CSV**. The export carries project, member and action per event, which is enough for a chargeback line per client.
## Related
See your credit balance, what each action costs, and buy extra credits.
Share one credit pool across projects and allocate a budget to each.
Invite teammates and assign the roles that spending controls build on.
Watch the running tasks behind the credits being spent right now.
# Web Research Settings
Source: https://docs.wisepim.com/en/settings/web-research
Control what web research focuses on, which sites it may use, which product fields it updates, and how market prices turn into a recommended price.
Every [web research](/en/ai/web-research) run - started by hand from the products table, by an automation, or automatically [after a scraped import](/en/settings/import-by-scraping) - follows the rules on this page. Set them once and research behaves the same everywhere.
Web research needs the **Growth** plan or higher and costs **5 credits per product per run**. The settings page itself is free to configure.
## General
Defaults used every time web research runs:
* **Research focus**: optional instructions the AI pays extra attention to while researching, up to 500 characters - for example "Focus on technical specifications and sustainability certifications."
* **Default identifier**: which product identifier is used to search the web when you don't pick one manually. **EAN (recommended)** by default; UPC, model number, SKU, brand + product name, and brand + MPN are also available.
* **Research freshness window**: skip products already researched within this many days. Default **30**. Set it to 0 to always re-research - but that spends credits every run, so leave a window on unless you have a reason not to.
* **Automatically apply results to products**: on by default. Turn it off and research results are only shown in the product's Web Research tab, never written to your data - useful when you want a human to merge results by hand.
* **Overwrite existing content**: off by default. When on, research results replace already-filled fields instead of only filling empty ones. Use it for refreshing a stale catalog.
The freshness window is what makes automatic research affordable. Re-importing the same supplier feed won't re-spend credits on products researched last week - only genuinely new or stale products get a run.
## Sources
Limit or exclude the websites used for research and pricing:
* **All sources** (default): search the whole web.
* **Only these sites**: search only the listed domains - for example, just the manufacturer sites you trust.
* **Exclude these sites**: never use the listed domains - for example, a competitor whose specs you don't trust.
Both list modes take up to 10 domains (a search engine limit). WISEPIM strips `https://`, `www.`, and paths automatically, so pasting a full URL is fine.
## Identifiers to discover
Research can fill in missing barcodes and part numbers: **EAN/GTIN**, **UPC**, **MPN**, and **model number** are all on by default. Two extra toggles calculate the UPC from a known EAN and vice versa - a UPC is an EAN starting with a zero, so one can be derived from the other exactly, no research needed.
Identifiers are only ever written to empty fields. An existing barcode is never replaced - even with **Overwrite existing content** on. If research finds a different barcode than the one on the product, the mismatch is flagged instead.
## Fields to update
Choose exactly which product fields research may fill when applying results, with **All** / **None** shortcuts:
* **Content**: product name, long page title, description, short description, features, meta title, meta description, meta keywords
* **Product data**: brand, specifications (attributes), physical properties, category suggestions
* **Compliance & shipping**: country of origin, HS (customs) code, warranty, certifications, dangerous goods flag, fragile flag, handling instructions
Most content and product data fields are on by default. The warranty and certification fields (which create a project attribute on first use) and the shipping flags start off, so nothing appears in your data model until you opt in.
## Pricing strategy
Research also gathers competitor prices. This section turns those market prices into a **recommended selling price**:
| Strategy | What it recommends |
| ------------------------------- | ------------------------------------------------ |
| **No recommendation** (default) | Only show market statistics |
| **Match average** | Price at the market average |
| **Match lowest** | Price at the cheapest competitor |
| **Undercut lowest** | Go below the cheapest competitor by a percentage |
| **Undercut average** | Go below the market average by a percentage |
| **Premium** | Price above the market average by a percentage |
Supporting options:
* **VAT handling**: tell WISEPIM whether your prices include or exclude VAT, and the rate to assume when a shop doesn't state its own. Competitor prices are converted before they're compared, and prices that can't be converted are skipped rather than guessed.
* **Split prices per variant**: on by default. Variants of the same product often sell at different prices, so each variant gets its own market price instead of one blended average. This needs the parent's [product family](/en/products/product-families) to declare a variant axis (like size or color), so WISEPIM knows what distinguishes the variants; without one, you get a single blended price.
* **Adjustment and rounding**: the percentage for undercut/premium strategies, plus charm pricing (.99 / .95) or whole-number rounding. A live example shows the recommendation as you tune.
* **Guardrails**: a minimum margin over cost, and absolute minimum/maximum prices. The recommendation never crosses them.
### Writing the price back
By default the recommendation is just shown on the product. Turn on **Write recommended price to product** to apply it to the regular or sale price field on every research run.
Write-back overwrites the product's current price on every web research run, and scraped prices can be wrong. Double-check results on a few products before enabling this for bulk runs, and set the guardrails first.
## Related
What research gathers and how to run it on your products.
Chain research automatically onto every scraped import.
Pricing rules applied when products are exported.
Default prompts used by the enrichment that follows research.
# WISECHAT Widget
Source: https://docs.wisepim.com/en/settings/wise-chat
Add an AI shopping assistant to your storefront that answers shopper questions, recommends products, and lifts conversion.
WISECHAT is an AI shopping assistant you embed on your storefront, grounded in your live product catalog so it answers shopper questions, recommends the right products, and guides buyers to checkout. A well-tuned assistant reduces pre-sale friction and lifts conversion by helping shoppers find what they need without leaving the page.
These settings are project-level. Pick a project from the project switcher first. Each project gets its own widget configuration, site key, and install snippet.
The page opens as a guided setup wizard the first time, and switches to an advanced settings view once your widget is live. You can reopen the wizard at any time with the **Setup wizard** button, and a sticky **live preview** on the right shows your changes as you make them.
## Brand your widget
The first wizard step matches the assistant to your store's look so it feels like a native part of your site, not a bolted-on chatbot.
* **Widget name**: the assistant's display name, shown in the chat header (up to 40 characters). Use something on-brand like "Ask Sara" or your store name.
* **Logo URL**: a link to your logo image. It appears in the chat header for instant brand recognition.
* **Brand color**: pick your primary color with the color picker or paste a hex value. It tints the launcher button, header, and accents.
The live preview updates instantly, so you can dial in the look before anyone sees it.
Reopen the wizard later to reach more appearance controls in the advanced view: launcher **position** (bottom-right or bottom-left), widget **theme** (auto, light, or dark), a **welcome message**, and the input **placeholder text**.
## Configure behavior
This step decides how the assistant talks and what catalog data it is allowed to share with shoppers. Getting this right keeps answers accurate, on-brand, and safe.
### Conversation tone
Choose the personality that fits your brand voice:
| Tone | Best for |
| ---------------- | -------------------------------------------------- |
| **Friendly** | Conversational, approachable stores. The default. |
| **Professional** | Precise, business-like, and authoritative replies. |
| **Concise** | Short, to-the-point answers for quick shoppers. |
| **Luxury** | Refined, premium wording for high-end catalogs. |
### Response language
Pick the language the assistant replies in, or leave it on **Auto-detect** so it matches the shopper's own language. Auto-detect is ideal for stores that serve multiple markets.
### Data access toggles
Control which live catalog facts the assistant is allowed to surface:
| Toggle | What it does | Default |
| ---------------- | ------------------------------------------------------------- | ------- |
| **Show pricing** | Lets the assistant quote product prices in chat. | On |
| **Show stock** | Lets the assistant tell shoppers whether an item is in stock. | On |
Turn **Show pricing** or **Show stock** off if your storefront hides those details or if prices vary by customer. The assistant will then avoid quoting them, even if asked.
When you move past this step, your branding and behavior choices are saved automatically.
The advanced view adds more controls: a **persona** with custom instructions, **capabilities** (product comparison, rich product cards, deep links, and lead capture), a fallback **call-to-action**, and a **Knowledge Library** selector so the assistant can answer using your shipping, returns, and brand content.
## Install on your store
The install step gives you a one-line embed snippet and step-by-step instructions for your platform. WISEPIM detects your connected store and highlights the matching guide automatically.
Click **Copy** to grab the script. It already includes your unique site key, so the widget knows which project's catalog to use.
Add the snippet to your site's HTML, ideally just before the closing `</body>` tag (or inside `<head>`). Use the platform guide for your store:
| Platform | Where the snippet goes |
| ------------------ | --------------------------------------------------------------------------- |
| **Shopify** | `theme.liquid`, before `</body>` (Online Store > Themes > Edit code). |
| **WooCommerce** | The Footer section of the free WPCode "Insert Headers and Footers" plugin. |
| **Magento** | Content > Design > Configuration > HTML Head > Scripts and Style Sheets. |
| **Lightspeed** | Settings > Web extras > Custom JavaScript. |
| **CCV Shop** | Settings > My web shop > Tweaking > Custom footer HTML. |
| **Other / Custom** | Above `</body>` in your main template, then deploy. |
Enter your store URL and click **Verify**. WISEPIM loads the page and confirms the widget is detected, so you know it's live before you tell shoppers about it.
The snippet loads asynchronously, so it won't slow down your page. If your project has no site key yet, save your settings first and one is generated automatically.
## Go live
The final step shows a summary of your configuration (name, brand color, tone, language, pricing, stock, product cards, and comparison) so you can confirm everything at a glance.
Check that the tone, language, and data toggles match what you want shoppers to experience.
Click **Enable WISECHAT** to switch the assistant on. The widget only appears on your storefront once it is enabled.
Enabling the widget makes it visible to every shopper on the pages where the snippet is installed. Run a quick test conversation first to confirm it answers well.
After going live, you can jump to **View analytics** to track conversations and outcomes, or open **Advanced settings** to fine-tune the assistant.
## Manage your live widget
Once WISECHAT is enabled, the page becomes the advanced settings view, with the same live preview on the right. From here you can:
* **Update appearance and behavior** at any time. Changes take effect on your storefront after you save.
* **Restrict allowed domains** so the embed snippet only works on the hostnames you list. Leave it empty to allow any domain, or add exact hosts and wildcard subdomains for tighter control.
* **Open analytics** to see how shoppers use the assistant and where it drives conversions.
Use the **Setup wizard** button whenever you want to re-run the guided flow, for example after rebranding or moving to a new platform.
## Related
Configure the in-app AI copilot that helps you manage your catalog.
Add brand, shipping, and returns content the assistant can answer from.
Connect the store platform where your widget gets installed.
See every project setting in one place.
# Workflow Settings
Source: https://docs.wisepim.com/en/settings/workflow-settings
Build guided pipelines that move products through lifecycle stages. Give each stage its own columns and filters so your team always knows what to work on.
## What workflows do for you
A workflow turns your lifecycle stages into a guided pipeline. Instead of changing product statuses by hand, your team follows a clear path from a starting stage like "Draft" to a target stage like "Published."
Each stage shows only the columns and products that matter at that step. Your team always knows what to work on next.
Workflows build on lifecycle stages. You need at least **two stages** before you can create one. Set these up first in [Product Lifecycle](/en/workflows/product-lifecycle).
## Turn workflows on
Toggle **Enable Workflows** to activate the feature for your project. When it is off, your workflows are saved but inactive.
## Create a workflow
Click **Create Your First Workflow** if you have none yet. Otherwise click **Add Workflow** in the top right.
Give it a clear name, like "Product Launch Pipeline." Add an optional description to explain its purpose.
These help you tell workflows apart. They appear on the workflow cards in the list view.
Choose the **From Stage** (where products begin) and the **To Stage** (where they should end up). WISEPIM finds every stage in between automatically.
For each stage, you can choose which columns to show and which products to filter in. This is optional.
## Edit a workflow
Click any workflow card in the list to open the editor. It has three sections.
### Basic information
* **Workflow Name**: a descriptive name your team sees.
* **Description**: an optional note about the workflow's purpose.
* **Color**: pick one from the palette.
* **Icon**: pick one from the icon picker.
### Lifecycle stages
Choose the start and end stages. WISEPIM works out the full path between them. For example, with stages "Draft > Review > Approved > Published," choosing "Draft" to "Published" includes all four.
Changing the From or To stage resets every per-stage setting. Finalize your stage selection before you configure columns and filters.
### Per-stage configuration
For each stage in the path, you can set two things: which columns show, and which products appear.
#### Visible columns
Click the columns icon to choose which product fields show when your team works on that stage. This keeps each stage focused on what matters.
For example:
* **Draft stage**: name, SKU, description, brand, and category.
* **Review stage**: name, quality score, completion score, and images.
* **Published stage**: name, price, stock status, and channel readiness.
#### Stage filters
Click the filter icon to control which products appear in a stage. Each condition has three parts:
| Part | What it sets |
| ------------ | -------------------------------------------------------------------------------------------------- |
| **Field** | The product field to check, such as Name, Price, Quality Score, or Has Main Image. |
| **Operator** | The comparison: equals, contains, is empty, has value, greater than, less than, is true, is false. |
| **Value** | The value to compare against. Not needed for operators like "is empty" or "is true." |
Combine conditions with **AND** (all must match) or **OR** (any can match).
Use filters to surface products that need work. In a Review stage, filter for Quality Score less than 80 to show only the products that need attention.
## Manage workflows
You can run several workflows for different goals. For example:
* **Product Launch Pipeline**: Draft to Published, with quality checks at each stage.
* **Seasonal Refresh**: Review to Updated, to refresh existing content.
* **New Supplier Onboarding**: Import to Active, to process new supplier catalogs.
To delete a workflow, open it and click **Delete workflow** in the top right.
Deleting a workflow is permanent and cannot be undone. Products in progress are not affected. They stay in their current lifecycle stage.
## Save your changes
When you change any setting, a save bar appears at the bottom:
* **Save**: saves all workflow changes to the project.
* **Undo**: discards all changes since your last save.
## Related
Set up the stages your workflows move products through.
Work with products as they move through each stage.
# Partner Dashboard
Source: https://docs.wisepim.com/en/teams/partner-dashboard
Track your commission, monitor referred customers, manage your team, and run SEO audits. All in one place for WISEPIM agency and reseller partners.
The Partner Dashboard is your home base as a WISEPIM partner. It shows your current commission, payout history, referred customers, team roster, and SEO audit tools: everything you need to grow your agency business and keep an eye on it.
The Partner Dashboard is only visible to agency and reseller partners. If you manage multiple client projects but don't see this section, reach out to your account manager.
## Commission overview
The **Commission overview and forecast** chart shows your realized monthly run rate as a solid area that steps up each time a lead converts to Won. To the right, a dashed forecast line extends six months ahead using two scenarios:
* **Weighted forecast**: each open lead contributes its commission scaled by pipeline stage probability (Qualified: 30%, Proposal: 60%).
* **If all close**: the ceiling you unlock if every open deal converts at 100%.
Three KPI tiles sit above the chart: your current monthly commission, active customers, and open leads. Together they give you an instant read on where you stand and where you're headed.
Add leads and track them through to Won to make the forecast meaningful. The chart needs at least one closed deal before it plots anything.
## Partner tiers
Your tier determines the recurring commission percentage you earn on every referral. As you accumulate active customers, you progress toward higher tiers and unlock a higher commission rate. The tier card shows your current rate, a progress bar toward the next tier, and exactly how many more active customers you need to unlock it.
## Payouts
The **Payouts** table lists every commission payment, organized by billing period. Each row shows the period, the amount, its status (Pending, Processing, Paid, Failed, or Cancelled), and the date it was paid. You can open the linked invoice directly from the table.
Payouts are processed on the 5th of each month for the prior month's commission. A new payout line appears once a referred customer has completed a full month on a paid plan.
## My customers
The **My customers** table lists every active customer you have referred. For each customer you can see:
* Their current WISEPIM plan
* Last active date (so you can spot accounts going quiet)
* Your monthly commission for that account
* A health badge (**Healthy**, **Watch**, or **At risk**) based on their recent activity
When a customer's health drops to Watch or At risk, step in early. Protecting engagement protects your recurring commission.
A customer appears here after you mark the corresponding lead as Won and they sign up for WISEPIM. Health and last-activity data refresh automatically.
## Your team
Partners can operate as a team within a shared partner organization. The **Your team** card lets owners and admins:
* See all current members and their roles (Owner, Admin, Member)
* Invite new teammates by email (they receive a one-click join link valid for 14 days)
* Remove members or revoke pending invites
If your account is not yet set up for teams, contact your account manager to create your partner organization.
## SEO audit
The SEO audit is a partner-exclusive tool you can use to audit any prospect or client's product catalog. Paste a shop URL, choose the platform, and WISEPIM checks up to 10 product pages against 20+ SEO and structured data best practices. You get an AI-written executive summary, a list of the top issues, recommended actions, and per-page rewrites.
Every audit run is saved to your **Audit history**, where you can:
* Re-download the PDF report or XLSX workbook at any time
* Share a link to the audit results with your client
* Run the same audit again (the form pre-fills with the previous URL and platform)
* View share analytics to see how clients engage with the report
Audits can be run by any team member, and the history shows who created each one.
## Related
How WISEPIM's multi-project architecture works for agency workflows: isolated client projects, bulk editing, and AI enrichment at scale.
Manage roles and permissions for your WISEPIM organization and invite team members.
# Team Management
Source: https://docs.wisepim.com/en/teams/team-management
Invite teammates, assign roles, and control who can do what in your product catalog. Collaborate safely with role-based access in every project.
Invite colleagues to work on product data with you. Assign each person a role, fine-tune their access, and remove them when they no longer need it. You do it all from one page.
Teams are project-scoped. Each project has its own team, so you control exactly who can see and edit each catalog.
## Open team settings
Select a project in the project switcher, then go to **Settings > Team & Permissions**. The page stays hidden until a project is selected.
## Invite a team member
Owners and Admins can add new people.
Click **Invite Member** in the top-right of the Team Members card.
Type the email of the person you want to invite. They get an email with a link to join.
Pick **Admin**, **Editor**, or **Viewer**. Each option lists the permissions it includes, so you can choose with confidence.
Write a short note so your colleague knows why you invited them.
Click **Send Invitation**. The person appears under Pending Invitations until they accept.
You cannot invite someone as an Owner. Each project has exactly one Owner. To transfer ownership, contact support.
## Roles and permissions
Every member has a role that sets what they can do in the project. Pick the role that matches how much access the person needs.
| Role | Best for | What they can do |
| ---------- | -------------------------- | --------------------------------------------------------------- |
| **Owner** | The project lead | Everything, including settings, team, and deleting the project |
| **Admin** | Trusted managers | Edit products, manage the team, change settings, import, export |
| **Editor** | People who maintain data | Create and edit products, import, export |
| **Viewer** | Stakeholders who only read | View and export data |
| **Custom** | Anyone with special needs | Exactly the permissions you switch on |
Need something between the preset roles? Set up a **Custom** role with the exact permissions one member should have. Open the member's row menu and select **Edit Permissions**.
### Fine-tune permissions
The permissions editor controls access in detail. You can set permissions for:
* **Product management**: create, edit, delete, and bulk-edit products
* **Import and export**: who can bring data in or send it out
* **Settings**: who can change the project configuration
* **Team management**: who can invite or remove members
* **Field-level access**: which product attributes a member can edit
When you switch permissions on and off, WISEPIM checks whether they match a preset role and labels them for you. If they match no preset, the member gets the **Custom** role.
## Change a member's role
Open the member list on the Team & Permissions page.
Click the three-dot menu on the right of their row.
Select **Edit Permissions**. Pick a preset role, or switch individual permissions on and off for a custom setup.
Click **Save**. The change takes effect right away.
## Remove a team member
Click the three-dot menu on the member's row.
Select **Remove from Project**.
A dialog titled **Remove ?** asks you to confirm: " will immediately lose access to this project. Their user account and work are not deleted." Their past edits to product data stay.
Removing a member is immediate and cannot be undone. To add them back later, send a new invitation.
## Manage pending invitations
A sent invitation appears under **Pending Invitations**, below the active member list. Each one shows when you sent it, the assigned role, and when it expires. Expired invitations are clearly marked.
Resend the email if the recipient never received it.
Copy the link to share it yourself, for example over Slack or another chat tool.
Cancel an invitation you no longer need. A **Cancel this invitation?** dialog asks you to confirm first.
## Best practices
When unsure, invite people as Viewers. You can raise their role later once you know what they need.
Give members exactly the access they need, and nothing more, with a Custom role.
Check your team list now and then. Remove anyone who no longer needs access to keep your data safe.
Use the message field so new members know why you added them and what to do.
## Related
Give partners a focused view of the products they work on.
Run multiple clients and brands from one WISEPIM account.
Manage passwords, sessions, and access security.
# Content Logic
Source: https://docs.wisepim.com/en/workflows/content-logic
Build reusable variables, formulas, and conditional blocks that auto-generate product copy. Write a rule once, then apply it across your whole catalog.
Content Logic lets you define reusable variables, formulas, and conditional blocks. They generate and format your product content automatically. Write a rule once, then apply it across your entire catalog instead of repeating the same patterns by hand.
Content Logic is in **Beta**. Select a project, then open it from **Settings > Content Logic**.
## Why use Content Logic?
Define a content pattern once. Apply it to hundreds or thousands of products automatically.
Use formulas and conditions so content adapts to each product's attributes, brand, or category.
Reshape content per channel: truncate for marketplaces, format for your webshop, strip HTML for feeds.
Stop copying and pasting. Let variables and conditions generate the content for you.
Content Logic needs your project to have **[categories](/en/other-features/managing-categories)** and **[product attributes](/en/other-features/managing-attributes)** set up. Brand variable values are matched against each product's **brand** field; category variables map to your categories.
## How variables work
Every variable uses the `{{scope.key}}` syntax. Type `{{` in any formula-enabled field to open the autocomplete dropdown and browse what is available.
```
{{product.name}} → the product's name
{{global.company_name}} → your company name
{{brand.tagline}} → the brand's tagline
{{category.material}} → the category's material
{{current.year}} → the current year
{{channel.description_short}} → the transformed description
```
WISEPIM resolves variables automatically whenever it processes content: on export, in AI prompts, in bulk actions, and anywhere else it generates content.
### The seven scopes
Content Logic groups variables into seven tabs. Each tab shows a count badge when it holds variables, so you can see at a glance which scopes you use.
| Tab | Syntax | What it is for |
| --------------- | -------------------------------- | ------------------------------------------------------ |
| **Defaults** | `{{product.*}}`, `{{current.*}}` | Built-in variables that resolve from product data |
| **Global** | `{{global.*}}` | Shared values that stay the same on every product |
| **Brands** | `{{brand.*}}` | Brand-level messaging, with values filled in per brand |
| **Categories** | `{{category.*}}` | Values that differ per category |
| **Products** | `{{product.*}}` (custom) | Computed values from formulas on product fields |
| **Channels** | `{{channel.*}}` | Content reshaped for a specific sales channel |
| **Conditional** | `{{if key}}` | Content that changes based on product data |
## Default variables
[View examples and use cases →](/en/workflows/content-logic/default-variables)
The Defaults tab is a read-only list of every built-in variable. They resolve automatically, so you never create them. Your custom product attributes appear here too, referenced as `{{attribute.your_attribute_code}}`.
Browse the Defaults tab before you build custom variables. You might already have what you need.
| Variable | Example value |
| -------------------------- | ------------- |
| `{{current.year}}` | 2026 |
| `{{current.month}}` | February |
| `{{current.month_number}}` | 02 |
| `{{current.week}}` | 8 |
| `{{current.day}}` | 17 |
| `{{current.day_name}}` | Tuesday |
| `{{current.quarter}}` | Q1 |
| `{{current.season}}` | Winter |
| `{{current.date}}` | 2026-02-17 |
| Variable | Description |
| -------------------------- | ---------------------------------------------- |
| `{{product.sku}}` | Stock Keeping Unit |
| `{{product.ean}}` | European Article Number (barcode) |
| `{{product.upc}}` | Universal Product Code (12-digit) |
| `{{product.mpn}}` | Manufacturer Part Number |
| `{{product.brand}}` | Brand name |
| `{{product.supplier}}` | Supplier name |
| `{{product.family}}` | Product family |
| `{{product.category}}` | Primary category |
| `{{product.product_type}}` | Simple, Configurable, Virtual, Bundle, Grouped |
| Variable | Description |
| ------------------------------- | ----------------- |
| `{{product.name}}` | Product name |
| `{{product.description}}` | Full description |
| `{{product.short_description}}` | Short description |
| `{{product.meta_title}}` | SEO title |
| `{{product.meta_description}}` | SEO description |
| `{{product.meta_keywords}}` | SEO keywords |
| `{{product.main_image}}` | Main image URL |
| Variable | Description |
| ----------------------------- | ----------------------------- |
| `{{product.price}}` | Current selling price |
| `{{product.special_price}}` | Promotional price |
| `{{product.cost}}` | Purchase or cost price |
| `{{product.savings}}` | Price minus special price |
| `{{product.savings_percent}}` | Discount percentage |
| `{{product.margin}}` | Price minus cost |
| `{{product.margin_percent}}` | Margin as percentage of price |
| Variable | Description |
| --------------------------------------------------------------- | -------------------- |
| `{{product.weight}}` | Weight value |
| `{{product.weight_unit}}` | g, kg, oz, or lb |
| `{{product.length}}`, `{{product.width}}`, `{{product.height}}` | Dimension values |
| `{{product.dimension_unit}}` | mm, cm, m, in, or ft |
| Variable | Description |
| --------------------------------- | ------------------------------------------- |
| `{{product.stock_quantity}}` | Current stock level |
| `{{product.stock_status}}` | in\_stock, out\_of\_stock, or on\_backorder |
| `{{product.low_stock_threshold}}` | Low-stock alert threshold |
| Variable | Description |
| ------------------------------- | ---------------------- |
| `{{product.hs_code}}` | Harmonized System code |
| `{{product.country_of_origin}}` | ISO country code |
| Variable | Description |
| ------------------------------ | -------------------------------------- |
| `{{product.status}}` | active, inactive, pending, or archived |
| `{{product.completion_score}}` | Data completeness percentage |
| `{{product.quality_score}}` | Overall quality score |
| Variable | Description |
| -------------------------- | --------------------- |
| `{{global.name}}` | Store or company name |
| `{{global.url}}` | Website URL |
| `{{global.currency}}` | Currency symbol |
| `{{global.currency_code}}` | ISO currency code |
| `{{global.locale}}` | Locale setting |
## Global variables
[View examples and use cases →](/en/workflows/content-logic/global-variables)
Global variables are key-value pairs that stay the same on every product. Use them for company-wide values you reference often.
Go to **Settings > Content Logic** and click **Global**.
Click **Add Variable**. Enter a key (letters, numbers, and underscores only) and a value. The value field supports autocomplete. Type `{{` to reference other variables.
Reference it as `{{global.your_key}}` anywhere variables are supported.
### Common global variables
| Key | Example value | Use case |
| -------------------- | ------------------------------------------------- | -------------------------------- |
| `company_name` | ACME Industrial BV | Product descriptions, legal text |
| `website_url` | shop.example.com | CTAs and links |
| `support_email` | [support@example.com](mailto:support@example.com) | Contact information |
| `return_policy` | 30-day return policy, no questions asked. | Product pages, descriptions |
| `shipping_promise` | Free shipping on orders over €50. | Promotional content |
| `warranty_text` | 2-year manufacturer warranty included. | Product specs |
| `lead_time_text` | Ships within 3–5 business days. | B2B ordering info |
| `moq_default` | 1 | Default minimum order quantity |
| `compliance_general` | All products comply with EU regulations. | Legal and compliance footers |
A global variable can reference others in its value. For example, `return_policy` can include `{{global.company_name}}` to insert the company name automatically.
## Brand variables
[View examples and use cases →](/en/workflows/content-logic/brand-variables)
Brand variables let you define a set of fields and fill in different values per brand or product line: messaging, compliance statements, or specifications that one part of your catalog needs and another doesn't.
The values are matched against each product's **brand field** - the picker on the Brands tab lists the distinct brand values found across your products, and each product resolves `{{brand.*}}` through the brand set on it. The match is by name (case-insensitive), so a brand entry named "Fischer" applies to every product whose brand field is "Fischer". If no products carry a brand yet, you can type brand names in manually.
On the **Brands** tab, create the fields you want. Each field has a **key**, a **label**, and a **type** (text, long text, or URL).
Select a brand from the dropdown and fill in the fields. A progress indicator shows how many of that brand's fields are filled, for example "3/5 filled".
Use `{{brand.your_key}}` in product content. WISEPIM resolves it from each product's brand.
### Field types
| Type | Input | Use case |
| ------------- | ------------------------- | --------------------------------------------- |
| **Text** | Single line | Taglines, short values |
| **Long text** | Multi-line textarea | Origin stories, compliance text, descriptions |
| **URL** | URL input with validation | Brand websites, logo URLs |
### Example fields
| Key | Label | Type | Brand A value | Brand B value |
| ----------------- | -------------- | --------- | ------------------------------------------ | ------------------------------------------ |
| `tagline` | Tagline | Text | Innovation for Life | Built to Last |
| `origin_story` | Origin Story | Long text | Founded in 1985 in Munich... | Family-owned since 1962... |
| `compliance_text` | Compliance | Long text | ISO 9001:2015 certified. REACH compliant. | CE marked. RoHS compliant. UL listed. |
| `website` | Website | URL | [https://brand-a.com](https://brand-a.com) | [https://brand-b.com](https://brand-b.com) |
| `moq` | Min. Order Qty | Text | 50 | 100 |
A product from Brand A gets "Innovation for Life" for `{{brand.tagline}}`. A product from Brand B gets "Built to Last".
## Category variables
[View examples and use cases →](/en/workflows/content-logic/category-variables)
Category variables work like brand variables, but they are scoped to product categories. Define a set of fields, then fill in values per category.
### Example fields
| Key | Label | Category: Fasteners | Category: Electrical |
| ------------------- | ----------- | ------------------------------------------------- | -------------------------------------------- |
| `material` | Material | Stainless Steel AISI 304 | Copper / PVC |
| `care_instructions` | Care | Store in dry conditions | Keep away from moisture |
| `short_intro` | Short Intro | High-grade fasteners for structural applications. | Electrical components for industrial wiring. |
| `size_guide_url` | Size Guide | /guides/fastener-sizes | /guides/wire-gauges |
Reference them as `{{category.material}}`, `{{category.care_instructions}}`, and so on. Each product gets the values for its primary category.
## Product variables (computed)
[View examples and use cases →](/en/workflows/content-logic/product-variables)
Product variables use formulas to compute new values from existing product data. They recalculate per product.
Go to **Settings > Content Logic** and click **Products**.
Click **Add Variable**. Enter a label, key, and formula. Use **Insert Field** and **Insert Operator** to build it, or type `{{` for autocomplete.
The live preview resolves your formula with sample data, so you can verify the output before saving.
### Formula operators
| Operator | Description | Example |
| -------- | ----------- | ------------------------------------------------------------------ |
| `+` | Add | `{{product.price}} + 10` |
| `-` | Subtract | `{{product.price}} - {{product.cost}}` |
| `*` | Multiply | `{{product.price}} * 1.21` |
| `/` | Divide | `{{product.price}} / {{product.stock_quantity}}` |
| `%` | Modulo | `{{product.stock_quantity}} % 12` |
| `( )` | Grouping | `({{product.price}} - {{product.cost}}) / {{product.price}} * 100` |
| Function | Description | Example |
| --------- | ------------------------ | ---------------------------------------------------- |
| `round()` | Round to nearest integer | `round({{product.price}} * 1.21)` |
| `floor()` | Round down | `floor({{product.margin_percent}})` |
| `ceil()` | Round up | `ceil({{product.weight}} / 0.5) * 0.5` |
| `min(,)` | Smaller of two values | `min({{product.price}}, 99.99)` |
| `max(,)` | Larger of two values | `max({{product.cost}} * 1.5, 9.99)` |
| `abs()` | Absolute value | `abs({{product.price}} - {{product.special_price}})` |
| Function | Description | Example |
| ------------- | -------------------- | ---------------------------------------------------- |
| `concat(,)` | Join two values | `concat({{product.brand}}, " - ", {{product.name}})` |
| `uppercase()` | Convert to UPPERCASE | `uppercase({{product.sku}})` |
| `lowercase()` | Convert to lowercase | `lowercase({{product.brand}})` |
### Use an operator as text
To show an operator character as literal text, put a backslash in front of it:
```
S\/M\/L → renders as "S/M/L" (no division)
10\% off → renders as "10% off" (no modulo)
```
### Example formulas
**Price including VAT:**
* Key: `price_incl_vat`
* Formula: `round({{product.price}} * 1.21 * 100) / 100`
* Result: 120.99 → `€146.40`
**Margin percentage (formatted):**
* Key: `margin_display`
* Formula: `round(({{product.price}} - {{product.cost}}) / {{product.price}} * 100)`
* Result: `42%`
**Display name with SKU:**
* Key: `display_name`
* Formula: `{{product.name}} ({{product.sku}})`
* Result: `Stainless Steel Hex Bolt M10x50 (SS-HB-M1050)`
**Price per kilogram:**
* Key: `price_per_kg`
* Formula: `round({{product.price}} / {{product.weight}} * 100) / 100`
* Result: `€15.29/kg`
Check that the fields you reference have values. An empty field resolves to an empty string, and math on empty values will not compute.
## Channel variables
[View examples and use cases →](/en/workflows/content-logic/channel-variables)
Channel variables reshape existing product content for a specific sales channel. Each one takes a source field and applies one or more rules in order.
Go to **Settings > Content Logic** and click **Channels**.
Click **Add Variable**. Enter a label and key, then pick the **source field** to transform.
Add one or more rules. They run in order: the output of one becomes the input for the next.
### Source fields
Description, Short Description, Product Name, Meta Title, Meta Description, Features.
### Transformation rules
| Rule | Parameters | What it does |
| ----------------- | ------------------------- | ------------------------------------------ |
| **Truncate** | Max length (default: 150) | Cuts text to a maximum character count |
| **Strip HTML** | None | Removes all HTML tags, leaving plain text |
| **Template** | Template string | Wraps or reformats content with a template |
| **Bullet Points** | Max bullets (default: 5) | Turns text into a bullet list |
Order your rules carefully. Strip HTML first, then truncate. Otherwise you might cut in the middle of an HTML tag.
### Example channel variables
**Amazon short description:**
* Source: Description
* Rules: Strip HTML → Bullet Points (max: 5) → Truncate (500)
* Result: Your full HTML description becomes a clean 5-bullet summary, capped at 500 characters.
**Google Shopping title:**
* Source: Product Name
* Rules: Template (`{{value}} - {{product.brand}} - Buy at {{global.company_name}}`) → Truncate (150)
* Result: "Stainless Steel Hex Bolt M10x50 - Fischer - Buy at Industrial Supplies BV"
**Marketplace plain-text description:**
* Source: Description
* Rules: Strip HTML → Truncate (2000)
* Result: Full description with formatting removed, capped at 2000 characters.
## Conditional blocks
[View examples and use cases →](/en/workflows/content-logic/conditional-blocks)
Conditional blocks show different content based on product data. They work like if/else statements for your content.
On the **Conditional** tab, click **Add Block**. Give it a name and key.
Pick a product field, choose an operator, and enter a value. Add more conditions and combine them with **AND** or **OR**.
Enter the content for when the conditions are met (**then**). Add optional **else if** branches for other cases, and an optional **else** for the fallback.
### Condition operators
Conditions can reference any product field, custom attribute, or date/time variable. The field selector groups them by category (Product Identity, Content, Pricing, Physical Properties, Inventory, Shipping, Status, Date & Time) and includes your custom attributes.
| Operator | Description | Needs value? |
| ----------------------- | --------------------------------- | ------------ |
| `equals` | Exact match | Yes |
| `not_equals` | Does not equal | Yes |
| `contains` | Contains substring | Yes |
| `not_contains` | Does not contain | Yes |
| `starts_with` | String starts with | Yes |
| `ends_with` | String ends with | Yes |
| `greater_than` | Numeric greater than | Yes |
| `less_than` | Numeric less than | Yes |
| `greater_than_or_equal` | Greater than or equal | Yes |
| `less_than_or_equal` | Less than or equal | Yes |
| `in_list` | Value is one of (comma-separated) | Yes |
| `is_empty` | Field has no value | No |
| `is_not_empty` | Field has a value | No |
| `is_true` | Boolean is true | No |
| `is_false` | Boolean is false | No |
### Example conditional blocks
**Free shipping banner:**
* Key: `free_shipping`
* IF `product.price` greater than `50` → `Free shipping included.`
* ELSE → `Shipping calculated at checkout.`
**Stock urgency message:**
* Key: `stock_message`
* IF `product.stock_quantity` less than `5` AND `product.stock_status` equals `in_stock` → `Only {{product.stock_quantity}} left, order soon.`
* ELSE IF `product.stock_status` equals `out_of_stock` → `Currently out of stock. {{global.restock_text}}`
* ELSE → `In stock and ready to ship.`
**Seasonal promotion:**
* Key: `seasonal_promo`
* IF `current.season` equals `Winter` → `Winter Sale: save {{product.savings_percent}}% today.`
* ELSE IF `current.season` equals `Summer` → `Summer clearance: {{product.savings_percent}}% off.`
* ELSE → *(empty, no promo outside sale seasons)*
**B2B lead time by category:**
* Key: `lead_time`
* IF `product.category` in\_list `Custom Orders, Made to Order` → `Lead time: 4–6 weeks. Contact us for expedited options.`
* ELSE IF `product.stock_quantity` greater than `0` → `In stock. {{global.lead_time_text}}`
* ELSE → `Available on backorder. {{global.backorder_lead_time}}`
**Hazardous material warning:**
* Key: `hazmat_notice`
* IF `product.is_dangerous_good` is\_true → `⚠ Hazardous material. Special shipping restrictions apply. {{brand.hazmat_handling}}`
* ELSE → *(empty)*
## Where you can use variables
Once defined, you can reference Content Logic variables in:
* **[Bulk editing](/en/essentials/bulk-editing)**: use variables in [Find and Replace](/en/essentials/bulk-editing/find-replace), [Append/Prepend](/en/essentials/bulk-editing/append-prepend), and [Set Field Value](/en/essentials/bulk-editing/set-field) to generate content at scale
* **[AI enrichment](/en/essentials/enriching-products) prompts**: add product context, brand guidelines, and category instructions to your prompts
* **[Export templates](/en/settings/export-templates)**: format output for different channels and platforms
* **[Automations](/en/automations/overview)**: reference variables in actions that generate or change content
## Save your changes
Content Logic detects when you make a change. A **save bar** appears at the bottom of the page:
* Click **Save** to keep your changes.
* Click **Undo** to revert to the last saved state.
Settings are saved at the project level. Every team member with project access shares the same variable definitions.
## Best practices
Begin with global variables for shared values like company name, shipping policy, and contact info. They are quick to set up and useful right away.
Name variables clearly: `warranty_text`, not `var1`. You reference these keys everywhere, so keep them readable.
After you create a block or formula, check it against different products. Use the live preview to catch issues early.
Combine scopes in one formula: globals for shared text, brand variables for manufacturer details, category variables for product-type details.
## Related
Apply variables across many products at once with bulk actions.
Inject variables into AI prompts for richer, on-brand content.
Format channel-ready output using your Content Logic variables.
Reference variables in automated actions that generate content.
# Workflows Overview
Source: https://docs.wisepim.com/en/workflows/overview
Run guided, multi-step processes to clean up product data fast. Find every product that needs work, fix it, and track your progress to zero.
A workflow is a guided checklist for improving your product data. You define it once, then run it to find and fix every product that needs attention. No more hunting through your catalog by hand.
Workflows must be enabled before you can use them. Go to **[Settings > Workflows](/en/settings/workflow-settings)** to turn them on.
## When to use a workflow
Reach for a workflow when a person needs to review and fix product data step by step. Common jobs:
Find every product with missing or low-quality data, then work through the list until it is clean.
Make sure new products meet your standards before they go live on your sales channels.
Raise quality scores across the catalog by fixing descriptions, images, SEO, and more.
Push products through your [lifecycle stages](/en/workflows/product-lifecycle) as they get ready to publish.
If you instead want actions to happen automatically when something changes, use [Automations](/en/automations/overview):
| | Workflows | Automations |
| --------------- | --------------------------------- | --------------------------------------- |
| **How it runs** | You work through tasks by hand | Runs on its own when conditions are met |
| **Shape** | Multi-stage, ordered tasks | A single action from one event |
| **Progress** | Tracked over time, to zero | Runs instantly, every time |
| **Best for** | Audits, launch prep, quality work | Formatting, notifications, syncing |
## How a workflow is built
Every workflow has three parts:
* **Pre-filter** (optional): scopes the whole workflow to a subset of products, like one category.
* **Stages**: group related tasks together. You complete one stage before moving to the next.
* **Tasks**: each task uses a filter to find products that need attention, such as a missing description.
When you run the workflow, WISEPIM counts how many products match each task. As you fix issues, the count drops. A task is done when its count hits zero. A stage is done when all its tasks are done.
## Create a workflow
The Workflow Builder is a visual editor. Open it from **Create Workflow** on the workflows page, or by editing an existing workflow.
Go to **Workflows** and click **Create Workflow**. You can also add one from **Settings > Workflows**.
Give it a clear name, like "Q1 Launch Prep", and a short description of its purpose.
Click **Add Pre-filter** to limit the workflow to a set of products, like only "Electronics". This filter applies to every stage and task.
Your workflow starts with one stage. Rename it, add a description, and set an optional stage filter to narrow products further. Click **Add Stage** to add more.
Click **Add Task** inside a stage to open the task picker. Choose ready-made presets, or build a custom task with your own filter conditions.
Click **Save** in the top-right corner. Drafts save automatically as you work, so you will not lose progress.
### How the three filters work together
Filters stack from broad to narrow, so each level cuts the product list down further:
1. **Pre-filter** scopes the whole workflow (for example, only "Clothing").
2. **Stage filter** narrows that down inside one stage (for example, only products missing images).
3. **Task filter** finds the exact products to fix (for example, products with no description).
Every filter level supports AND/OR logic. For example: quality score is below 50% AND description is empty.
### Task presets
The task picker comes with ready-made presets, grouped by category. Pick as many as you like, or add your own custom task.
Low quality score, unreviewed products, missing main image.
Missing description, short description under 100 characters, missing reviewed name.
Missing meta title, short meta description, no meta keywords.
Missing price, no SKU, zero price, missing brand.
Out of stock, low stock, no stock info.
No images, missing image URL.
Critical quality below 25%, incomplete below 50%.
Not translated, partially translated.
## Run a workflow
Click **Start Workflow** from the workflows page to open the execution view. From here you can:
* See every stage and task in the sidebar.
* Watch real-time product counts for each task.
* Click a task to see its matching products in the main area.
* Fix products and watch the counts drop as you go.
* Track your overall progress as a percentage.
You can pause and come back anytime. Your progress saves automatically, so you pick up right where you left off.
## Find your workflows
On the **Workflows** page, each workflow appears as a card showing:
* The name and description.
* The **from** and **to** lifecycle stages, as colored chips.
* How many stages it has.
* A **Start Workflow** button.
A search bar appears once you have more than three workflows.
## Manage workflows
From **Settings > Workflows** you can:
* Enable or disable workflows for your project.
* Create new workflows or edit existing ones.
* Delete workflows you no longer need.
* Start from a template instead of a blank workflow.
## Related
Define the stages products move through, and connect them to your workflows.
Set up actions that run on their own when conditions are met.
Turn workflows on and manage them for your project.
# Product Lifecycle
Source: https://docs.wisepim.com/en/workflows/product-lifecycle
Define the stages products move through, from draft to published. Give your team a clear view of what is done and what still needs work.
The Product Lifecycle feature lets you define the stages your products move through, from raw data to published, sellable items. Each product shows its current stage at a glance, so your team always knows what is done and what still needs work.
The lifecycle is set up per project. Go to **Settings > Product Lifecycle** to configure your stages.
## Why use lifecycle stages
Know instantly which products are drafts, in review, approved, or published. No guessing.
Every product follows the same repeatable steps, so nothing gets published before it is ready.
Add requirements and checklists per stage. Products cannot advance until they pass.
Stages connect to [Workflows](/en/workflows/overview), so guided processes can move products forward.
## Enable the lifecycle
Go to **Settings > Product Lifecycle**. Make sure a project is selected in the project switcher.
Flip the **Enable Product Lifecycle** switch at the top of the page.
The stage editor appears. Here you add, edit, reorder, and remove stages.
WISEPIM starts you off with two default stages:
| Stage | Color | Purpose |
| ---------------- | ----- | ------------------------------ |
| **Not Reviewed** | Red | Products not yet reviewed |
| **Reviewed** | Green | Products reviewed and approved |
Customize these or replace them with your own. Click **Reset to Default** anytime to restore the originals.
## Build your stages
### Add a stage
Click **Add Stage**, at the top of the stage list or the bottom of the pipeline. A new stage appears with default settings you can edit right away.
### Edit a stage
Each stage card lets you set:
* **Name**: a clear label, like "Draft", "Content Review", or "Ready to Publish".
* **Color**: one of eight options (blue, green, yellow, purple, red, orange, cyan, pink) to tell stages apart.
* **Icon**: one of 28 icons, grouped into five categories: Content & Creation (7), Review & Approval (6), Product Data (4), Publishing & Sales (7), and Maintenance (3).
* **Description**: an optional note on what happens in this stage.
Pick colors that show progress at a glance. Red for early stages that need work, yellow for in-progress, green for done.
### Reorder stages
The order of your stages is the order of your pipeline. Hover over a stage card and use the **up and down arrows** to move it.
### Delete a stage
Hover over a stage card and click the **trash icon**. Any products in that stage will need to be moved to another one.
Deleting a stage cannot be undone once you save. Check that no important products are assigned to it first.
## Set quality gates
Quality gates stop a product from advancing until it is ready. You build them from automatic **requirements** and manual **checklists**.
### Add requirements
Requirements are conditions a product must meet to enter or stay in a stage. Find the **requirements section** inside each stage card.
Click **Add Condition** in the stage's requirements area.
Choose which product attribute to check. The list covers every attribute in your project: built-in fields like description, price, and EAN, plus any custom attributes from **Settings > Product Attributes**.
Pick how to evaluate the field:
| Operator | Meaning |
| ----------------------- | -------------------------------- |
| `equals` | Exact match |
| `not_equals` | Does not match |
| `contains` | Field includes the value |
| `not_contains` | Field does not include the value |
| `starts_with` | Field begins with the value |
| `ends_with` | Field ends with the value |
| `greater_than` | Numeric comparison |
| `less_than` | Numeric comparison |
| `greater_than_or_equal` | Numeric comparison |
| `less_than_or_equal` | Numeric comparison |
| `in_list` | Value is one of a set |
| `is_empty` | Field has no value |
| `is_not_empty` | Field has a value |
| `is_true` | Boolean check |
| `is_false` | Boolean check |
Enter the value to compare against. Operators like "is empty" need no value.
With more than one condition, choose whether **all** must pass (AND) or **any** one is enough (OR).
For example:
* **Ready to Publish** requires: description is not empty AND quality score is greater than 75 AND main image exists.
* **Content Review** requires: description is not empty OR short description is not empty.
### Add a checklist
Some checks need a human eye, like confirming photo quality or supplier pricing. Each stage can hold a manual checklist for these.
Click **Add Item** in the stage's checklist section.
Write a clear, actionable item, like "Verify all images are at least 1000x1000px".
Repeat for every manual check that belongs in this stage.
Pair automatic requirements with manual checklists for a thorough gate. Requirements catch data issues; checklists catch what only a person can judge.
### Advance products automatically
When a stage has requirements or checklist items, you can turn on **auto-advance**. Products that meet every requirement then move to the next stage on their own, with no manual step.
To enable it:
1. Make sure the stage has at least one requirement or checklist item.
2. Flip the **Auto-advance when complete** switch at the bottom of the stage card.
Auto-advance only appears once a stage has a quality gate. This stops products from skipping ahead in stages with no checks.
## Example setups
Not sure how to structure your pipeline? Start from one of these.
Best for small teams that just need a basic review step.
1. **Not Reviewed** (Red): awaiting initial review.
2. **Reviewed** (Green): checked and approved.
For teams preparing products for online stores.
1. **Draft** (Blue): raw data, just imported or created.
2. **Content Enrichment** (Yellow): descriptions and attributes being written or AI-enriched.
3. **SEO Review** (Orange): meta titles, descriptions, and keywords being optimized.
4. **Quality Check** (Purple): final review against your quality standards.
5. **Ready to Publish** (Green): approved and ready to export to your webshop.
6. **Published** (Cyan): live on your sales channels.
For teams launching products across several markets.
1. **Data Collection** (Blue): gathering specs and images.
2. **Content Creation** (Yellow): writing descriptions in the primary language.
3. **Translation** (Purple): translating to all target languages.
4. **Legal Review** (Orange): compliance and regulatory checks.
5. **Approved** (Green): ready for all markets.
6. **Archived** (Red): discontinued or seasonal products.
## Save your changes
WISEPIM tracks every change you make: adding stages, editing names, reordering, deleting, and toggling the feature. A save bar appears at the bottom of the page whenever you have unsaved changes.
* Click **Save** to store your whole configuration at once.
* Click **Undo** to revert **all** changes since your last save, restoring the server's exact state.
* A loading indicator shows while the save runs.
Undo reverts everything at once. There is no partial undo. To keep some changes and drop others, save first, then make more edits.
Lifecycle changes affect every product in the project. Check with your team before reshaping the pipeline.
## Use stages on products
Once your stages are set up, they appear in the **Products table**. Each row shows a **lifecycle stage selector** with the product's current stage, icon, and color.
To change a product's stage:
1. Find the product in the table.
2. Click its lifecycle stage indicator.
3. Pick the new stage from the dropdown. Each option shows the name, icon, and color.
4. The stage updates right away.
You can also filter by stage. Open **Advanced Filters** in the products table, and a review filter appears that narrows products by their current stage.
The lifecycle column adjusts its width to your stage names, so they stay readable without wasting space.
## Related
Run guided processes that find, fix, and move products through your stages.
Define the fields your stage requirements can check against.
# Akeneo Integration
Source: https://docs.wisepim.com/en/integrations/akeneo
Connect your Akeneo PIM to WISEPIM. Create a connection in Akeneo, add the credentials in WISEPIM, and sync your catalog both ways.
Connect your Akeneo PIM to WISEPIM to enrich your catalog with AI without leaving your existing setup. Once connected, you can import products from Akeneo, improve their content with AI, and push the enriched data back into Akeneo.
Setup takes two steps: create a connection in Akeneo to get your API credentials, then add those credentials in WISEPIM.
You need admin access to your Akeneo instance (PIM) and a WISEPIM account with an active project. WISEPIM works with the Akeneo REST API, available on Akeneo PIM 3.0 and later (Community, Growth, and Enterprise editions).
## Create a connection in Akeneo
Akeneo generates a set of credentials when you create a new connection.
Log in to Akeneo and go to **System** > **Connections**.
Click **Create**, name it WISEPIM, and choose the **Data destination** flow type.
Akeneo shows a **Client ID**, **Secret**, **Username**, and **Password** for the connection. Copy all four. You need them in the next step.
Make sure the connection's user group has permission to read and edit products and product attributes.
## Add your credentials to WISEPIM
Enter the credentials from Akeneo to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Akeneo** integration tile.
Fill in the following fields:
* **Client ID**: the connection's Client ID
* **Client Secret**: the connection's Secret
* **Username**: the connection's username
* **Password**: the connection's password
* **Akeneo URL**: your instance URL, including `https://` (for example, `https://your-instance.cloud.akeneo.com`)
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Akeneo PIM is now connected. You can import products and push enriched content back.
Your connection credentials give full access to your Akeneo catalog. Never share them publicly or commit them to version control. If you think they are exposed, delete the connection in Akeneo and create a new one.
## Troubleshooting
Check your Akeneo URL first. It must be correct and start with `https://`. Then confirm you copied the Client ID, Secret, Username, and Password exactly, with no extra spaces.
Open the connection in Akeneo and confirm its user group has read and write permission for products. Akeneo connections inherit their access from the linked user group.
## Related
Pull your catalog from Akeneo into WISEPIM.
Improve titles, descriptions, and attributes with AI.
Push the enriched content back to Akeneo.
See every platform WISEPIM connects to.
Keep Akeneo as your system of record and run the enrichment round trip safely.
# Databricks Integration
Source: https://docs.wisepim.com/en/integrations/databricks
Connect WISEPIM to Databricks. Export enriched product data to Unity Catalog and Delta Lake for analytics, ML pipelines, and governance.
Connect WISEPIM to Databricks to move product data between your catalog and your lakehouse. Export enriched products into Unity Catalog and Delta Lake for analytics and machine learning. Import product data from upstream pipelines back into WISEPIM. The flow runs in both directions.
The Databricks integration is available only on the **Enterprise plan**. Contact our sales team to learn about Enterprise features and pricing.
## Before you start
Make sure you have:
* A WISEPIM account on the **Enterprise plan**
* A Databricks workspace with Unity Catalog enabled
* Permission to create schemas and tables in your Databricks catalog
* Your Databricks **Server Hostname**, **HTTP Path**, and an authentication method (Personal Access Token or OAuth)
## Get your connection details from Databricks
Gather four things from your Databricks workspace before you set up the integration.
Open your Databricks workspace URL and sign in.
Go to **SQL Warehouses** (or **Compute** for clusters):
1. Select the SQL warehouse or cluster WISEPIM will connect to.
2. Click **Connection Details**.
3. Copy the **Server Hostname**, such as `adb-1234567890.1.azuredatabricks.net`.
4. Copy the **HTTP Path**, such as `/sql/1.0/warehouses/abc123def456`.
Choose one of two methods.
**Option A: Personal Access Token**
1. Click your username in the top-right corner.
2. Go to **Settings**, then **Developer**, then **Access Tokens**.
3. Click **Generate New Token**, add a description such as `WISEPIM Integration`, and set an expiration.
4. Copy the token now. Databricks will not show it again.
**Option B: OAuth (Service Principal)**
1. In your Databricks account console, create a Service Principal.
2. Generate a **Client ID** and **Client Secret** for it.
3. Grant it access to the workspace and the target catalog.
Go to **Data** in the sidebar to browse Unity Catalog:
1. Select or create the **Catalog** that will hold your WISEPIM data.
2. Select or create the **Schema** (database) inside that catalog.
3. Note the catalog and schema names.
A Personal Access Token has the same access as your user account. For production, use OAuth with a Service Principal that has only the permissions it needs. Rotate credentials regularly and never share them publicly.
## Connect Databricks to WISEPIM
With your details ready, set up the integration in WISEPIM.
Log in to WISEPIM and go to the **Integrations** page. Find the **Databricks** tile in the App Marketplace and click it.
Fill in the fields:
**Connection Settings**
* **Server Hostname**: your Databricks workspace hostname
* **HTTP Path**: the path to your SQL warehouse or cluster
**Authentication** (choose one)
* **Access Token**: your Personal Access Token
* Or **Client ID** and **Client Secret**: your OAuth service principal credentials
**Data Location**
* **Catalog**: your Unity Catalog name, such as `wisepim_data`
* **Schema**: your schema name inside the catalog, such as `product_catalog`
Only needed if you import data from Databricks into WISEPIM:
* **Attributes Source Table**: the table with attribute definitions
* **Attribute Options Source Table**: the table with attribute option values
* **Products Source Table**: the table with product data
* **Batch Size**: rows processed per batch (default `1000`)
Click **Test Connection** to confirm WISEPIM can reach your workspace and the chosen catalog and schema.
If the test passes, click **Save** to store your settings.
## Export product data to Databricks
Push enriched products from WISEPIM into Delta Lake for analytics and ML.
Go to the **Products** page in WISEPIM.
Select the products you want to export, or select all.
Click **Export** and choose **Databricks** as the destination. WISEPIM writes the data to Delta Lake tables in your catalog and schema.
WISEPIM exports:
* Product identifiers (IDs, SKUs, EAN/GTIN)
* Product names and descriptions (all languages)
* Prices and stock information
* Category hierarchies
* Product attributes and custom fields
* Image URLs and metadata
* Translation status and quality scores
Delta Lake gives you ACID transactions, schema enforcement, and time travel. You can query historical versions of your product data at any point.
## Import product data from Databricks
If your product data lives in Databricks, for example from upstream pipelines, bring it into WISEPIM.
Add the **source table names** in your integration settings.
Click **Import** on the Products page and choose **Databricks** as the source. WISEPIM reads your tables and maps the data to your project attributes.
Keep your source tables on a consistent schema. WISEPIM maps columns to product attributes automatically, and you can adjust the mapping with the Attribute Mapper.
## Tune batch size for large catalogs
WISEPIM processes data in batches. Match the batch size to your catalog to balance speed and resource use.
| Catalog size | Products | Suggested batch size |
| ------------ | ----------------- | --------------------------------- |
| Small | Under 10,000 | `1000` (default) |
| Medium | 10,000 to 100,000 | `5000` |
| Large | 100,000+ | `10000`, and watch resource usage |
Set the value in the integration modal under **Batch Size**.
## What you can build with your data
Once your products are in Databricks, you can use them across analytics and data science.
* Build dashboards to track product performance across channels and markets.
* Find which attributes correlate with higher conversion rates.
* Compare performance across languages and regions.
* Train product recommendation models on enriched data.
* Build demand forecasts from historical product and pricing data.
* Develop pricing optimization based on market data.
* Use WISEPIM product embeddings for similarity search and clustering.
* Track data lineage from source to enrichment to export with Unity Catalog.
* Set access controls for who can read and modify product data.
* Audit every change with the Delta Lake transaction log.
Use WISEPIM product IDs as the primary key when you join product data with sales, inventory, or customer data. This keeps identity consistent across all your datasets.
## Troubleshooting
* Check the **Server Hostname** is correct and includes the full domain, such as `adb-1234567890.1.azuredatabricks.net`.
* Check the **HTTP Path** points to an active SQL warehouse or cluster.
* Make sure the warehouse or cluster is running, not stopped or terminated.
* If using a Personal Access Token, check it has not expired.
* If using OAuth, confirm the Service Principal has workspace-level access.
* Regenerate your access token if you think it is expired or compromised.
* For OAuth, check the Client ID and Client Secret are correct.
* Make sure the user or service principal has `USE CATALOG` and `USE SCHEMA` on the target catalog and schema.
* Confirm the user has `CREATE TABLE` and `MODIFY` on the target schema.
* Check the catalog and schema names are spelled correctly and exist in Unity Catalog.
* If exports are slow, reduce the batch size or use a larger SQL warehouse.
* Review WISEPIM's error log for messages from the Databricks API.
* Check the source table names are correct and the tables exist.
* Confirm the user has `SELECT` on the source tables.
* Check the source table schemas match WISEPIM's expected format.
* If imports time out, reduce the batch size.
Databricks resources (SQL warehouses, clusters) cost money while running. Set auto-stop in your workspace to avoid surprise charges. WISEPIM will try to start a stopped warehouse, which may add latency to the first operation.
## Related
Pull products from your Databricks tables.
Improve product content with AI.
Send products to Delta Lake tables.
# Google Analytics 4 Integration
Source: https://docs.wisepim.com/en/integrations/google-analytics
Connect a GA4 property to WISEPIM, sync traffic and ecommerce behavior, and link conversion performance to products by SKU.
Google Analytics 4 (GA4) connects what visitors do in your store with the product data you manage in WISEPIM. It adds real traffic, engagement, funnel, and item-performance data to Analytics without changing anything in your catalog. The connection is read-only and uses Google OAuth, so you do not need to copy API keys.
## Before you start
* A Google account with access to at least **one GA4 property**.
* A GA4 property that is receiving data from the storefront for this WISEPIM project.
* Standard GA4 ecommerce events for the complete funnel: `view_item`, `add_to_cart`, `begin_checkout`, and `purchase`.
* For product-level attribution, send the WISEPIM product SKU as GA4's `item_id`. Matching is exact and case-sensitive.
Each WISEPIM project connects to **one GA4 property**. If you operate several storefronts, use a separate project and property for each data boundary.
## Connect Google Analytics 4
Go to **Channels → Integrations**, filter by **Analytics**, and open **Google Analytics 4**.
Click **Connect with Google**. WISEPIM redirects you to Google's consent screen and requests read-only Analytics access.
Sign in with the Google account that can access the required GA4 property. After consent, you return to WISEPIM automatically.
WISEPIM lists the GA4 properties available to that account, including their Analytics account and property ID. Select the property that belongs to this project.
WISEPIM verifies the selected property and queues its first sync automatically. The dialog follows the background job: it opens with "Preparing analytics data", then names the stream it is on ("Syncing sessions and traffic sources", "Syncing page performance", "Syncing conversions and products"), counts "N of M steps" on a progress bar, and shows the "Date range: to " it is covering. Finished runs appear in the sync history with their row count.
## What WISEPIM imports
| Data | What it unlocks |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| Sessions, users, and daily totals | Store traffic and period-over-period trends |
| Source, medium, and device | Acquisition and channel analysis |
| Engaged sessions, engagement rate, bounce rate, and average duration | Traffic-quality and behavior analysis |
| Page paths and page views | Landing-page and product-page performance |
| Ecommerce events and revenue | The view-to-cart-to-checkout-to-purchase funnel |
| Item views, carts, checkouts, purchases, and item revenue | Conversion performance for individual products |
| Country, campaign, and landing-page breakdowns with sessions, engagement, key events, and revenue per row | Where traffic comes from and which entry pages convert |
| Returning users and the property's currency code | Loyalty trends and correctly labelled revenue |
GA4 only sends analytics data into WISEPIM. It does not import, edit, or export product titles, prices, images, stock, or other catalog fields.
## How products are matched
WISEPIM links a GA4 item to a product only when GA4's `item_id` is exactly equal to that product's SKU inside the same project. Product names are deliberately not used as a fallback because names are not stable identifiers.
| GA4 value | WISEPIM result |
| --------------------------------------------- | --------------------------------------------------------- |
| `item_id` exactly matches a SKU | Funnel metrics appear on that product |
| `item_id` uses a different case or identifier | The row stays unmatched and cannot affect another product |
| `item_id` is missing or `(not set)` | The row is ignored for product attribution |
Configure your storefront's GA4 ecommerce implementation to send the WISEPIM SKU as `item_id`. Without that contract, aggregate GA4 reports still work, but product-level conversion insights cannot be linked reliably.
## Understand the conversion rates
WISEPIM keeps rate names and denominators explicit:
* **Session key-event rate** is GA4's `sessionKeyEventRate`: the share of sessions in which at least one event marked as a key event occurred. It is not `keyEvents ÷ sessions`, because a session can contain several key events.
* **Unit cart rate** is synced item additions divided by synced item views.
* **Unit purchase rate** is synced purchased items divided by synced item views.
The unit rates answer a product-merchandising question, while the session key-event rate answers a visitor-session question. They can legitimately differ.
## What it powers
| WISEPIM report | What GA4 adds |
| ------------------------------------------------------------ | ----------------------------------------------------------------- |
| [Traffic & Behavior](/en/analytics/traffic-behavior) | Sessions, engagement, sources, devices, pages, and trends |
| [Conversions](/en/analytics/conversions) | The behavioral ecommerce funnel and its largest drop-offs |
| [Product Performance](/en/analytics/product-performance) | Item views, item revenue, and product-level unit conversion rates |
| [Marketing Attribution](/en/analytics/marketing-attribution) | Source and medium context for acquisition performance |
| [Integration Health](/en/analytics/integration-health) | Connection and synchronization visibility |
## Manage and refresh the connection
Open the GA4 integration again to:
* **Change property**. WISEPIM verifies it and automatically starts a new property-scoped sync. Data from the old and new properties is never mixed.
* **Test connection** to confirm the stored authorization and selected property still work.
* **Sync now** to refresh the latest seven days and fill gaps in the retained 180-day window.
* **Force re-sync** to rebuild the complete retained 180-day snapshot.
* View recent sync history, including running, successful, partial, and failed jobs, duration, range, and row count.
* **Disconnect** GA4 from the current project.
GA4 is not a real-time feed in WISEPIM. Syncs run in the background and end at yesterday. Google may revise recent analytics data, so WISEPIM refreshes the latest seven days during every smart sync.
## Troubleshooting
The selected Google account cannot access a GA4 property, or the required Google Analytics APIs are unavailable. Switch to an account with property access and retry. If WISEPIM reports an API configuration problem, contact support.
Confirm that the selected property belongs to this storefront, receives data, and has completed at least one successful sync. GA4 processing delay and an empty selected date range can also explain missing recent data.
Inspect the storefront's ecommerce payload. Its `item_id` must equal the WISEPIM SKU exactly, including capitalization. Do not send a product name, database ID, or variant label unless that value is also the SKU in WISEPIM.
Open the sync history for the provider error and affected range. Retry a normal sync first. Use **Force re-sync** when the retained history must be rebuilt after fixing the property or tracking setup.
## Related
Find the largest drop-off in the GA4 ecommerce funnel.
Tie item views and purchases to products and content quality.
Add organic-search clicks, impressions, CTR, and positions.
See everything you can connect to WISEPIM.
# Google Merchant Center Integration
Source: https://docs.wisepim.com/en/integrations/google-merchant-center
Push enriched products from WISEPIM to Google Merchant Center over the Merchant API, with per-market locale mapping, validation, and sync health.
The Google Merchant Center (GMC) integration pushes products from WISEPIM straight into your Merchant Center account over Google's Merchant API, powering Shopping ads and free listings. Unlike a [feed file](/en/essentials/feed-hub), this is a direct API connection: exports land in Merchant Center within minutes, deletions propagate automatically, and every run is tracked in a sync history.
This integration is in **beta**. Prefer a scheduled feed file instead? The **Google Shopping** preset in [Feed Hub](/en/essentials/feed-hub) generates a Merchant Center product feed you host on a URL.
## Before you start
You need three things from Google:
* **Merchant ID**: the account number shown in Merchant Center.
* **Service account JSON**: a Google Cloud service account key with access to the Content API. Add the service account's email as a user on your Merchant Center account.
* **Data source ID**: the API data source in Merchant Center that WISEPIM should write products into.
And your products need, at minimum, a **title**, a **product URL**, and a **price**. Products missing any of these are skipped with a clear per-product error instead of being sent and disapproved. For identifiers, Google wants a **GTIN, or a brand plus MPN**; a main image is required and a brand is recommended.
Category mapping is optional. WISEPIM always sends your product's own category path as `productTypes`, and Google auto-categorizes listings when no Google product category is mapped.
## Connect Google Merchant Center
Go to **Channels → Integrations** and find the **Google Merchant Center** card.
Click **Sign in with Google**, approve access, and **choose a Merchant Center account** from the list. This is the recommended path. The service-account option is still there under **Advanced**: fill in the **Merchant ID** and paste the **Service Account JSON** if your organisation prefers a key. Saving a key while signed in with Google disconnects the Google account.
Set the **Data Source ID** the products should land in.
Set the **Default Feed Label**, **Default Content Language**, and **Default Currency** for your primary market, plus the **Website URL** WISEPIM should use to build product links when a product has no storefront URL of its own.
Under **Locales to sync**, add each project language you want to publish and set its feed target (see below).
Run the connection test and save. Editing credentials or locale mappings later resets the test status, so re-test after changes.
## Locale mapping: one product, many markets
For most platforms, "Locales to sync" is just a language list. For Google Merchant Center each locale is a full **feed target**, because Merchant Center identifies a listing by feed label and content language:
| Field | What it does | Example |
| ----------------------- | ------------------------------------------------- | ------- |
| **Feed label** | The Merchant Center feed label for that market | `NL` |
| **Content language** | The language code Google receives for the listing | `nl` |
| **Currency (optional)** | Overrides the default currency for that market | `EUR` |
Adding a locale pre-fills sensible defaults from the language code (`de-AT` becomes feed label `AT` with content language `de`), and you can edit both. Only languages configured on your project can be added. On export, WISEPIM publishes the base product to your default feed target plus a translated listing for **every mapped locale**, so one product covers all your markets in a single run.
## What WISEPIM sends
| Field | Notes |
| -------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Title | Capped at Google's 150-character limit |
| Description | Capped at 5,000 characters; HTML stripped when **Escape HTML** is on |
| Link | The product's storefront URL, falling back to your **Website URL** setting |
| Images | Main image plus up to 10 additional images |
| Price and sale price | Sale prices respect their date window; an expired special is never sent |
| Availability and condition | Mapped to Google's values (in stock, out of stock, preorder, backorder; new, refurbished, used) |
| GTIN, brand, MPN | GTINs are check-digit validated; an invalid GTIN is omitted rather than sent, preventing certain disapproval |
| Product types | Your product's category path, e.g. `Garden > Tools > Pruners` |
| Item group ID | The parent SKU, so variants group correctly in Merchant Center |
| Shipping weight | When available |
| Product details | Your structured attributes as Merchant Center product details, up to 100 entries, grouped by attribute group |
The **Attribute Mapper** on the connection lets you override or disable individual fields. Computed fields such as the link, Google product category, and item group ID show as unmapped by default because WISEPIM derives them for you.
The Merchant Center offer ID is your product's **SKU**. Renaming a SKU creates a new listing; WISEPIM detects the rename and automatically removes the old listing so it does not linger as an orphan (auto-sync must be on, see below).
## How exports run
* **Bulk export**: select products and export them to Google Merchant Center like any other channel, or send the whole catalog. With **skip unchanged** enabled, products untouched since their last export are skipped; if nothing changed, nothing is sent.
* **Auto-sync**: with auto-sync enabled for the project, saving a product pushes the change to Merchant Center automatically.
* **One export at a time**: starting a second bulk export while one is running is rejected with a clear message; wait for the running export to finish.
* **Quality Guard runs first**: products blocked by your [Quality Guard](/en/quality-guard/overview) rules are recorded as blocked, not exported.
## Deletions propagate
When auto-sync is on, deleting a product in WISEPIM also removes its listing from Merchant Center, across every mapped locale. This covers single deletes, bulk deletes, and SKU renames (the old SKU's listing is removed and the new one is created). A listing that is already gone counts as success.
Two boundaries to know:
* **Projects that export manually get no automatic deletes.** Deletion propagation follows the same auto-sync switch as exports, so a manually-exporting project is never surprised by automatic removals.
* **If a deletion cannot be delivered**, the product in WISEPIM is still deleted; the Merchant Center listing then expires on its own after Google's standard 30-day window instead of being removed promptly.
## Sync health and run history
The integration's detail page shows a **Sync health** section once you have a connection:
* **Connection health** per store: **Healthy**, **Degraded** (temporary failures, retried with an automatic cool-down), **Authentication failed** (reconnect or fix the service account), or **Temporarily disabled**.
* **Recent export runs**: the last 10 runs with status (**success**, **partial**, **error**, **running**), start time, duration, row count, and the first error when something failed. A partial run means some products succeeded and some did not, for example `12 of 500 products failed to export`.
The marketplace card mirrors this: a connection that needs a look shows **Needs attention** instead of hiding behind a green Connected chip.
## Drift scanning: what Google actually serves
Every night at 05:15 WISEPIM reads your listings back from Merchant Center and compares them with what the exporter would send. When the **title**, **price** or **availability** Google serves differs from your product, you get a **Channel drift** alert in the [alert feed](/en/analytics/alerts) with both values side by side and a probable cause. Re-export the product or fix the channel value, and the alert resolves on the next scan.
The scan covers projects with a successful export in the last 14 days, up to 500 products per profile and 5 profiles per project. It never runs while an export is in progress. See [Integration Health](/en/analytics/integration-health) for the full read.
## Troubleshooting
The error names the exact fields, for example `missing required fields: title, link`. Fill the missing values (or map them in the Attribute Mapper) and export again. [Channel Readiness](/en/essentials/feed-hub) shows required-field coverage before you export.
The GTIN failed GS1 check-digit validation, so WISEPIM omitted it rather than trigger a Merchant Center disapproval. Correct the barcode value on the product. If the product genuinely has no GTIN, set a brand and MPN instead.
Only one bulk export per project runs at a time. Wait for the current run to finish, then start the next one. Automatic single-product pushes are not affected by this limit.
The Google sign-in expired or was revoked. Exports pause until you click **Reconnect** and sign in again, or add a service-account key under Advanced. Disconnecting on purpose has the same effect.
Google rejected the credentials. Check that the service account key is valid and that its email is still a user on the Merchant Center account. After rotating a key, allow a few minutes for the new key to take effect everywhere.
Some products failed while others succeeded. Open the run in Sync health for the first error, fix the cause, and re-export; with skip unchanged on, only the affected products are re-sent.
If the project exports manually (auto-sync off), deletions are not propagated by design; remove the listings in Merchant Center or via a fresh export scope. If auto-sync is on and a delete could not be delivered, the listing expires on its own after Google's 30-day window.
## Related
Prefer a feed URL? Generate a Google Shopping feed instead.
Push products to any connected channel in a few clicks.
Block incomplete products from reaching your channels.
Go from a fresh connection to an approved channel without a rejection queue.
# Google Search Console Integration
Source: https://docs.wisepim.com/en/integrations/google-search-console
Connect Google Search Console to WISEPIM with OAuth. Sync search performance, sitemaps, and URL inspections, and tie queries to individual products.
Google Search Console (GSC) is the data source behind WISEPIM's organic-search features. Connect it once and your real impressions, clicks, CTR, and rankings flow into the [SEO & Search report](/en/analytics/seo), [Product Performance](/en/analytics/product-performance), [Search Intent](/en/ai/search-intent) enrichment, [keyword opportunities](/en/settings/keywords), and the AI's search-performance context. The connection is read-only and uses your Google sign-in, no API keys.
## Before you start
* A Google account with access to at least **one verified property** in [Google Search Console](https://search.google.com/search-console). Both URL-prefix properties (`https://example.com/`) and domain properties (`sc-domain:example.com`) work. You need a verified property before you connect; WISEPIM cannot verify a site for you.
* Each WISEPIM project connects to **one property**. Working with several storefronts? Connect each one in its own project.
WISEPIM requests **read-only** Search Console access. It can never submit or delete sitemaps, request indexing, or change anything in your Search Console account.
## Connect Google Search Console
Go to **Channels → Integrations** in the top navigation, filter by the **Analytics** category, and find the **Google Search Console** card.
The connection dialog explains what you'll get: search query performance, impressions, clicks, CTR, position metrics, and page-level performance. Click **Connect with Google**.
Your browser goes to Google's own consent screen. Pick the Google account that has Search Console access and grant the read-only permission. You're brought straight back to WISEPIM.
WISEPIM lists the verified properties your account can see, each with its permission level. Pick the property this project should monitor and click **Select site**. WISEPIM verifies your access with Google before accepting the selection.
Selecting a property queues the initial import automatically, and the dialog follows its progress. The [SEO report](/en/analytics/seo) shows **Importing initial Search Console data** until the backfill lands, then fills with your history.
The connection is only treated as ready when all three are true: the account is connected, a property is selected, and the connection test passed. If a page still shows a connect prompt after setup, open the card and click **Test**.
## What WISEPIM imports
| Dataset | What it contains |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Search performance | Clicks, impressions, CTR, and average position per day and per query. With **per-page data** enabled, also per page, country, and device. |
| Daily totals | Property-wide clicks and impressions per day, pulled separately so headline numbers stay accurate. |
| Search appearances | Which appearance types (rich results and similar) your pages earned, with per-page performance for each type. |
| Sitemaps | A read-only snapshot of the sitemaps submitted in Search Console, including their reported contents, warnings, and errors. |
| URL inspection | Google's indexed-version record of your product URLs: index verdict, coverage state, canonical, rich-result issues, and last crawl time. |
Query-level totals will not add up to the daily totals: Google anonymizes low-volume queries and omits them from query-dimensioned data. WISEPIM pulls both datasets on purpose so the headline numbers stay right. Search-appearance types overlap too, so never sum them into one total.
A few honest boundaries of the data:
* **Sitemap counts are observations, not proof.** A URL being submitted in a sitemap does not mean Google indexed it.
* **URL inspection reads Google's stored index record.** It is not a live test and never requests indexing. Inspections are quota-bounded per day, so large catalogs are covered over multiple days, prioritizing never-inspected and product URLs first.
* **Detailed query and page rows are top rows.** On very large sites a single day can exceed Google's row limits; those slices are marked as truncated in the coverage panel rather than passed off as complete.
## Data coverage panel
The SEO report includes a **Search Console data coverage** panel that shows the freshness and completeness of each stored dataset: search performance, search appearances, sitemaps, and URL inspection. Each card carries a status chip: **Ready**, **Partial**, **Error**, or **Unavailable**.
Treat it as the report's honesty layer. If the latest refresh was incomplete or failed, the panel says so while the report keeps showing the last successfully stored data. A failed refresh never blanks data that already synced.
## How products are matched
WISEPIM ties Search Console data to individual products by matching product URLs against your sitemaps. Every product falls into one of four mapping states, shown in the [Product Performance](/en/analytics/product-performance) drawer and the product editor's **Search performance** card:
| State | Meaning |
| ------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Matched URL** | The product URL was found and search metrics are attributed to the product. |
| **Not in sitemap** | The product has no URL in your sitemaps, so nothing can be attributed. Fix it via [Sitemap gaps](/en/analytics/seo). |
| **Ambiguous URL** | Several products claim the same URL, so attribution would be unreliable. |
| **Unmatched URL** | The URL could not be tied to a product. |
Matched products get their own clicks, impressions, CTR, average position, top queries, search appearances, and indexed-version evidence, per product.
## Sync schedule and history
* **Search data trails by about 3 days.** Google Search Console itself delays its data, and WISEPIM ends its data at three days ago to match. The last few days looking empty is normal, not a sync problem.
* **Background syncs run daily.** They refresh roughly the trailing week and backfill history in batches: about **6 months** of search performance, and even longer for the detailed capability datasets.
* **Manual syncs are rate-limited to once every 5 minutes**, and only one sync runs at a time.
The SEO report shows when data was last synced and flags it **Stale** after 24 hours; opening the report when data is stale starts a refresh automatically. The integration card keeps a **sync history** with the status, duration, date range, and row count of recent runs, using the statuses **running**, **success**, **partial**, and **error**.
## Manage the connection
Reopen the Google Search Console card at any time to see the connection status. From there you can:
* **Change** the selected property. Data is always scoped to the current property: WISEPIM immediately hides the old property's data and queues a full backfill for the new one, so numbers from two properties are never mixed.
* **Test** the connection.
* **Sync now**: fetches only recent data and fills in anything that was missed.
* **Force re-sync**: refreshes the full 6-month window while retaining the previous snapshot for recovery.
* **Switch account** or **Disconnect** the integration.
## What it powers
| Feature | What GSC adds |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [SEO & Search report](/en/analytics/seo) | Impressions, clicks, CTR, positions, sitemap coverage, cannibalization |
| [Product Performance](/en/analytics/product-performance) | Product-attributed clicks, impressions, positions, and top queries |
| [Search Intent](/en/ai/search-intent) | Per-product real queries that AI rewrites descriptions against (required) |
| [Keywords settings](/en/settings/keywords) | **Find opportunities**: queries you rank for but don't target yet |
| [SEO meta enrichment](/en/ai/seo-meta) | Query data to target the keywords shoppers actually use |
| [Internal Linking](/en/ai/internal-linking) | Higher-traffic pages weighted as better link candidates |
| [Strategy](/en/analytics/strategy) & [Smart Insights](/en/analytics/smart-insights) | Keyword demand, gaps, and richer root-cause context |
| [AI Chat](/en/ai/ai-chat) | Search performance context the assistant can reason over |
Sitemap Coverage, Sitemap Gaps, Link Audit, and Link Equity run off your catalog and sitemaps, so they keep working even before Search Console is connected. Only the performance-based views need the connection.
## Troubleshooting
The Google account you picked has no verified Search Console properties. Verify your site in [Search Console](https://search.google.com/search-console) first, or click **Switch account** in the dialog and sign in with the account that owns the property.
Any performance page under Analytics → SEO shows a **Go to Integrations** button when the connection is missing; it takes you to the flow above. If you did connect, the connection may need attention: open the card and use **Test**. A selected property with a failed test blocks the report just like a missing connection.
Your property stays selected; you never need to reconnect for a sync problem. Review the sync error shown on the SEO report, then use **Sync now** to retry safely.
A successful sync with zero clicks and impressions in the selected date range shows a **No search activity** state rather than fake zero-charts. Try a wider date range if you expected activity, and check you selected the property that actually serves your storefront.
Expected. GSC data trails by about 3 days (see above). If older data is missing too, run **Sync now**.
The product's URL is missing from your sitemaps, so search metrics cannot be attributed to it. Open [Sitemap gaps](/en/analytics/seo) to see every affected product and fix your sitemap; attribution picks the products up on the next sync.
## Related
The command center this connection powers.
See product-attributed search metrics next to sales and quality.
Rewrite descriptions using your real queries.
Add on-site traffic, funnel, and item-level conversion data.
# Kaufland Integration
Source: https://docs.wisepim.com/en/integrations/kaufland
Connect your Kaufland seller account to WISEPIM. Sync product data, optimize listings, and meet Kaufland data quality requirements.
Kaufland.de is one of the largest online marketplaces in Germany. Connect your seller account to WISEPIM to manage all your listings in one place, optimize them for the marketplace, and meet Kaufland's strict data requirements before you publish.
Kaufland runs across several European markets, including Germany, Czechia, Slovakia, Austria, and Poland. WISEPIM lets you manage product data for every market from one project.
## Before you start
Make sure you have:
* An active Kaufland.de seller account with API access enabled
* A WISEPIM account with an active project
* Your Kaufland **API Key** (Client Key) and **API Secret** (Secret Key) (you'll get these next)
## Get your Kaufland API credentials
You need an API key and secret from your Kaufland seller account to connect.
Sign in to the [Kaufland Seller Portal](https://sellerportal.kaufland.de). Go to **Settings** and open the **API** or **Interface** section.
Click **Create new API key** (or similar). Kaufland gives you two values:
| Credential | What it is |
| --------------------------- | ------------------------------------- |
| **Client Key** (API Key) | Your unique identifier for API access |
| **Secret Key** (API Secret) | Your authentication secret |
Copy both and store them securely.
Make sure your API key has these permissions:
* **Products**: read and write
* **Categories**: read
* **Orders**: read (optional, for analytics)
Keep your API Secret confidential. Never share it publicly, commit it to version control, or send it over unencrypted channels. If you think it's been exposed, regenerate it in the Kaufland Seller Portal right away.
## Connect Kaufland to WISEPIM
With your credentials ready, set up the integration in WISEPIM.
In WISEPIM, go to **Integrations** from the main sidebar.
Find the **Kaufland.de** tile in the App Marketplace and click it.
Fill in your **API Key** (Client Key) and **API Secret** (Secret Key).
Click **Test Connection** to confirm WISEPIM can reach your seller account. When the test passes, click **Save**.
A successful test confirms your credentials are valid and your permissions are set correctly.
## Set your connection options
Your Kaufland connection has a few extra settings. They decide whether your products go on sale and what Kaufland shows buyers about delivery.
| Option | What it does |
| ------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Sync offer data** | Sends your price, stock and delivery details along with the product. Off by default. |
| **Default handling time** | The days you need to get an order ready for shipping, used when a product has no value of its own. Starts at 2. |
| **Default condition** | The condition Kaufland lists your products under, such as new. Starts at new. |
| **Shipping group** | The Kaufland shipping group your offers are placed in, which sets the delivery costs and options buyers see. |
**Sync offer data** is off on purpose. Turning it on creates an offer for each exported product, and that makes your products buyable on Kaufland right away. Switch it on only when your prices, stock and handling time are correct and you are ready to sell.
Leave **Sync offer data** off while you are still cleaning up listings. You can push and review your content on Kaufland first, then turn the switch on when everything looks right.
## Import products from Kaufland
Pull your existing Kaufland listings into WISEPIM to manage them centrally.
Go to the **Products** page, click **Import**, and select **Kaufland.de** as the source.
WISEPIM imports your listings, including:
* Titles and descriptions
* EAN/GTIN identifiers
* Prices and shipping info
* Images
* Category assignments
* Attributes and specifications
## Export products to Kaufland
Once your products are enriched, push optimized listings back to Kaufland.
On the **Products** page, select the products you want to export.
Click **Export** and choose **Kaufland.de** as the destination.
Check the export preview to verify your data, then confirm.
Enrich your titles and descriptions with AI before you export. Well-optimized listings rank higher in Kaufland search and convert better.
## Map categories and meet data requirements
Kaufland uses a fixed category tree. Your products must be mapped to it, and each category requires specific attributes. Get this right and your listings get accepted and show up in the correct search results.
### Map your categories
On the **Integrations** page, click **Open Attribute Mapper** on your Kaufland tile.
Match your WISEPIM categories to the matching Kaufland categories. Then map the attributes for each category's required fields.
Save your configuration.
Kaufland requires specific attributes per category, such as brand, color, size, or material. The Attribute Mapper helps you fill every required field before export, so fewer listings get rejected.
### How WISEPIM helps you comply
Kaufland has strict data quality rules. WISEPIM checks your data before export by:
* **Validating required fields** so you catch missing data early
* **Standardizing attribute values** to match Kaufland's expected formats
* **Verifying EAN/GTIN codes** to confirm your product identifiers are valid
* **Checking images** against Kaufland's specifications
Listings that don't meet Kaufland's requirements can be rejected or shown less often. Always review the export preview and clear any validation warnings before you confirm.
## Sell across multiple markets
Kaufland operates in several European markets, and you can manage them all from one WISEPIM project. With this you can:
* Translate content from German into Czech, Slovak, Polish, and more with AI translation
* Keep product information consistent across markets
* Export to each market with the right language and localization
Start with your main market (usually Germany), then use WISEPIM's translation features to expand to other Kaufland markets with consistent quality.
## Troubleshooting
* Check that your **API Key** and **API Secret** are entered correctly.
* Confirm your credentials haven't expired or been revoked in the Seller Portal.
* Make sure your seller account is active and in good standing.
* Confirm your account has active listings to import.
* Check that your API key has read permissions for products.
* Missing products may be in a draft or deactivated state on Kaufland.
* Confirm every required category attribute is filled in.
* Verify your EAN/GTIN codes are valid and correctly formatted.
* Check that images meet Kaufland's minimum resolution and format.
* Review the WISEPIM error log for field validation errors.
* Make sure your WISEPIM categories map to valid Kaufland categories.
* Confirm every required attribute for the target category is set in the Attribute Mapper.
* If a category changed on Kaufland's side, refresh and update your mapping.
If you regenerate your API credentials in the Seller Portal, update them in WISEPIM right away. The old credentials stop working as soon as new ones are generated.
## Related
Bring your Kaufland listings into WISEPIM.
Optimize titles, descriptions, and SEO with AI.
Push optimized listings back to Kaufland.
See every platform WISEPIM connects to.
# Mirakl Integration
Source: https://docs.wisepim.com/en/integrations/mirakl
Connect a Mirakl-powered marketplace to WISEPIM. Add your API key, pick a hierarchy, and export enriched listings that meet the marketplace requirements.
Mirakl powers the marketplaces of many large retailers. If you sell on one of them, connect it to WISEPIM to build your listings once and push them out with the right content, the right images, and the right category attributes.
Mirakl is an **export-only** integration. WISEPIM sends your products to the marketplace but does not read listings back. Keep WISEPIM as the place where your product data lives.
The Mirakl integration is available on the **Pro plan and up**.
## Before you start
Make sure you have:
* A WISEPIM account on the **Pro plan** or higher
* A seller account on a Mirakl-powered marketplace with API access
* Your **API key** from that marketplace
* The **marketplace URL** you connect to
## Connect Mirakl to WISEPIM
In WISEPIM, go to **Integrations** and find the **Mirakl** tile.
Fill in your **API key** and the **marketplace URL**. Every Mirakl marketplace has its own address, so use the one for the marketplace you sell on.
Pick the category hierarchy your products belong to. This is the branch of the marketplace's category tree WISEPIM uses when it exports.
Click **Test Connection**. When it passes, click **Save**.
Products attach to **leaf categories** only, meaning the lowest level of the tree with nothing under it. Pick a hierarchy that ends in real, sellable categories, not a top-level group.
## Let AI fill the category attributes
Every Mirakl category asks for its own set of attributes, and there can be a lot of them. WISEPIM can work these out for you from the product data you already have.
This is **on by default**. Leave it on and AI derives the attributes the chosen category requires, so you do not have to fill each one by hand for every product.
Enrich your descriptions and attributes in WISEPIM first. The better your source data, the more accurate the derived category attributes are.
## What a listing needs
Mirakl rejects incomplete listings. Fill these fields before you export.
| Field | Required? |
| --------------- | --------------------- |
| **Name** | Required |
| **Description** | Required |
| **Price** | Required |
| **SKU** | Required |
| **EAN** | Required |
| **Images** | At least one required |
| **Brand** | Recommended |
Run a data quality check on your selection before exporting. Fixing a missing EAN or image in WISEPIM is much faster than chasing a rejection afterwards.
## Export products to Mirakl
On the **Products** page, select the products you want to list.
Click **Export** and choose your Mirakl marketplace as the destination.
Check the export result for products the marketplace pushed back on, then fix and export again.
### Create products that don't exist yet
Turn on the auto-create option and WISEPIM creates products on the marketplace that are not there yet, instead of only updating the ones that already exist. Leave it off if you want to update your current listings and nothing more.
### Locale columns are filled in their own language
Operator templates often carry one column per language, such as `DESCRIPTION_NL_NL`, `DESCRIPTION_FR_FR` or `TITLE_fr`. WISEPIM fills each of those with the content in that language instead of repeating the source text.
If your project does not have a language a column asks for, WISEPIM translates it at export time, once per product. The translation is stored on the product and reused by every later export, existing translations are never overwritten, and the language is added to your project's available languages so it shows up in the locale switcher. A translation that fails falls back to the source text and the export still succeeds.
Export-time translation costs 1 translation credit per product per new language, deducted per batch and refunded for products whose translation did not land. Products that already have the language are never charged. If your balance covers only part of the selection, WISEPIM translates what it can and names the shortfall in the task log.
## Fix rejected products
When Mirakl refuses a product, WISEPIM shows you what the marketplace said, up to **20 error lines per product**. Each line names the field and the problem, so you can go straight to it.
The category asks for an attribute your product does not have. Fill it on the product, or let AI derive the category attributes for you, then export again.
Check that your mapping points to a leaf category. Products cannot be attached to a parent category that has categories underneath it.
Check your API key and marketplace URL, then run **Test Connection**. Marketplaces issue their own keys, so a key from one Mirakl marketplace never works on another.
WISEPIM shows the first 20 error lines. Fix those, export again, and any remaining errors appear on the next run.
## Related
Improve titles, descriptions, and attributes with AI.
Push your listings to the marketplace.
Sell on Kaufland's marketplaces from the same catalog.
See every platform WISEPIM connects to.
# Picqer Integration
Source: https://docs.wisepim.com/en/integrations/picqer
Connect your Picqer warehouse to WISEPIM. Add your API key, test the connection, and import products with live stock levels.
Connect your Picqer warehouse to WISEPIM to bring your products and live stock levels into one place. Picqer is a warehouse management system (WMS). Once connected, you can import products from Picqer and enrich them with AI.
Picqer is an **import-only** integration. WISEPIM reads products and stock from Picqer but does not push changes back to it. Use one of the e-commerce platform integrations to export your enriched content to a store.
Setup takes two steps: get your API key from Picqer, then add it in WISEPIM.
You need access to your Picqer account settings and a WISEPIM account with an active project.
## Get your API key from Picqer
Picqer issues an API key from your account settings.
Log in to Picqer. Go to **Settings** > **API** (Instellingen > API).
Create a new API key, or copy an existing one.
Your subdomain is the part before `.picqer.com`. If your Picqer is at `acme.picqer.com`, your subdomain is `acme`.
If you want stock from a single warehouse, note its Warehouse ID. Leave it empty to total stock across every warehouse.
## Add your credentials to WISEPIM
Enter the values from Picqer to finish the connection.
Log in to WISEPIM and go to **Settings** > **Integrations**.
Find and click the **Picqer** integration tile.
Fill in the following fields:
* **Subdomain**: just the subdomain, for example `acme` for `acme.picqer.com`
* **API Key**: the key from your Picqer settings
* **Warehouse ID**: optional, leave empty to total stock across every warehouse
Click **Test Connection** to confirm your credentials work.
If the test succeeds, click **Save**.
Your Picqer warehouse is now connected. You can import products and stock.
Your API key gives access to your Picqer data. Never share it publicly or commit it to version control. If you think it is exposed, delete the key in Picqer and create a new one.
## Use Picqer in the Automation Builder
Picqer is available as a step in the [Automation Builder](/en/automations/builder). Instead of importing by hand, you can let an automation pull your products and stock on a schedule, then continue with the rest of your flow.
### Sync stock to your other projects
The Picqer step can also push stock into your other WISEPIM projects. This is useful when the same articles are sold from several projects, for example one project per shop or per market. You keep one warehouse as the source of truth.
Pick the extra projects in the step, and after each run WISEPIM copies the stock values to products with the same SKU in those projects.
Only these three values travel across:
| Field | What it does |
| ------------------ | ---------------------------------------- |
| **Stock quantity** | The number of units on hand |
| **Stock status** | In stock, out of stock, and so on |
| **Manage stock** | Whether stock is tracked for the product |
Matching is done on SKU. A product in another project only gets the update if its SKU matches exactly. You can only sync to projects that belong to the same account.
Nothing else is copied. Names, descriptions, prices and images in your other projects stay untouched.
## Troubleshooting
Check your subdomain first, enter only the part before `.picqer.com`, with no `https://` and no full domain. Then confirm you copied the API key exactly, with no extra spaces.
If you set a Warehouse ID, WISEPIM only counts stock in that warehouse. Clear the field to total stock across all of your warehouses.
## Related
Pull your products and stock from Picqer into WISEPIM.
Improve titles, descriptions, and SEO with AI.
Send the enriched content to your store platform.
See every platform WISEPIM connects to.
# Shots Supplier Integration
Source: https://docs.wisepim.com/en/integrations/suppliers/Shots
Import product data and digital assets from Shots into WISEPIM. Set up the supplier feed through WebshopImporter to receive content automatically.
Import product data and digital assets from Shots straight into WISEPIM. The feed runs through your WebshopImporter integration, so new content arrives automatically.
Shots is a supplier feed delivered via WebshopImporter. Set up [WebshopImporter](/en/integrations/webshopimporter) first, then link your Shots account below.
## Set up the Shots feed
Connect your WebshopImporter credentials and link your Shots account to start receiving product data.
Make sure your [WebshopImporter integration](/en/integrations/webshopimporter) is set up first. Shots delivers its feed through it.
In WISEPIM, go to **Settings** > **Integrations** > **Suppliers**.
Select **Shots** and enter your supplier credentials.
Click **Save** to activate the feed. WISEPIM now receives product data and digital assets from Shots automatically.
## Get access to Shots
You need supplier credentials from Shots before you can set up the feed.
Contact Shots directly through their website to request API credentials and a supplier agreement.
## Related
Set up the integration that powers the Shots feed.
Bring imported supplier content into your catalog.
Improve supplier content with AI.
See every platform WISEPIM connects to.
# TechData Integration
Source: https://docs.wisepim.com/en/integrations/techdata
Import your TechData assortment into WISEPIM over FTP. Add your FTP details, pick the categories you sell, and enrich the products as your own.
TechData is a distributor. Connect it to WISEPIM to pull its product, price and stock data into your catalog over FTP, then enrich the content and sell it as your own.
TechData is an **import-only** integration. WISEPIM reads data from TechData and never writes back to it. Use one of the store or marketplace integrations to publish the enriched products where you sell.
## Before you start
Make sure you have:
* FTP access to your TechData feeds, provided by TechData
* A WISEPIM account with an active project
## Connect TechData to WISEPIM
In WISEPIM, go to **Integrations** and find the **TechData** tile.
Fill in the connection fields:
* **Host**: the FTP server address TechData gave you
* **Port**: `21` unless TechData told you otherwise
* **Username**: your FTP username
* **Password**: your FTP password
* **Path**: the folder on the server that holds your files
Click **Test Connection** to confirm WISEPIM can reach the server and find your files. When the test passes, click **Save**.
Your FTP password gives access to your supplier data. Never share it publicly or commit it to version control. If you think it is exposed, ask TechData for new credentials and update them in WISEPIM.
## Choose the categories you import
TechData's assortment is huge, and most sellers only carry part of it. Pick the categories you want and WISEPIM imports those products only.
This keeps your catalog focused, your imports fast, and your product count down.
Start with one or two categories. Check that the data looks right in WISEPIM, then add more.
## How the data is put together
TechData delivers its data in separate files: one for products, one for prices, one for stock, and one for categories. WISEPIM joins them per article number, so each product in your catalog arrives with its price and its stock level already attached.
An article is only imported when it has a price line **and** a stock line. Articles missing either one are skipped, because a product without a price or without stock is not something you can sell.
## Troubleshooting
Check the host and the path first: the path must point at the folder that holds your files, not at a single file. Then confirm the username and password are exactly as TechData supplied them, with no extra spaces. Leave the port at `21` unless TechData gave you a different one.
Articles without a price line or without a stock line are skipped on purpose. Also check your category selection: only the categories you picked are imported.
TechData refreshes its files on its own schedule. Run the import again to pick up the newest files, or automate it so it runs on a schedule.
## Related
Bring your TechData assortment into WISEPIM.
Rewrite supplier content into your own with AI.
Send the enriched products to your store.
See every platform WISEPIM connects to.
# WebshopImporter Integration
Source: https://docs.wisepim.com/en/integrations/webshopimporter
Connect WebshopImporter to WISEPIM to import and sync your catalog. Add your API keys and start exchanging product data in minutes.
Connect WebshopImporter to WISEPIM to import your catalog and keep product data in sync. To start, add your WebshopImporter API keys in WISEPIM.
## Add your API keys
Log in to WISEPIM, then go to **Settings** > **Integrations** > **WebshopImporter**.
Click **Add API Key** to start a new connection.
Complete the required fields:
* **API Key Name**: a name you'll recognize later
* **API Key**: your webshop's API key
* **API Secret**: your webshop's API secret
* **Webshop URL**: the base URL of your webshop
Click **Save** to store your credentials. WISEPIM can now exchange product data with your webshop.
Keep your API keys private and never share them publicly. If you think a key has been exposed, regenerate it right away from your webshop's admin panel.
## Related
See every platform WISEPIM connects to and open its setup guide.
Bring your catalog into WISEPIM once the integration is connected.
Improve your imported product data with AI.