# 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 diagnosing inconsistent product titles and proposing a one-click fix across the catalog](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=0c4e3f9cef073beb355a88ef7a67d2d1) 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. > [!NOTE] > > 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. > [!TIP] > > 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. **1. Open AI Chat** Click **AI Chat** in the main navigation sidebar. **2. Type your message** Enter your question or request in the message input at the bottom of the screen, or click a suggested prompt to pre-fill one. **3. Send your message** Press **Enter** or click the send button. The answer appears as formatted text while it is written, so you can start reading straight away. A live status such as **Writing · 3 steps** shows each action the assistant takes while it works, such as fetching your quality scores or looking up the products behind a number. **4. Review the response** Read the answer, any charts or tables it returns, and any proposed actions. Copy it, approve an action, give feedback, or pick one of the **Ask next** questions to continue. > [!NOTE] > > Under a reply you can open **Tool selection**. It lists the tool groups that were available for that answer, such as **Catalog and quality** or **Analytics and revenue**. It shows availability only, not which tools were used, and it never changes your permissions or approves catalog changes. ### 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. ![WISEPIM products with the Ask AI assistant proposing catalog fixes beside the table](https://mintcdn.com/swiftsyncai/1ZDruLqY6VJzMb_v/images/marketing-screenshots/products/products-ai-chat-sidebar-light-branded.webp?fit=max\&auto=format\&n=1ZDruLqY6VJzMb_v\&q=85\&s=8f3233517bee3c53ae8fc74aa8c0c6d0) ### 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. > **Analyze & report** > > Revenue and order trends, conversion funnels, customer segments, product rankings, and search performance, returned as charts and tables you can read at a glance. > **Control data quality** > > Quality scores and grades, field coverage, channel readiness, and a prioritized roadmap of the fixes that move the needle most. > **Create on-brand content** > > Product descriptions, optimized titles, short descriptions, SEO meta, and marketing copy kits, all written in your Knowledge Library voice. > **Take action & fix** > > 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. The assistant also knows your business. It reads the industry path of your project and the business profile in your [Knowledge Library](/en/other-features/knowledge-library), so answers use the terms and priorities of your market. On a product page it takes that product's own industry and segment into account. 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 > [!TIP] > > 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. ![WISEPIM AI Chat answering with a sortable data table of underperforming categories](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-category-table-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=1ca83c8c9a72b6b8691b8be15a3028bb) ### How results are shown A reply opens with the answer in one sentence, then builds the rest from blocks: | Block | What it is used for | | - | - | | **KPI tiles** | Headline metrics such as revenue, orders and average order value. Each compares with the period just before it by default, with the signed change and a sparkline. A tile that links to a page shows **Open details**. | | **Quality score tile** | Your quality score out of 100, with its grade, the change over 30 days and a sparkline that ends today. | | **Steps** | Two to four next actions. A step that needs your approval turns into a check once you approve it. | | **Callouts** | A highlighted remark, marked **Note**, **Good news**, **Warning** or **Important**. | | **Meter bars** | Progress toward a total, such as field coverage. | | **Views** | Tabs that switch between related charts or tables. | | **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. Hover a donut slice to read its value in the centre. More than six slices are grouped as "Other". | | **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. | | **Biggest revenue changes** | The three products whose revenue **Rose** most and the three that **Fell** most, each by at least 10%, compared with the same number of days before. It only appears when there are earlier orders to compare with. | Charts the reply does not place in the text are collected under **More detail (N)**. Click a bar, point or slice and choose **Ask about this** to send a follow-up about that value. The newest reply also offers up to three **Ask next** questions. 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. | ![WISEPIM AI Chat explaining a weekly revenue dip, naming the drivers, and linking to the returns breakdown](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-revenue-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=3162a442fd628784a0e85d9c415cabd4) 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. ![WISEPIM AI Chat proposing to translate 1,284 products to German and to open the translation settings](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-translation-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=60ba4c851b5e9d0e38af08b2dd9dc731) ### 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. ![WISEPIM AI Chat finding 42 products with no main image and proposing a one-click filter to show just those products](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-find-images-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=e9537ecafefe8175735498ac9b1ff2de) ### 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. ![WISEPIM AI Chat proposing a two-step plan to title-case brand names and round prices, each step separately approvable](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-bulk-plan-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=e214b85d19d133817d24072af25aaaed) > [!WARNING] > > 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. > [!NOTE] > > 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 ![WISEPIM Ask AI giving step-by-step guidance on exporting to Shopify](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/ai-chat/chat-how-to-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=1111e014bec901f67fb0a916e69fe96c) 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 The history column sits on the left of AI Chat: * **Start a new chat**: new chats are titled from your first question. Starter cards only show on an empty chat. * **Search chats** to find an earlier conversation. * **Groups**: chats are sorted into **Today**, **Yesterday**, **Previous 7 days**, **Previous 30 days** and **Older**. * **Rename or delete**: hover a chat and open its menu. Deleting asks **Delete chat?** first. * **Resize**: drag the edge of the column (200 to 440 pixels wide), or focus it and use the arrow keys. Double-click the edge to reset it. * **Hide or show**: use **Hide chat history** and **Show chat history** in the header, or press **Cmd/Ctrl + Shift + H**. The header above the conversation shows the chat's title and when it last changed. Click the title to rename the chat. ## 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. > [!TIP] > > 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. **1. Type your initial prompt** Write a draft of what you want to ask in the input field. **2. Click AI Enhance** Click the **AI Enhance** button (magic wand icon) in the input toolbar. **3. Review the enhanced prompt** The AI will generate an improved version of your prompt with better structure and specificity. **4. Use the enhanced prompt** The refined prompt replaces your original input. Send it as-is or make further adjustments. > [!TIP] > > 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 > [!WARNING] > > 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 > **[AI Chat](/en/settings/ai-chat)** > > Set the personality, response style, tool access, and language for your copilot. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Add the brand voice, audience, and values the AI writes with. > **[Analytics Hub](/en/analytics/overview)** > > Explore the dashboards behind the numbers AI Chat reports. > **[Bulk Editing](/en/essentials/bulk-editing)** > > See the catalog operations the AI can propose and run for you. # AI Attribute Extraction Source: https://docs.wisepim.com/en/ai/attributes Fill attributes like material, size and color from your product text and web research with AI, only when a source backs up the value. ![Extracting product attributes with AI in WISEPIM](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-attributes-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=efb5cb97aee3cd2b54879b57beb23b47) 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. > [!NOTE] > > Attribute enrichment costs **1 credit per product**. Values are written to the attributes defined for that product's family. A run that fills nothing is reported as no change, and its credit is refunded. ## 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 **1. Select products** Check products individually, or filter (for example, by a missing key attribute) and select all matching results. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Attributes** Pick **Attributes** as the enrichment type. **4. Select a prompt** Choose an attribute prompt from your [Prompt Library](/en/essentials/prompt-library). The prompt guides how values are found and formatted, and can name the exact attributes to fill (see [Target specific attributes](#target-specific-attributes)). Your default comes from the **Attributes** row in [Enrich Prompts](/en/settings/enrich-defaults). 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. **5. Start Enrichment** 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, attributes and its latest [web research](/en/ai/web-research), then fills the attributes defined on the product's **family** that have AI suggestions switched on. When the original description is empty, it reads the Enriched Description instead. Every value is checked before it is saved: * **It needs a source.** Each value must be quoted from the product data or the research. If the AI cannot point to it, the attribute stays empty. A blank is better than a guess. * **It must fit the attribute.** A value of the wrong type, outside the attribute's options, or breaking its validation rules is rejected. * **Your values stay.** "Unknown" never clears a filled attribute, a missing yes/no never becomes "No", and values a person entered are kept. Big families are handled in parts, so every attribute gets a turn however many your family has. If one part fails, it is retried in two smaller halves, and the task log names any attribute that still could not be filled. > [!TIP] > > Attribute extraction is only as good as the source text. If descriptions are thin, run [Web Research](/en/ai/web-research) first, then extract attributes from the richer data. ## Target specific attributes An attribute prompt can name the attributes it writes. In the prompt form in the [Prompt Library](/en/essentials/prompt-library), pick them in **Attributes to fill**, for example only the color and material, or one FAQ text attribute. Leave it empty to fill every attribute that has AI suggestions switched on. ## Choice attributes and new options A single or multiple choice attribute can only take one of its options. When the AI finds a value that no option fits: | **Let AI add new options** | What happens | | - | - | | Off (default) | The value is not saved. The product shows which value was found. | | On | The value is added as a new option and saved. | Switch **Let AI add new options** on in the attribute's settings in [Managing Product Attributes](/en/other-features/managing-attributes). It works for attributes with their own option list, not for shared option sets. A choice attribute with no options and this switch off can never be filled by AI. ## Why a field stayed empty After you run **Enrich with AI** from a product's Attributes tab, a notice lists the fields that stayed empty, for example "3 fields stayed empty", with the reason for each: | Reason | What to do | | - | - | | "This field has no options yet. Add options, or let AI add them." | Add options, or switch on **Let AI add new options**. Use **Edit options**. | | "Found "X", which isn't one of this field's options." | Add X as an option, or let AI add options. | | "The product data and research don't mention it." | Run web research, or add the fact to the description. | | "The value couldn't be confirmed in the sources." | Check the sources in the Research tab. | | "The value found doesn't fit this field's type or rules." | Check the attribute's type and validation rules. | | "The value couldn't be checked this time. Try again." | Run the enrichment again. | When nothing was saved at all, you see "AI enrichment didn't change anything" with "No attributes found that the sources back up." ## Research can create attributes Web research often finds specs your data model has no attribute for. In the product's **Research** tab, **Specs without an attribute** lists them with a suggested name, type and the researched value. Tick the ones to keep and click **Create and fill N attributes**. See [Web Research](/en/ai/web-research#specs-without-an-attribute). ## 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 > **Choice attributes stay empty** > > Open the product's Attributes tab and read the reason. Most often the attribute has no options, or the value found is not one of them. Add the options, or switch on **Let AI add new options**. **Outcome:** choice attributes fill on the next run. > **Coverage is low after a run** > > 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. > **Values are formatted inconsistently** > > 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. > **A required marketplace attribute is missing** > > 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. > **You want to verify before publishing** > > Turn on review on [**Settings** > **AI review**](/en/settings/ai-review), or give one attribute its own rule in its **AI review for this attribute** section. AI values then wait in the Review inbox until you approve them. Track coverage in [Data Quality Analytics](/en/analytics/data-quality). **Outcome:** confidence that extracted specs are accurate before they go live. ## Related > **[Web Research](/en/ai/web-research)** > > Fetch specs from external sources when your own data is thin. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track attribute coverage and catch suspicious values. > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > Set up options and switch on Let AI add new options. > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize your attribute prompts. # Auto-Fill Missing Data Source: https://docs.wisepim.com/en/ai/auto-fill Fill empty fields runs an ordered workflow that writes only what is missing: titles, descriptions, SEO, attributes, FAQs, research and translations. ![Fill empty fields step of the Enrich with AI modal, with Fill empty fields chosen under Existing content and the enrichment actions below](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-auto-fill-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=cccf303c696f1a287109a038c7a05e22) Auto-Fill checks every product you select, finds the fields that are empty, and fills only those, in one background workflow. In the app it is the **Fill empty fields** card. A product that already has a description but no title only gets a title. **What it enables:** onboard a batch of new products and have all content written in one run. Run it after any import to turn skeleton records into complete listings without touching what is already there. **Where to find it:** select products, click **Enrich with AI**, and choose **Fill empty fields** in the **Data Foundation** shelf. Inside the workflow, **Existing content** is set to **Fill empty fields**. > [!NOTE] > > Auto-Fill costs **1 credit per product for each action that writes something**, **5 per product** for web research, and the translation rate per language. Fields that are already filled are skipped and cost nothing. The footer shows **Up to N credits** before you start. ## Auto-Fill or Bulk Enrich? Both are the same ordered workflow. They treat existing content in opposite ways. | | **Fill empty fields** (Auto-Fill) | **Replace selected content** (Bulk Enrich) | | - | - | - | | What it writes | Only fields that are empty | Every content field you tick | | Enriched name, description, short description | Kept when filled | Replaced, even when a person edited them | | Search Intent and Internal Linking | Not available | Available | | Use it when | New or half-filled products need completing | You want a fresh rewrite with better prompts | Switch between them with **Existing content** at the top of the screen. See [Bulk Enrich](/en/ai/bulk-enrich) for the replace mode. ## How to run Auto-Fill **1. Select products** Select individual rows, or filter and select all matching results. **2. Choose Fill empty fields** Click **Enrich with AI** in the toolbar and pick **Fill empty fields**. **3. Tick the actions** Under **Enrichment actions**, tick what to fill. Titles, Descriptions, Short Descriptions and SEO Title and Meta Description start ticked. Content cards show **N missing**: how many selected products have that field empty. **4. Check the prompts** Each ticked content card shows a **Prompt** picker, set to **Project default (name)**. Change it for this run if you want. **5. Start workflow** Check the cost in the footer and click **Start workflow**. Track it in the [Process Tracker](/en/other-features/process-tracker). > [!NOTE] > > For all matching products in a large catalog, the gap counts are worked out in the background: "Counting gaps across the whole catalogue in the background. The numbers appear in a few minutes." You can still pick what to fill in the meantime. ## What Auto-Fill can fill The actions are the same as in [Bulk Enrich](/en/ai/bulk-enrich#the-actions), and they run in the same fixed order: research, categorization, attributes, titles, description, short description, SEO, image alt text, FAQs, translation, quality review. Search Intent and Internal Linking rewrite descriptions, so their cards say "Rewrites descriptions. Available in Replace selected content." After each stage, Auto-Fill checks the gaps again. If web research already filled the description, the description stage skips that product. The five content fields take their prompt from your [Enrich Prompts](/en/settings/enrich-defaults): | Content field | What it fills | Default prompt | | - | - | - | | **Descriptions** | Full product description | Description | | **Short Descriptions** | Short summary | Short description, or the Description default when none is set | | **Titles** | Product title | Titles | | **SEO Title and Meta** | Meta title and meta description | SEO title & meta | | **Attributes** | Attribute values from your product data and research | Attributes | Other actions fill gaps in their own way: * **FAQs** only writes for products that have no FAQs of their own yet. * **Image Alt Text** only describes images without alt text. * **Translation** adds missing translations and keeps existing ones. * **AI Categorization** only places products without a category. ## What Auto-Fill keeps * **Filled fields stay as they are**, including the enriched name, description and short description, whoever wrote them. * **Empty fields are filled**, also when a person saved the field empty. A lock protects content, not a blank. * **Kept values count as skipped**, not failed. Their credit is refunded, and the workflow carries on to the next stage. ## Overwrite low-quality fields By default Auto-Fill only fills empty fields. Turn on **Overwrite low-quality fields** to also regenerate content fields whose quality score is below a threshold. * **Off (default):** "Only fill empty fields". * **On:** "Regenerate when quality score is below N%". Drag the slider in 5% steps. This option replaces only the selected content fields below the threshold. Research, assigned categories, existing translations and image descriptions are kept. > [!TIP] > > Run your first pass with the option off to fill obvious gaps. Once you trust the output, turn it on at a low threshold (30 to 40%) to upgrade weaker content gradually. ## When a field has no prompt A content field with no project default and no saved prompt cannot run. The card says "No saved prompt for this field yet. Create one in Prompt Lab." If you tick fields without a usable prompt, a warning lists them: "Skipping N gap types, no default prompt". Set a default in [Enrich Prompts](/en/settings/enrich-defaults) or pick a prompt on the card to include them. ## Following the run Auto-Fill appears in the [Process Tracker](/en/other-features/process-tracker) as one parent task with a child task per stage. If a stage fails, the parent names the stage, its counts and the cause, earlier results are kept, and later stages wait. * **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, at no extra cost. > [!NOTE] > > Runs started before 28 July 2026 cannot be resumed. Start a fresh run from the products page instead. ## Act on what you find > **A content card has no prompt** > > Go to [Enrich Prompts](/en/settings/enrich-defaults) to set a default, or create a prompt in the [Prompt Lab](/en/essentials/prompt-lab). **Outcome:** every content field you tick gets filled. > **You just imported a batch of new products** > > Select the new products, add **Web research** to the run, and start Auto-Fill. Research fills the facts first, then the copy is written from them. **Outcome:** new products are ready to review and publish without manual writing. > **You want to upgrade older content, not just fill gaps** > > Turn on **Overwrite low-quality fields** and set a low threshold. Review a sample before you run it on the whole catalog. **Outcome:** weak content is replaced, good content stays. > **Many products are skipped** > > Skipped means the field was already filled, so nothing was charged. Check the **N missing** count on each card before the next run to see where the real gaps are. **Outcome:** credits go only to products with gaps. > **Some products come out much better than others** > > Products with thin source data give weaker copy. Add **Web research** to the run so the AI has facts to work from. **Outcome:** consistent quality across the catalog. ## Related > **[Enrich Prompts](/en/settings/enrich-defaults)** > > Set the default prompts Auto-Fill uses for each content field. > **[Bulk Enrich](/en/ai/bulk-enrich)** > > The same workflow, but it replaces the content you pick. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[Process Tracker](/en/other-features/process-tracker)** > > Monitor Auto-Fill progress and review results when the run completes. # Bulk Enrich Source: https://docs.wisepim.com/en/ai/bulk-enrich Enrich product content runs an ordered workflow on your selection, from research to quality review, and replaces the content fields you pick. ![Enrich product content step of the Enrich with AI modal, with Replace selected content chosen under Existing content and the enrichment actions below](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-bulk-enrich-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=52b3f03bf8bf6e19b2b560761e0376ad) Bulk Enrich runs several enrichment actions on every product you select, in a fixed order, and replaces the content fields you tick with fresh copy. In the app it is the **Enrich product content** card. Use it when you improved a prompt, changed your tone of voice, or inherited copy that is not worth keeping. **What it enables:** research, write, translate and review an entire product range in one run, instead of starting each action by hand. **Where to find it:** select products, click **Enrich with AI**, and choose **Enrich product content** in the **Data Foundation** shelf. Inside the workflow, **Existing content** is set to **Replace selected content**. > [!NOTE] > > Bulk Enrich **replaces** the content fields you tick. If you only want to fill what is missing, switch **Existing content** to **Fill empty fields** or see [Auto-Fill Missing Data](/en/ai/auto-fill). ## Run a Bulk Enrich **1. Select products** 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. **2. Choose Enrich product content** Click **Enrich with AI** and pick **Enrich product content**. Check that **Existing content** shows **Replace selected content**. **3. Tick the actions** Under **Enrichment actions**, tick what the run should do. Titles, Descriptions, Short Descriptions and SEO Title and Meta Description start ticked. Attributes is opt-in. **4. Check the prompt on each card** Each ticked content card shows a **Prompt** picker, set to **Project default (name)**. Pick another prompt for this run if you want. **5. Start** Check **Up to N credits** in the footer, then click **Start workflow**. You get "Enrichment workflow queued" with **View workflow**. ## The actions | Group | Actions | | - | - | | **Data Foundation** | AI Categorization, Web research, Attributes | | **Product content** | Titles, Descriptions, Short Descriptions, FAQs | | **SEO & discovery** | Search Intent, SEO Title and Meta Description, Internal Linking, Image Alt Text | | **Languages & quality** | Translation, Review product quality | Whatever order you tick them in, they run as: web research, categorization, attributes, titles, description, search intent, short description, SEO, internal links, image alt text, FAQs, translation, quality review. Each stage finishes before the next one starts, so the description is written from the new title and the translation covers the new copy. * **Prompts.** Titles, Descriptions, Short Descriptions, SEO Title and Meta Description and Attributes each run with the prompt on their card. A field without any saved prompt says "No saved prompt for this field yet. Create one in Prompt Lab." Set defaults in [Enrich Prompts](/en/settings/enrich-defaults). * **Attributes** fills attributes such as color, material and size from your product data and research. * **Search Intent** and **Internal Linking** rewrite the description, and their cards say so. * **Image Alt Text** keeps existing alt text unless you turn on **Replace existing image descriptions**. * **Translation** needs **Target languages** and **Fields to translate**. Existing translated fields are always kept. * **Review product quality** saves recommendations for you to review. It never changes your products. * **AI Categorization** only places products that have no category yet. ## What gets replaced | Content | In Bulk Enrich | | - | - | | Enriched name, Enriched Description, Enriched Short Description | Replaced, even when a person typed or verified them | | SEO fields and attributes a person typed or verified | Kept | | Translations | Kept. Only missing translations are added | | Research data and assigned categories | Kept. Research fills empty values | | Empty fields | Filled, also when a person saved them empty on purpose | Starting the run is your choice of new copy, so the three enriched copy fields are always rewritten. Other locks protect content, not blanks: a field a person cleared can still be filled by AI. When a value is kept, because it was protected or because the new copy came out identical, that product counts as **skipped** for the stage, not failed. The credit for copy that was not saved is refunded, and the workflow carries on. ## Credits | Action | Credits | | - | - | | Web research | 5 per product | | Each other action you tick | 1 per product | | Translation | 1 per product per language, 5 with **Use Pro translation (5 credits per language and product)** | The footer shows the ceiling for your selection, for example **Up to 1,240 credits · 5,000 available**, calculated for the exact run before you start. Filled fields, fresh research and skipped products can bring the final charge below it. A run of 500 credits or more asks you to confirm in **Review workflow estimate** first. See [Enriching Products with AI](/en/essentials/enriching-products#check-the-cost-before-you-start) for every check. ## While it runs ![WISEPIM process tracker task detail with live enrichment progress and item-level results](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/process/process-tracker-task-detail-light-branded.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=bf2f49dc20b8815839b6b86d7476e63a) The run appears in the [Process Tracker](/en/other-features/process-tracker) as one parent task with a child task per stage. Its progress counts stages. * **Stop and resume.** Stop the run at any point. **Resume** picks up where it left off and does not charge again for the remainder. * **A failed stage.** If a stage fails, the parent task names it with its counts and the cause, for example "Not enough credits to finish this stage." or "Category suggestions need review before enrichment can continue.", and ends with "Earlier results are kept." Later stages wait, so nothing is built on top of a broken step. * **Time limit.** Each stage has 24 hours to finish. > [!WARNING] > > Check the product count in the modal header before you start, especially with all matching products selected. Bulk Enrich rewrites the enriched name, description and short description of every product in the selection. ## Bulk Enrich elsewhere * **After scraped imports**: the [Import by Scraping Settings](/en/settings/import-by-scraping) can chain Bulk Enrich onto every import, after [web research](/en/ai/web-research) has merged verified facts. * **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. ## Act on what you find > **Copy a colleague wrote by hand was replaced** > > Bulk Enrich always replaces the enriched name, description and short description. Run [Auto-Fill Missing Data](/en/ai/auto-fill) instead when filled copy must stay, or exclude those products from the selection. **Outcome:** hand-written copy survives the next run. > **Many products show as skipped** > > Skipped means the value was kept: an SEO field or attribute a person wrote, or new copy identical to the old. Those products were not charged for that stage. **Outcome:** you know the run did its job and the skips cost nothing. > **The workflow stopped at one stage** > > Open the parent task and read the stage message. Add credits, or review the pending category suggestions, then choose **Resume**. **Outcome:** the remaining stages run without redoing the finished ones. > **A content card has no prompt** > > Create a prompt for that field in the [Prompt Lab](/en/essentials/prompt-lab), or set a default in [Enrich Prompts](/en/settings/enrich-defaults). **Outcome:** every field you tick can run. ## Related > **[Auto-Fill Missing Data](/en/ai/auto-fill)** > > The same workflow, but it only fills gaps. > **[Enrich Prompts](/en/settings/enrich-defaults)** > > Set the default prompt each field runs with. > **[Prompt Library](/en/essentials/prompt-library)** > > Write and manage the prompts Bulk Enrich can use. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action side by side. # AI Categorization Source: https://docs.wisepim.com/en/ai/categorization Place products in your existing category tree with AI. Save sure answers right away or review every one, following your category rules and AI review setting. ![AI Categorization step of the Enrich with AI modal with the Categories per product switch set to Auto and the Start Categorization button](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-categorization-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=527c73d19dd815cdfad475a440fecea2) AI Categorization reads each product's content and places it in **your existing category tree**. It does not invent categories. You decide whether its answers are saved right away or wait for you in the Review inbox. **What it enables:** categorize a freshly imported catalog in minutes instead of days, keep categories consistent as you add products, and clear the uncategorized bucket that quietly hurts navigation and merchandising. > [!NOTE] > > AI Categorization is **promptless**: it needs no prompt from your library. It costs **1 credit per product**. Products no model could answer are refunded. ## 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**, with similar products scattered across different branches. * **As an [automation](/en/automations/overview) step**, so new products are categorized the moment they're created. ## How to run it **1. Select products** Check products individually, or filter (for example, products without a category) and select all matching results. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose AI Categorization** Pick **AI Categorization** in the **Organize product data** shelf. **4. Set the options** Choose how many categories each product can get and what happens with the answers (see below). **5. Start Categorization** Click **Start Categorization** 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 ### Categories per product * **Auto (default):** "AI will determine the optimal number". Some products belong in one category, some in several. * **Max categories:** switch **Auto** off and set a cap of **1 to 10** categories per product. Use this when your merchandising rules limit how many categories a product may appear in. ### What happens with the answers | Option | What it does | | - | - | | **Follow your AI review setting** (default) | Uses the rule for categories on [**Settings** > **AI review**](/en/settings/ai-review). The modal shows which rule applies, for example "Categories: Auto (project setting)". | | **Ask me for every answer in this run** | "Nothing is saved yet. Every answer waits in the Review inbox." | | **Save sure answers in this run** | Saves answers at or above **Save answers at or above (%)**, 85 by default. "Answers below N% wait in the Review inbox." | Answers the AI is less sure about are not lost or marked as failed. They wait in the Review inbox, where you accept or reject them one by one or in bulk. > [!NOTE] > > If your AI review setting asks you to approve category changes, **Save sure answers in this run** is not available: "Your AI review setting asks you to approve category changes, so this run can't save them right away." Change the rule with **Change in AI review**. ## What the AI uses The AI reads the product's name, description and attributes. When the product has web research with matching identifiers, it reads that too. Your category rules steer every answer: | Rule on a category | Effect on AI Categorization | | - | - | | **Never put products here** or **Only put products here**, with a condition on an attribute | Products that break the rule are kept out, or held for review | | **Ask me to check when we're less than N% sure** | Answers below that confidence wait for you | | **Always ask me before putting products here** | Every answer for that category waits for you | Rules also apply to subcategories. Set them up and try them with **Test on 5 products** in [Managing Product Categories](/en/other-features/managing-categories). In an [Enrich product content](/en/ai/bulk-enrich) or [Fill empty fields](/en/ai/auto-fill) workflow, categorization only places products that have no category yet. If its answers need review, the later stages wait until you have reviewed them. ## What good looks like * **The uncategorized count drops sharply** after the first run. * **Assignments match your merchandising logic**, so products appear where shoppers would look for them. * **A small, reviewable remainder** waits in the Review inbox: the genuinely ambiguous products. ## Act on what you find > **Many answers wait in the Review inbox** > > Your threshold or category rules may be strict for this catalog, or your category names are ambiguous. Review a sample: if most answers are right, lower **Save answers at or above (%)** for the next run, and clarify vague category names. **Outcome:** fewer answers to review without losing accuracy. > **A product landed in the wrong category** > > A misplacement usually traces back to thin product content. Run [web research](/en/ai/web-research) and enrich the [title](/en/ai/titles), [description](/en/ai/descriptions) and [attributes](/en/ai/attributes) first, then re-categorize. Add a **Never put products here** rule if one category keeps attracting the wrong products. **Outcome:** accurate placement driven by richer data. > **Products appear in too many categories** > > Switch **Auto** off and set **Max categories** to 2 or 3. **Outcome:** category counts that match your merchandising rules. > **A workflow stopped after categorization** > > The answers need review before enrichment can continue. Review them in the Review inbox, then resume the workflow in the Process Tracker. **Outcome:** the rest of the workflow runs with the right categories. > **You want categorization to happen automatically** > > Add AI Categorization as a step in an [automation](/en/automations/overview) triggered on product creation or import. **Outcome:** new products are categorized the moment they enter the catalog. ## Measure the impact Better categorization improves navigation and category-level merchandising. Review structure and category health in [Category Insights](/en/analytics/category-insights). ## Related > **[Managing Product Categories](/en/other-features/managing-categories)** > > Build your category tree and set category rules. > **[Category Insights](/en/analytics/category-insights)** > > Analyze category structure, health, and revenue. > **[AI Attribute Extraction](/en/ai/attributes)** > > Fill the specs that help the AI categorize accurately. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. # 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. ![Enriching product descriptions with AI in WISEPIM](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-description-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=1ab04805268d18c6cbf4361a6426956c) 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. > [!NOTE] > > Description enrichment costs **1 credit per product**. Output is written to the **Enriched Description** field. Your original description is kept, so you always have the source to compare against. > [!NOTE] > > Running **Descriptions** or **Enrich product content** replaces the Enriched Description, even when a person edited or verified it. Starting the run is your choice of new copy. **Fill empty fields** keeps a filled Enriched Description and only writes where it is empty. ## 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 **1. Select products** Check products individually, or filter (for example, by "no description") and select all matching results. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Descriptions** Pick **Descriptions** as the enrichment type. **4. Select a prompt** 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. **5. Pick a target size** 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 | **6. Start Enrichment** 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. ## Specs stay in the copy A description must keep the facts you already have. Every specification stated in the source description and in the product's attributes, with its exact value and unit, has to appear in the enriched description. WISEPIM checks the numbers in the output. When several specs went missing (three or more, and at least 20% of them), it writes the description once more. Count prefixes such as "4x" are fine. Source descriptions that arrive as escaped HTML, for example from a supplier feed, are read as normal markup, so their lists and tables count as specs too. ## Spacing on export Enriched descriptions are saved as clean paragraphs and lists, without extra line breaks. How much space your webshop shows between them is set per project under **Settings** > **Export** in **Description spacing**: * **Use the shop theme’s paragraph spacing (recommended)**: your theme decides. * **Add a blank line between sections**: one blank line after each paragraph, list or quote, for themes that show paragraphs without space. It applies to future HTML exports. Existing copy and manual line breaks stay unchanged, and a per-shop setting wins over the project one. See [Export Settings](/en/settings/export). ## 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. > [!TIP] > > 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 > **Descriptions sound generic or samey** > > 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. > **The AI invented a spec that isn't true** > > 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. > **You want a different structure or length** > > 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. > **A spec from the source is missing in the new description** > > Check that the spec is stated in the source description or in an attribute with a value. Facts that only live in a supplier PDF or on the web are not there yet, so run [Web Research](/en/ai/web-research) first. **Outcome:** the description carries every spec you hold. > **Paragraphs run together in your webshop** > > Set **Description spacing** to **Add a blank line between sections** in [Export Settings](/en/settings/export) and export again. **Outcome:** readable spacing without editing a single description. > **Descriptions need to match what shoppers search for** > > 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 compare how those products sold before and after. It is descriptive evidence, not proof of cause, but if enriched descriptions keep coming out ahead, that is your signal to roll them out catalog-wide. ## Related > **[Knowledge Library](/en/other-features/knowledge-library)** > > Give the AI your brand voice, audience, and product context. > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize your description prompts. > **[Search Intent](/en/ai/search-intent)** > > Rewrite descriptions to match real search queries. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > Compare sales before and after better descriptions. > **[Export Settings](/en/settings/export)** > > Set the description spacing your webshop receives. # 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 enrichment in WISEPIM, AI vision writes alt text for product images](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-image-alt-text-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=93c51a8cda78f6991d41f365da56b9fc) 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. > [!NOTE] > > 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. Products without any images are skipped, not failed. Run it freely without worrying about losing existing work. > [!NOTE] > > The one exception is a [Bulk Enrich](/en/ai/bulk-enrich) workflow: there you can turn on **Replace existing image descriptions** to rewrite alt text that is already filled. It is off by default. In a workflow, products without images do not stop the later stages. ## 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 **1. Select products** 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. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Image Alt Text** Select **Image Alt Text** from the enrichment type grid. No prompt or configuration is needed. **4. Generate Alt Text** Click **Generate Alt Text**. 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 > **Run on all products after a bulk import** > > 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. > **Run when ADA or WCAG compliance is a priority** > > 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. > **Some alt text reads too generic** > > 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. > **Re-run when you add new 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. > **You want to edit alt text after it is generated** > > 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 > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[Media Library](/en/products/media-library)** > > Manage and organize your product images. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track overall catalog health, including image coverage. > **[AI Quality Review](/en/analytics/quality-review)** > > 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 enrichment in WISEPIM, AI adds contextual links to product descriptions](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-internal-linking-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=481080a89871e92104b2005ff71651b7) 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. > [!NOTE] > > 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 **1. Catalog discovery** The AI scans your product and category catalog for pages with live URLs. **2. Traffic weighting** 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. **3. Relevance matching** For each product, the AI matches candidate targets by category overlap, semantic similarity, and attribute overlap (same brand, similar materials, same product family). **4. Natural link insertion** 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 **1. Select products** Choose the products whose descriptions you want to link. Descriptions must exist, products without descriptions are skipped. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Internal Linking** Select **Internal Linking** from the enrichment type grid. **4. Optionally pick targets** 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. **5. Generate Links** Click **Generate Links**. 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 > **Links point to unrelated pages** > > 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. > **You want to push traffic to a specific new category** > > 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. > **Re-run after adding new categories** > > 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. > **Products without descriptions are skipped** > > Run a Descriptions enrichment on those products first, then run Internal Linking again. **Outcome:** full catalog coverage once descriptions are in place. > **Connecting it to an SEO strategy** > > 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 > **[Search Intent](/en/ai/search-intent)** > > Rewrite descriptions to match real search queries before linking them. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[SEO & Search](/en/analytics/seo)** > > Track impressions, clicks, and position to measure the link impact. > **[Web Research](/en/ai/web-research)** > > Enrich product content with web-sourced data before linking. # Product FAQs Source: https://docs.wisepim.com/en/ai/product-faqs Add buyer questions and answers to products, reuse category FAQs, generate them with AI in bulk, review suggestions and undo a whole run. ![FAQs tab of a product in WISEPIM with six questions, type and AI chips per question, a coverage strip and the From categories section](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-faqs-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=0dc33e6b45117e2d302c96551a4132b2) Product FAQs are the questions shoppers ask before they buy, answered on the product itself. Each product has its own ordered list of questions and answers. Categories can hold a list too, which WISEPIM adds after the product's own questions. On export, the FAQs are appended to the product description as a styled block, and on some channels also sent as structured data. **What this page enables:** you can write FAQs by hand, let WISEPIM AI write them from your product data for one product or hundreds at once, decide which AI suggestions go live without review, and roll back a whole run if you don't like the result. **Where to find it:** open a product and click the **FAQs** tab. For bulk generation, select products in **All Products** and click **Enrich with AI**. Export and layout options live under [FAQ Settings](/en/settings/faqs). ## What a product FAQ is Every FAQ item is one question and one answer: | Part | Limit | | - | - | | Question | Plain text, up to 300 characters | | Answer | Up to 5,000 characters, with basic formatting: paragraphs, line breaks, bold, italic, underline, links and lists | | Items per product | 50 | | Items per category | 50 | Each item can carry a question type, such as **Specifications**, **Compatibility** or **Care and cleaning**. Types drive the coverage strip in the editor and the angles AI writes about. WISEPIM also remembers where each item came from: typed by you, written by AI (shown with an **AI** chip), imported from a product page, or added by a category. ## The FAQs tab in the product editor The **FAQs** tab sits between **Categories** and **Relations**. When AI suggestions are waiting, the tab shows a badge such as "3 suggestions to review". ### Your questions The **Your questions** list shows the product's own items with a count. Each row has a drag handle, its type chip, an **AI** chip when AI wrote it, and buttons to **Move question up**, **Move question down** and **Remove question**. Click **Edit question** to open a row and change the **Question** and **Answer** fields. Click **Add a question** to add a row. At 50 items you see "You've reached the limit of 50 questions." WISEPIM gives light hints while you write: * "Same question as question 2" when two questions repeat each other. * "No answer yet, so shoppers would see the question on its own." * "Short answers can feel thin. Add one detail shoppers can act on." * "Questions read best when they end with a question mark." > [!NOTE] > > FAQ edits are part of the product form. Nothing is saved until you save the product. ### Coverage Below the header, the coverage strip shows which question types the product already answers (**Covers:**) and which recommended types are still missing (**Not yet:**). Click a missing type to **Generate questions about** that type, or click **Generate these** to write all missing types in one go. ### Generate FAQs for one product **1. Open the generator** In the FAQs tab, click **Enrich with AI**. The **Enrich FAQs** dialog opens. **2. Pick the options** Choose a prompt, the number of questions, the question types and whether to use web research. These are the same options as in a bulk run, described below. **3. Generate** Click **Generate FAQs**. The toast "Generating FAQs" tells you where the questions will land, based on your apply mode. Click **Tune the FAQ prompt** next to the button to open the same product in Prompt Lab with the FAQ mode selected. If the product data can't support any new question, you see "No new questions: the product data didn't support these angles", with buttons to **Open Research** and **Open Attributes**. WISEPIM only writes answers your data supports, so add facts and generate again. If the AI service fails, you see "We couldn't generate FAQs" and your credit is refunded. ### Review suggestions Generated questions that are not added automatically appear in **Suggested questions** at the top of the tab, each with an **AI suggestion** chip and a "Based on:" line naming the sources it used. * **Accept** adds the suggestion to your list. **Edit** lets you change it first, then **Accept edited**. * **Dismiss** drops it. * **Accept all** adds every suggestion that isn't already in your list. **Dismiss all** clears the tray. Suggestions that a safe run held back carry a reason chip: **Possible duplicate**, **No sources cited**, **Replaces your list**, **Over your limit** or **Needs a look**. Types the AI skipped are listed as "Skipped:" with "not enough data". ### Questions from categories The **From categories** section controls category FAQs for this product: * **Category questions**: switch **Add questions from this product's categories** on or off. * **Stop adding category FAQs at** a number of own questions. Leave it empty to follow the project setting, shown as **Inherited**. A status line tells you what happens, for example "3 category questions are added after yours." The read-only **Category questions** list shows each inherited item with its category. Items that are not shown sit under **Not shown**, with a reason: "Same as your question 2", "You have enough" or "Category FAQs off". Only categories the product is directly in count. Subcategories don't pass their FAQs down, and the primary category goes first. ### Shopper view ![Shopper view of the FAQs tab showing the storefront FAQ block with a Frequently asked questions heading, accordion questions and a FAQ schema badge](https://mintcdn.com/swiftsyncai/jKFBWM6Z7ItLdK2p/images/marketing-screenshots/products/product-faqs-shopper-light-branded.webp?fit=max\&auto=format\&n=jKFBWM6Z7ItLdK2p\&q=85\&s=30ed493f4386847676a9e9efa078f09c) Switch **FAQ view** from **Edit** to **Shopper view** to see the block the way your storefront renders it, including category questions. The header shows the question count, the language and a **FAQ schema** badge when schema markup is on. * **Preview** shows the rendered block. **Storefront HTML** shows the code, with **Copy HTML**. * Toggle **Desktop width** and **Mobile width**, and switch between a light and dark storefront. Below the preview, "Where these FAQs go on export:" lists each connected channel and what it receives, such as a block, a metafield, product meta, an attribute, or "not sent". The **FAQ settings** link takes you to the export options. ### Translations Switch the editor language to translate. The tab shows "Translation: German" (or the language you picked) with **Question (German)** and **Answer (German)** fields per item. You add, remove and reorder questions in the source language only. Click **Translate missing with AI** to fill the gaps. Until a question is translated, shoppers see the original. ### Read-only roles If your role can't edit FAQs, the tab shows "Your role can't edit FAQs, so they're read-only here." ## Generate FAQs in bulk **1. Select products** In **All Products**, select the products you want. FAQ generation needs an explicit selection: with "all matching products" you see "FAQ generation runs on selected products. Select products on this page instead of all matching products." **2. Choose the FAQs action** Click **Enrich with AI**. Under **Step 1 · Choose an action**, open **Product content** and pick **FAQs** ("Write buyer questions and answers from your product data"). **3. Configure the run** Under **Step 2 · Configure**, set the options below. **4. Start** Click **Generate FAQs**. You see "FAQ generation started" with a **View run** link to the task in the Process Tracker. ### Options | Option | What it does | Default | | - | - | - | | **Prompt** | **Built-in FAQ prompt**, or a saved FAQ prompt from Prompt Lab. A saved prompt fills in its own types, question count and research setting. | Built-in FAQ prompt | | **Questions per product** | How many questions to write, from 1 to 20. A run can return fewer: WISEPIM skips an angle rather than guess. | 6 | | **What should the FAQs cover?** | The question types to write about. See below. | Recommended for your industry | | **Use web research** | Grounds answers in the product's latest web research. Products without research use catalog data only. | On | | **Skip questions your category FAQs already answer** | Keeps product and category FAQs from repeating each other. | On | | **Existing FAQs** | **Add to existing FAQs** keeps what's there and skips repeats. **Replace existing FAQs** swaps each product's list, and translations of removed questions go too. | Add to existing FAQs | | **When suggestions are ready** | The apply mode for this run. See [Apply modes](#apply-modes). | Your project setting | In a combined Enrich workflow, FAQs run after research and before translation, so new questions are translated in the same run. ### Question types by industry The type picker groups types in three blocks: * **Recommended for** your industry, preselected. * **Universal**: **How to use**, **Specifications**, **Compatibility**, **Materials**, **Care and cleaning**, **What's in the box**, **Warranty**, **Safety**, **Comparison** and **Sustainability**. * **More for other industries**: types such as **Sizing and fit**, **Battery and power**, **Ingredients**, **Allergens**, **Assembly** and **Vehicle fit**. Use **Select all** to tick everything, or **Reset to recommended** to go back to the preselection. The industry comes from the product's category when that category (or the nearest parent with one) has its own industry, and from your project otherwise. The customer types in your business profile also count: selling to professional buyers adds questions about pack quantity, for example. ### How the Knowledge Library steers questions When your project has a [Knowledge Library](/en/other-features/knowledge-library), the generator reads it as background: your brand, audience, purchase criteria and what holds buyers back. That shapes which questions get asked and the words they use. It is never cited as a source, so no answer rests on it. Answers come from product data and web research only. ### Credits | Action | Cost | | - | - | | Generate FAQs, one product or bulk | 1 credit per product, charged when the run starts | | AI service fails or returns an unusable reply | Credit refunded | | No question could be grounded in the data | Not refunded | | Translate missing with AI | Same as a product translation per language | Large runs ask "Start this run?" with the credit total first. If your balance can't cover the whole run, you see "Not enough credits for the whole run" and can still **Run anyway**. ## Apply modes The apply mode decides what happens when generated questions are ready. Your project default lives in [FAQ Settings](/en/settings/faqs); you can pick another one per run under **When suggestions are ready**. | Mode | What happens | | - | - | | **Review every suggestion** | Every suggestion waits in the product's FAQ tab until you accept it. | | **Add the safe ones automatically** | Suggestions that pass your safety rules go live. The rest wait in the FAQ tab with the reason. | | **Add everything automatically** | Every suggestion is saved right away. | Runs on more than 20 products start on **Add the safe ones automatically**, so nobody has to review hundreds of products one by one. If your project already adds everything, the run keeps that. A suggestion counts as safe only when it passes every rule, checked in this order: 1. It adds to the list and never replaces it. Runs set to **Replace existing FAQs** always wait for review. 2. It isn't a duplicate of a question the product already shows, its own or from a category. 3. It cites its sources, when that rule is on. 4. It stays within the 50-item limit, and your own-question limit when you set one. ![Process Tracker task of a bulk FAQ run with the What this FAQ run did card: 41 of 48 products updated, 212 questions added, 23 held for review and an Undo this run button](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-faqs-bulk-run-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=4c2365ccda721853fd5fca8cb2bc1bb5) ### Read the run summary Open the run from **View run** or the Process Tracker. The **What this FAQ run did** card shows: * **Products updated**, for example "41 of 48". * **Questions added**. * **Held for review**, with "Held because:" chips such as **Possible duplicate**, **No sources cited**, **Replaces the list**, **Over the limit** and **Needs a look**. Click **Review held suggestions** to open the products that still have suggestions waiting. ### Undo a whole run Click **Undo this run**, then **Undo run** in the "Undo this FAQ run?" dialog. WISEPIM restores the FAQs each product had before the run. There is no time window. Products you edited since the run are left alone, and the card tells you how many: "2 were edited since the run, so we left them alone." ## Where FAQs come from | Source | How it gets there | | - | - | | You | Typed in the FAQs tab. | | AI generation | From the FAQs tab, a bulk Enrich run, Prompt Lab, or the FAQ step in a workflow. | | Categories | Added after the product's own items for products directly in a category that shares its FAQs. | | Page imports | Importing a product page, for example with the browser extension, picks up the page's FAQ section as product FAQs. | Page imports read FAQPage structured data, FAQ microdata, or a visible FAQ section in English, Dutch, German, French or Spanish. They take up to 50 items, skip questions the product already has on re-import, and remove the FAQ block from the imported description. ### Category FAQs Open a category to edit its **FAQs** group. Its switch reads **Added to products in this category** or **Not added to products**. New categories start from your project setting "New categories add their FAQs to products". A product shows its own questions first, then category questions, primary category first. Category items are dropped when: * the product's **Category questions** switch is off, * the product has reached the own-question limit, or * the question repeats one already shown. ## Filter and sort by FAQs | Where | Name | What it shows | | - | - | - | | Column | **FAQs** | The product's own question count, **From categories** when only a category adds questions, or **None**. | | Filter | **FAQ Count** | Number of the product's own questions. Category questions are not counted. | | Filter | **Has FAQs** | Own questions, or questions from a category the product is directly in. | | Preset | **No FAQs** | Products where shoppers see no questions, not even from a category. | ## Act on what you find > **The AI wrote fewer questions than you asked for** > > WISEPIM skips a type when your data doesn't support it. Check the "Skipped:" line in the suggestions tray, add the missing facts in **Attributes**, or run web research, then generate again. > **Many suggestions were held as Possible duplicate** > > The product or its categories already answer those questions. Turn on **Skip questions your category FAQs already answer** for the next run, or remove overlapping category questions. > **Many suggestions were held as No sources cited** > > The AI had little to ground its answers in. Run web research on those products first, or switch off **Cites its sources** in [FAQ Settings](/en/settings/faqs) if you are happy to review them later. > **A bulk run produced questions you don't want** > > Open the run in the Process Tracker and click **Undo this run**. Products you edited since are kept as they are. > **The same care or warranty question repeats on every product** > > Move it to the category once and delete the copies from the products. Every product directly in that category then gets it after its own questions. > **Questions are generic for your trade** > > Fill in your [Knowledge Library](/en/other-features/knowledge-library) with your audience and the doubts buyers have, or save your own FAQ prompt in Prompt Lab and pick it under **Prompt**. ## Related > **[FAQ Settings](/en/settings/faqs)** > > Set category FAQ rules, export format per channel, storefront layout and the default apply mode. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > See every action in the Enrich modal and how a combined run is ordered. > **[Bulk Enrich](/en/ai/bulk-enrich)** > > Run content enrichment across many products at once. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Give the FAQ generator your audience, brand and buyer doubts. # 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 enrichment in WISEPIM, rewrites descriptions to match real GSC search queries](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-search-intent-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=77fe23444063af5fe71518b4e8a1b3a9) 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. > [!NOTE] > > 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 **1. Pull queries from Search Console** 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. **2. Classify intent** 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") **3. Rewrite the description** 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 **1. Confirm your GSC integration is active** Check [Integrations](/en/integrations/supported-platforms) to make sure Google Search Console is connected and has synced recent data. **2. Select products** Choose the products you want to optimize. Focus on high-impression, low-CTR products for the biggest return. **3. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **4. Choose Search Intent** Select **Search Intent** from the enrichment type grid. No prompt configuration is needed. **5. Enrich with Intent** Click **Enrich with Intent**. 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 > **A product has no GSC data** > > 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. > **CTR improved but rankings dropped after the rewrite** > > 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. > **You want to optimize for a specific query, not the dominant one** > > 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. > **Pair with Internal Linking for maximum SEO value** > > 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 > **[SEO & Search](/en/analytics/seo)** > > Find high-impression, low-CTR products, your best candidates for Search Intent. > **[Internal Linking](/en/ai/internal-linking)** > > Connect intent-matched pages to each other to spread link equity. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[AI Chat](/en/ai/ai-chat)** > > 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. ![Generating SEO titles and meta descriptions with AI in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-seo-meta-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=f23986071cce93aa1e90fa30344dbf17) 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. > [!NOTE] > > 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 **1. Select products** Check products individually, or filter and select all matching results. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose SEO Title and Meta Description** Pick **SEO Title and Meta Description** as the enrichment type. **4. Select a prompt** 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. **5. Start Enrichment** 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. > [!TIP] > > 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 > **Snippets are truncated in Google** > > 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. > **Meta titles are too similar across variants** > > 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. > **You're not sure which keyword to target** > > [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 > **[SEO & Search](/en/analytics/seo)** > > Track impressions, clicks, and CTR for your products. > **[Search Intent](/en/ai/search-intent)** > > Rewrite content using real search queries. > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize your SEO prompts. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > 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. ![Enriching product short descriptions with AI in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-short-description-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=b97b7642374d1cf0dc899d14cbd1635d) 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. > [!NOTE] > > 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 **1. Select products** Check products individually, or filter and select all matching results. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Short Descriptions** Pick **Short Descriptions** as the enrichment type. **4. Select a prompt** 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. **5. Pick a target size** 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. **6. Start Enrichment** 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. > [!TIP] > > 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 > **Short descriptions overflow the card** > > 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. > **They just repeat the title** > > 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. > **Tone doesn't match the rest of the catalog** > > 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 > **[AI Product Descriptions](/en/ai/descriptions)** > > Write the full product descriptions that pair with these summaries. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize your short-description prompts. > **[Enrich Prompts](/en/settings/enrich-defaults)** > > 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. ![Enriching product titles with AI in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-titles-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=35a380b6a8d37b9d50c6d37e9facdb46) 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. > [!NOTE] > > 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. > [!NOTE] > > Running **Titles** or **Enrich product content** replaces the Reviewed Name, even when a person edited or verified it. **Fill empty fields** only writes a title where the Reviewed Name is empty. ## 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 **1. Select products** 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. **2. Open the Enrich modal** Click **Enrich with AI** in the toolbar. **3. Choose Titles** Pick **Titles** as the enrichment type. **4. Select a prompt** 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. **5. Start Enrichment** 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. ## How WISEPIM keeps titles on the right product Before a title is saved, WISEPIM checks that it names the same product: no model number or code that belongs to another item. Model codes in your SKU or MPN count as the product's identity, so variants whose SKU only adds a suffix, such as a size or color code, still get their title. For Amazon, keyword-dense title prompts stay within 75 characters, the limit Amazon applies to most categories. ## 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. > [!TIP] > > 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 > **Titles come out too long for your feed** > > 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. > **Brand appears inconsistently** > > 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. > **Some titles are generic or vague** > > 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. > **You want to test a new title style safely** > > 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 compare sales before and after, and [Search & Discovery](/en/analytics/search-discovery) to see whether more shoppers are finding and clicking the products. ## Related > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Every enrichment action and how to run it. > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize your title prompts. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Test a title prompt on real products before running it in bulk. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > Compare sales before and after 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 step of the Enrich with AI modal with the product identifier choice, the Also import product images switch and the Start Web Research button](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-web-research-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=728b6d74396aa0456f4efb1ef3615b25) 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. | What | Credits | | - | - | | Research run | 5 per product | | Product researched inside your freshness window (30 days by default) | Skipped, no charge | | Variants selected together with their parent | 5 for the parent only; research runs once | | Images found during research | Included, no extra credits | > [!NOTE] > > Web research needs the **Growth** plan or higher. Results appear in the **Research** tab of a product's edit page. The tab shows up once research has run for that product. ## How Web Research Works WISEPIM's Web Research follows a four-step process to ensure accurate, high-quality product data: **1. Scans multiple trusted sources** The AI searches across trusted online databases, manufacturer sites, and product directories using the best available identifier for each product. **2. Cross-references for accuracy** Data found across multiple sources is compared and validated to reduce errors and eliminate conflicting information. **3. AI structures and enriches data** The verified information is organized and formatted to match your product data model, filling in missing attributes, specifications, and pricing signals. **4. Review and approve in one click** 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. **1. Navigate to the Products page** Go to your main **Products** overview. **2. Select your products** Check the boxes next to the products you want to research. Alternatively, use filters to narrow down your catalog and select all matching products. **3. Open the Enrich modal** Click the **Enrich with AI** button in the toolbar. **4. Choose Web Research** 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. > **EAN / Barcode** > > European Article Number (EAN) or Global Trade Item Number (GTIN). Globally unique, delivers the most accurate results. **Recommended** for most use cases. > **UPC** > > Universal Product Code (12 digits). The standard barcode format used primarily in the United States. > **Model Number** > > The manufacturer's model identifier. Useful for electronics, appliances, and industrial products. > **SKU** > > Your internal product code. Works best when your SKU matches the manufacturer's or is widely recognized. > **Brand + Name** > > A combination of the brand name and product name. Good fallback when barcodes are not available. > **Brand + MPN** > > Brand name combined with the Manufacturer Part Number. Effective for technical and industrial products. > [!TIP] > > 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**. The research runs in the background and its results land in the product's **Research** tab. ### Research again A product researched inside your freshness window is skipped, so you never pay twice for the same answer. When you start research on such a product, you see "This product was researched recently, so nothing was started. Research it again to spend the credits on a fresh run." Click **Research again** to force a fresh run for 5 credits. The same button sits in the product's **Research** tab. > [!NOTE] > > 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 photos. In the enrich modal, **Also import product images** is on by default. With it on, new images are added to the [Media Library](/en/products/media-library) behind the existing ones, and the first one becomes the main image only when the product has none. An existing image is never replaced. Switch it off and only text data is researched. In a workflow ([Enrich product content](/en/ai/bulk-enrich) or [Fill empty fields](/en/ai/auto-fill)), the switch is **Include images from research** and starts off. Images are filtered for relevance. WISEPIM only keeps an image that comes from a page the research actually cited, read from up to five of those pages. Your supplier sites are tried first. For a product that only has a barcode, a backup search uses the official product name the research found. A missing image is better than a wrong main image, so anything that does not pass is dropped. How many images, which kind and from where is set in the **Images** section of the [settings](#images). Image import costs no extra credits; it rides on the credits of the research run itself. ### Buyer FAQ evidence Research also gathers the facts your [FAQs](/en/ai/product-faqs) need, such as warranty, safety, compatibility, size and what is in the box. The FAQ types come from your saved FAQ prompts, or else from what is recommended for your industry. When a source does not state something, research reports it as not stated instead of guessing, so FAQ answers stay grounded. ## 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. > [!WARNING] > > 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. | > [!TIP] > > 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 **Supplier sources you choose** puts your own suppliers first. Turn on **Prefer my supplier sources** and add up to 10 hosts under **Supplier website host**, in priority order. Specifications, attributes and description text your supplier states are then used without other sites having to repeat them, and their product images are tried first. When suppliers disagree, the first host wins. Only passages that match the product's identifier get this preference. Missing facts stay unknown and keep the normal check across sources, and conflicting facts from suppliers with the same priority stay unknown. Then 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**. These restrictions also apply to your supplier hosts. ### Images What product photos research adds when images are switched on: | Setting | Default | What it does | | - | - | - | | **Images per run** | 3 (1 to 10) | New images one research run may add | | **Enough images at** | 8 (1 to 30) | A product with this many images gets no more | | **Minimum size (px)** | 300 (100 to 3,000) | Shortest edge. Smaller images are skipped | | **Kind of photo** | **Prefer packshots (plain background)** | Or **Only packshots (plain background)**, **Prefer lifestyle photos**, **No preference** | | **Avoid watermarked images** | On | Skips stock-photo sites and files marked as watermarked | | **Avoid logos and banners** | On | Skips logo, icon and badge files and banner-shaped images | | **Prefer the manufacturer's images** | On | Tries images from the brand's own website first | | **Give variants their own photo** | On | Variants without an image get the photo a cited shop lists for their barcode or SKU, or the photo whose file name names their colour. Never replaces an existing image | | **Image sources** | **Any website** | Or **Only these websites** / **Never these websites**, up to 50 domains, separate from the research sources | ### Language of the results Researched text, such as the name, short description, description and text attributes, is written in your project's language, whatever language the sources use. Identifiers, units and numbers are kept as found. Copy that comes back in another language is dropped rather than saved. ### 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. > [!WARNING] > > 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. > [!WARNING] > > 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 **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. ![Web Research results showing gathered product specifications and attributes](https://mintcdn.com/swiftsyncai/vWHhP-pfj4gCEo2m/images/screenshots/ai/web-research/web-research-results-1-bg.webp?fit=max\&auto=format\&n=vWHhP-pfj4gCEo2m\&q=85\&s=504c89ffd6af54004f24b9cb1132a26e) ![Web Research results showing enriched product descriptions and data comparison](https://mintcdn.com/swiftsyncai/vWHhP-pfj4gCEo2m/images/screenshots/ai/web-research/web-research-results-2-bg.webp?fit=max\&auto=format\&n=vWHhP-pfj4gCEo2m\&q=85\&s=59841a47668adc45f300e0df82d1234c) 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 ![Web Research results with source comparison and approval options](https://mintcdn.com/swiftsyncai/vWHhP-pfj4gCEo2m/images/screenshots/ai/web-research/web-research-results-3-bg.webp?fit=max\&auto=format\&n=vWHhP-pfj4gCEo2m\&q=85\&s=e6f67299f321ff2d94c2107e69a084d1) ![Web Research results showing additional gathered data and review workflow](https://mintcdn.com/swiftsyncai/vWHhP-pfj4gCEo2m/images/screenshots/ai/web-research/web-research-results-4-bg.webp?fit=max\&auto=format\&n=vWHhP-pfj4gCEo2m\&q=85\&s=b01a92cb2c0bbaef94cf01f1fbb2abfd) ### Trusted supplier source When research used your supplier hosts, a **Trusted supplier source** card lists the supplier pages it relied on, each with its **Priority N**. Facts from these pages were used without other sites having to confirm them, and where suppliers disagreed, the higher priority won. ### Specs without an attribute Research often finds specifications that no attribute in your data model holds yet. **Specs without an attribute** lists them so you can keep them: **1. Tick the specs to keep** Each row has a suggested **Attribute name**, **Type** (Text, Long text, Whole number, Decimal number, Yes or no, Single choice, Multiple choice), the **Value** ("Researched: …"), a **Unit** and, for choice types, **Options**. Adjust them where needed. **2. Choose where they go** Tick **Also add them to the data model**, followed by your family's name, to add the attributes to the product's family. A product without a family gets them on the project only: "This product has no data model, so the attributes are added to the project only." **3. Create them** Click **Create and fill N attributes**. The attributes are created and the researched values are saved as reviewed values. Viewers cannot create attributes here. ### 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 > [!NOTE] > > 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 > **New product onboarding** > > 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. > **Catalog gap analysis** > > You want to identify and fill missing attributes across your existing catalog without manually researching each product. > **Pricing intelligence** > > You want a market price reference to inform your pricing strategy, sourced from live web data at the time of research. > **Competitive context** > > 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 > **[Process Tracker](/en/other-features/process-tracker)** > > Watch a research run, read what it did, and resume it if it stopped early. > **[Pricing & Margins](/en/settings/pricing)** > > Export-time markup and margin rules. Separate from the price web research recommends. > **[Web Research Settings](/en/settings/web-research)** > > Supplier sources, images, fields to update and pricing strategy. > **[AI Attribute Extraction](/en/ai/attributes)** > > Turn the specs research found into structured attributes on your products. > **[Editing Products](/en/products/editing-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. ![WISEPIM WISECHAT analytics with top questions, top products and unanswered queries](https://mintcdn.com/swiftsyncai/iTqcybAHwFgjCQ3Q/images/marketing-screenshots/wise-chat/wise-chat-analytics-light-branded.webp?fit=max\&auto=format\&n=iTqcybAHwFgjCQ3Q\&q=85\&s=d0268df4e57a8100a09b459bef735501) 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. > [!NOTE] > > 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 **1. All questions** 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. **2. Knowledge gaps** 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. **3. Top products** 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 > **The same question keeps going unanswered** > > 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. > **A top-asked product has weak content** > > 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. > **A question is really about a product you sell** > > 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. > **Your answer rate is dropping** > > 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 > **[WISECHAT Widget](/en/settings/wise-chat)** > > Install the widget, set its tone, and manage what it can access. > **[Knowledge Library](/en/other-features/knowledge-library)** > > The answers and facts the assistant draws on. > **[AI Chat](/en/ai/ai-chat)** > > The in-app assistant for your own catalog work. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Turn shopper questions into richer product content. # Analytics Alerts Source: https://docs.wisepim.com/en/analytics/alerts Set rules that watch orders, order totals, returns, GA4 and Search Console every night, read the feed, decide on order alerts and choose where alerts go. 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. Order alerts get a decision trail, so your team can see who handled what. **Where to find it:** open **Analytics** and click **Needs attention** at the top of the sidebar. It has three section tabs: **Alerts** (this page), **Decisions** (order alerts and what your team did with them) and **Signals** (search, SEO and catalog findings, formerly Smart Insights). On the Alerts tab, the **Feed** is the default view; **Manage rules** switches to **Rules** and **Delivery** opens the delivery settings. **Back to alerts** returns to the feed. > [!NOTE] > > Rules belong to the project and everyone on it shares them. Each rule picks its own channels: **In-app**, **Email**, **Slack** or **Microsoft Teams**. Every alert is also listed in the Feed, and in-app alerts show up as an **Analytics Alert** [notification](/en/settings/notifications). ## Create a rule **1. Open the Rules tab** On the Alerts page, click **Manage rules** and then **New rule**. A project can hold up to 50 rules; the counter next to the button shows how many you have used. **2. Name it and pick what to watch** Give it a **Rule name** you will still recognise in a month, such as "Order 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)) * **GA4 daily sessions**, **GA4 daily sessions for one channel** (pick the **Channel**), **GA4 key event rate**, **GA4 add-to-cart rate** or **GA4 daily revenue** (need a connected [GA4 property](/en/integrations/google-analytics)) **3. Choose the condition** Under **Alert me when it**, pick **Falls below** or **Rises above** a threshold, or **Deviates from its own baseline**. Under **Compare**, choose what the threshold applies to: * **Value**: alert on the value itself. * **Vs previous period**: alert on the percent change against the window just before it. * **Vs last year**: alert on the percent change against the same window last year. The percent options raise a **Sharp change** alert with the **Change (%)** next to it. 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. **4. Set the window, severity and cooldown** * **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. **5. Choose who hears about it** Under **Send to**, tick the channels: **In-app**, **Email**, **Slack**, **Microsoft Teams**. Slack and Teams use the webhooks on the **Delivery** tab. Under **People to notify**, pick teammates for in-app and email; leave it empty to notify only the person who created the rule. **6. Create the rule** Leave **Start watching right away** on and click **Create rule**. The rule is checked for the first time in the next nightly run. > [!WARNING] > > 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**. * The type: **Threshold breach**, **Sharp change**, **Anomaly** or **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 `{sku}`" 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 it as a [saved view](/en/analytics/overview#saved-views) so teammates see exactly what you saw, and attach the rule to that saved view to keep monitoring it. ## Decisions ![The Decisions tab with order alert cards, their measured value and threshold, and the Test a rule on past data drawer open](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-decisions-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=42ac2a837916aeb4f87c82f1cf38bdcd) The **Decisions** tab holds the alerts your order rules raised and what your team did with them. It covers the whole project, and each alert keeps the period it was raised for, so the sentence on the card does not change when you change the date picker. Each card is one sentence, for example **Noordkust NL averaged 1,240 a day from 1 Oct to 7 Oct, -18% vs the period before (1,510). Your rule fires at -15%.** or **Noordkust NL took 310 on 12 Oct (9 orders), under your 500 line.** Under it: **Measured** and **Threshold**, **Where it happened**, a basis line such as **Based on 7 days · Noordkust NL**, and a status chip. | Chip | Meaning | | - | - | | **New** | Nobody has looked at it | | **Open** | Seen, not yet handled | | **Snoozed** | Hidden until the time you picked | | **Dismissed** | Closed without action | | **Handled** | Someone marked it done | | **Back to normal** | The condition no longer holds | The buttons on a card: **Inspect orders** opens [Orders](/en/analytics/orders) with the alert's store and period; **Mark handled**; **Snooze until tomorrow 09:00**, **Snooze for 3 days** or **Snooze until Monday 09:00**; **Dismiss**; **Reopen**; and **Undo** right after any of them. Handled cards move to **Handled today (N)** and then to **Handled and dismissed (N)**. > [!NOTE] > > Marking an alert handled doesn't change your catalog or the numbers behind it. It is a note for your team, nothing more. ### Test a rule on past data Before you trust a threshold, replay it. Click **Test a rule on past data** to open the drawer. Start from **Use a saved rule** or fill in the check yourself: **Start date**, **End date**, **Stores (store keys, separated by commas)**, **Currency (optional)**, **Threshold**, **Days**, **Minimum orders** ("Recommended: 10. Below that, a single quiet day looks like a drop."), **Measure**, **Condition** (**Below** or **Above**) and **Compare with** (**Daily average** or **Change from the previous period (%)**). * **Test now** checks the condition on the period you picked and answers **Rule met**, **Rule not met** or **Too few orders to judge**. * **Replay past periods** runs it over earlier windows and reports **Fired 4 times in 20 periods we could check, out of 26**. * **Save this check** stores the result. You then see either **Check saved. A new alert is waiting under Decisions.** or **Check saved. There's no new alert, and no one was notified.** > [!WARNING] > > How often a rule fired in the past is a guide for setting it, not a forecast. Rules that are off stay off, and no one is notified by a test. ## Delivery The **Delivery** tab, titled **Where alerts go**, is where you set up the channels rules can send to. Each channel shows a status chip: **Always on** for in-app, **Ready** for email, and **Connected** or **Not set up** for Slack and Teams. * **In-app**: a notification in WISEPIM for the people on the rule. Every alert is also listed in the Feed. * **Email**: sent to the people on each rule. Anyone can turn alert emails off in their own notification settings. **Send me a test email** checks it works for you. * **Slack**: posts each alert to one Slack channel through an incoming webhook. In Slack, add an incoming webhook to the channel and paste its URL, which starts with `https://hooks.slack.com/`. Click **Save webhook**. * **Microsoft Teams**: posts each alert to one Teams channel. In Teams, create a Workflows webhook for the channel and paste its URL, then **Save webhook**. After saving, the URL is shown masked. **Replace URL** swaps it, **Remove** disconnects the channel (rules keep their other channels), and **Send a test to Slack** or **Send a test to Microsoft Teams** posts a test message. Tick **Also post a weekly summary to `{channel}`** to get a once-a-week digest of revenue, sessions and open alerts in that channel; without the tick, the channel only gets alerts. > [!NOTE] > > WISEPIM rechecks the webhook and your plan's analytics entitlement right before each post. If a test answers **The webhook couldn't be reached** or **Your plan doesn't include alert delivery**, fix that first; the alert still lands in the Feed. ## Act on what you find > **A rule fires every single day** > > 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. For order rules, open **Test a rule on past data** and replay the threshold to see how often it would have fired. > **A rule never fires and you doubt it works** > > 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. > **An order alert keeps coming back after you handled it** > > **Handled** does not change the numbers. If the condition still holds the next night, the rule fires again. Fix the cause, or snooze the alert until the fix has had time to land, or raise the rule's **Cooldown**. > **A Search Console or GA4 rule raised an error instead of an alert** > > The rule watches a metric the project cannot read. Connect [Google Search Console](/en/integrations/google-search-console) or [Google Analytics 4](/en/integrations/google-analytics) first, or delete the rule. > **Slack or Teams stopped receiving alerts** > > Open **Delivery** and click **Send a test to `{channel}`**. A removed or rotated webhook answers **The webhook couldn't be reached**; paste the new URL with **Replace URL**. Alerts that could not be posted are still in the Feed. > **The feed is full of drift alerts after a failed export** > > 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 > **[Today](/en/analytics/today)** > > The five things that need you most, including open decisions. > **[Smart Insights](/en/analytics/smart-insights)** > > Findings WISEPIM raises on its own, now under the Signals tab. > **[Integration Health](/en/analytics/integration-health)** > > Sync status per channel and the Merchant Center drift scan. > **[Notification Settings](/en/settings/notifications)** > > Turn the Analytics Alert notification on or off. # Cross-sell & Bundles Source: https://docs.wisepim.com/en/analytics/cross-sell-bundles See which products land in the same basket, per store. Complete imported baskets, a minimum-basket threshold and lift, with no claims about extra sales. ![WISEPIM Cross-sell and Bundles report with observed pair-count bars, privacy thresholds and exact basket association evidence](https://mintcdn.com/swiftsyncai/Xm3w-iQn_JY7KCn5/images/marketing-screenshots/analytics/analytics-cross-sell-light-branded.webp?fit=max\&auto=format\&n=Xm3w-iQn_JY7KCn5\&q=85\&s=058dc5303cb9812e0e28d3c6a156150d) Cross-sell & Bundles explores products bought together in complete imported baskets. It tells you which pairs share the most baskets, how often a buyer of one product also took the other, and how far above chance that is. It stops there on purpose: the associations suggest pairs to review, they do not prove that a bundle or discount will generate extra sales. **What this page enables:** you pick cross-sell recommendations and bundle candidates from pairs your customers already combine, per store, instead of guessing from the catalog structure. **Where to find it:** **Analytics > Sales > Cross-sell & Bundles**. The same report sits under **Orders > More insights > Baskets**. > [!NOTE] > > A basket counts only when every line in the order is matched to a catalog product. A basket with an unknown product is left out entirely, so link unmatched order lines under **Analytics > Data & setup > Unmatched products** before you read this page. Single-product baskets are included in the total, which keeps the shares honest. ## Summary Three numbers at the top tell you how much evidence you have: | Metric | What it tells you | | - | - | | **Complete baskets** | Orders in the period whose lines are all matched to catalog products. This is the universe every share is calculated from. | | **Pairs meeting the minimum** | Product pairs that were bought together in at least the number of baskets you set below. | | **Stores with visible pairs** | How many of the selected stores have at least one pair over the threshold. | A coverage line spells out the basis: **`{complete}` of `{observed}` observed orders have complete baskets. Orders with unknown products are excluded.** ## Set the threshold The **Bought together in at least `{count}` baskets** control hides pairs with too little evidence. The page recommends starting at 3: **Start with 3 shared baskets. Small samples need more caution.** Raise it on a busy store to keep only recurring combinations; lower it on a small store to explore. When nothing clears the bar, the page says **No pairs meet this minimum. Lower the threshold to explore smaller samples.** ## Products bought together The chart ranks up to six pairs with the most shared baskets for the selected store. Each store is kept separate, and one basket can contain several pairs, so the bars do not add up to the basket total. Hover a bar to read **`{pair}`: bought together in `{count}` complete baskets**. ## The pairs table | Column | What it means | | - | - | | **Product A** and **Product B** | The two products in the pair. | | **Bought together** | How many complete baskets held both products. | | **Complete baskets** | The number of complete baskets in that store, the base for the share. | | **Share of baskets** | Bought together divided by complete baskets. | | **Buyers of A who also bought B** | Of the baskets with Product A, the share that also held Product B. Direction matters: A to B is not B to A. | | **Lift** | Observed co-occurrence relative to independent buying. Above 1 the pair shows up together more often than two independent products would. It does not measure extra sales. | In plain language: **Bought together = 45** means 45 complete baskets held both products. **Buyers of A who also bought B = 32%** means roughly one in three baskets with A also had B. **Lift = 3.2** means the pair turns up together about three times as often as chance alone would produce. > [!TIP] > > Sort by **Lift** to find the strongest behavioral links, then check **Bought together** to be sure the link rests on more than a handful of baskets. A high lift on three baskets is a hint, not a pattern. ## Act on what you find > **A pair has high lift and plenty of shared baskets** > > This is a proven combination. Open Product A in the product editor and add Product B as a cross-sell on the Relationships tab, and consider a bundle in your platform. Review the result in this report after a few weeks of orders. **Outcome:** a recommendation grounded in your own baskets, with evidence to judge it by later. > **Buyers of A who also bought B is high, but the reverse pair is weak** > > The link runs one way. Show Product B on Product A's page and leave Product B's page alone, so you do not clutter it with a suggestion its buyers rarely take. **Outcome:** the recommendation sits where buyers actually act on it. > **One product appears in many pairs** > > It is a natural anchor. Feature its top companions on its page, and use [Product Families](/en/products/product-families) to make the relationship maintainable instead of editing products one by one. **Outcome:** one anchor page carries several cross-sells at once. > **Complete baskets is far below the number of observed orders** > > Many orders contain a product WISEPIM cannot match, and all of those baskets are left out. Link the unmatched lines under **Analytics > Data & setup > Unmatched products**. **Outcome:** more baskets count, and pairs that were hiding in excluded orders become visible. > **Few pairs clear the threshold on any store** > > Most of your orders hold one product. That is normal for some catalogs, and it also marks room to grow basket size. Check whether your product pages and cart show any cross-sell at all, and start with your best sellers. **Outcome:** a baseline you can measure against in this report once multi-product baskets start to appear. ## Related > **[Orders](/en/analytics/orders)** > > Every imported order, with the Baskets view and the other More insights reports. > **[Product Performance](/en/analytics/product-performance)** > > How each product in a pair performs on its own page. > **[Revenue & Sales](/en/analytics/revenue-sales)** > > Average order value and sales per store, to see whether bundles move the basket. > **[Product Families](/en/products/product-families)** > > Group related products so cross-sells stay maintainable. # Customer Insights Source: https://docs.wisepim.com/en/analytics/customer-insights See who comes back and what they are worth over time: repeat rate, retention by first-order month, customer value by age, first-order products and groups. The Customers page answers one question: who comes back, and what are they worth over time? It counts customers from the orders you imported, per store, and follows each first-order month to see how many customers ordered again and how much they spent since. **What this page enables:** judge whether a store is building a base of repeat buyers or renting one-off sales, see which first products lead to a second order, and do it without exporting a single name. **Where to find it:** open **Analytics**, then click **Customers** under **Sales** in the sidebar. The old **Customer Insights** link redirects here. > [!NOTE] > > Customers are counted from the orders we imported, per store. Someone who bought before your first import may show up as new. bol buyers are anonymous, so they are not counted. ## Repeat customers ![The Customers page with identified customers, repeat customers and repeat rate tiles, the order history line and the retention heatmap by first-order month](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-customers-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=6340be065aec69101735b166ed689f67) Three tiles open the page: **Identified customers**, **Repeat customers** and **Repeat rate**. Under them, the note **Cohorts use the last 12 complete months. Retention needs whole months.** explains the default period. Switch with **Use my period instead** or back with **Use the last 12 complete months**. The **Order history** line tells you how much of the picture is in: **3,210 orders from customers we recognize, out of 3,400 imported orders. This history can start before the months shown.** Each store carries a history state: | State | Meaning | | - | - | | **Full history since the store opened** | The import covers every order the store ever had | | **History since your first import** | Earlier orders exist in the store but were not imported, so early buyers can look new | | **History not confirmed** | WISEPIM cannot confirm the import covers every order; a count of **gaps in the order history** follows | ### Customers who ordered again, by month since first order The heatmap has one row per **First order month**, a **New customers** column and then **Month 1**, **Month 2** and so on. Each cell is the share of that cohort that ordered again in that month. "A dash means the month isn't over yet or our order history has a gap." **Download CSV** and **Download XLSX** export the table. "Downloads hold totals only, with no customer names or contact details." ## Customer value by month since first order ![The customer value table by months since first order, with customers, total order value, per customer, known so far and status columns](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-customer-value-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=9336777ea1d26652f7c62f9f4ad02fb4) This table answers "what is a customer worth after N months?" The basis on the page: "Order totals per customer, added up month by month in each store's currency, with tax and shipping as the store sent them. Months with an unknown amount stay unknown." Pick **Months since first order**, then read the columns **Customers**, **Total order value**, **Per customer**, **Known so far** and **Orders with unknown currency or amount**. The **Status** column says whether the cell can be trusted: | Status | Meaning | | - | - | | **Available** | The month is over, its history is confirmed and every amount is known | | **Month not over** | Wait until the month closes | | **History not confirmed** | The import may miss orders in that month | | **Amount or currency unknown** | Some orders have no confirmed amount, so the total is a known subset at best | > [!NOTE] > > Values are compared at the same age. A cohort that started in March is compared with a cohort that started in June at month 3 for both, so a young cohort never looks worse only because it is younger. ### Products in the first order This list ranks the products that appear in customers' first orders. The rule on the page: "Customers count under every product in their first complete order, so one customer can appear under several products. The rows overlap, so they don't add up to a total." The footer counts coverage: **412 complete first orders, 38 unknown, 450 customers.** ## Customer groups Groups sort customers by how recently, how often and how much they ordered: **Recent repeat buyers**, **Recent buyers**, **Less recent buyers**, **Other buyers** and **No orders in this period**. "Each store counts its own customers, so totals across stores would count some people twice." > [!WARNING] > > Subscription customers are not identified separately. If you run subscriptions through your store, they appear as repeat buyers like everyone else. ## Act on what you find > **Repeat rate is low** > > Check the **Order history** state first. **History since your first import** means early repeat buyers look new, which pulls the rate down. If history is full, look at **Products in the first order**: products that rarely lead to a second order are candidates for a follow-up offer or for pairing with a product that does, using [Cross-sell & Bundles](/en/analytics/cross-sell-bundles). > **A cohort's value stops growing after month 2** > > That is the moment customers stop coming back. Compare the heatmap row with the Returns view in [Orders](/en/analytics/orders) for the same months. A refund spike in month 1 or 2 often precedes the drop, and the refund reasons tell you whether product content is the cause. > **Totals across stores look too high** > > They are not meant to be added. Each store counts its own customers, so someone who bought in two stores is counted twice. Read the groups and cohorts per store. > **The page says there are too many customers** > > **Too many customers to analyse at once. Pick fewer stores or fewer months.** The value table is calculated per customer and month, so narrow the selection. ## Related > **[Orders](/en/analytics/orders)** > > The orders these customers are counted from, by store. > **[Cross-sell & Bundles](/en/analytics/cross-sell-bundles)** > > Pair first-order products with the ones that bring people back. > **[Time Patterns](/en/analytics/time-patterns)** > > When your customers order, by hour, weekday and month. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Equal-age cohorts, first-basket overlap and history coverage, explained. # Data Quality Analytics Source: https://docs.wisepim.com/en/analytics/data-quality Grade, score and fix your product data across Overview, Fix Issues, Field Health and Score Validation, and check whether the score predicts sales. ![WISEPIM data quality dashboard with score, trends and field health](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=bb56502c7355993892b46178f287f950) 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 four focused tabs to understand the current state, fix issues, drill into field-level health, and check whether the score lines up with what sells. **Where to find it:** open **Analytics**, expand the **Catalog** group in the sidebar and click **Data quality**. **Field fixes**, **Field health** and **Score Validation** also have their own entries in the same group, and the [Fix queue](/en/analytics/fix-queue) sits next to them. > [!NOTE] > > 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. ## Four tabs Switch between tabs at the top of the section: **Overview**, **Fix Issues**, **Field Health** and **Score Validation**. Data loads once and is shared across the tabs, so navigation is instant. **1. Overview** The main dashboard: your overall score, grade distribution, domain breakdown, trend charts, content coverage funnel, and action-impact history. **2. Fix Issues** Issue-centric workspace: quick wins ranked by score impact, a filterable issues table, and the improvement roadmap. **3. Field Health** Field-level coverage matrix across product families, duplicate detection, catalog freshness, and schema suggestions. **4. Score Validation** Does your conversion score predict sales? Compares units sold per GA4 product view for high-scoring products with the rest of their category. ## 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. > [!TIP] > > 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: > **Completeness** > > How thoroughly your core fields are filled in: titles, descriptions, images, prices, categories, and brand. > **Channel Readiness** > > Whether your products meet the data requirements of each connected sales channel (Shopify, Magento, WooCommerce, and others). > **SEO & Discoverability** > > Meta titles, meta descriptions, and keyword optimization, so your products appear in search results. > **Conversion Potential** > > 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. ![WISEPIM field health analytics ranking completeness by attribute](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-fields-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=e9196e882e233153a7d2b10304d37b92) ## 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. ![Data Quality content coverage funnel and historical score chart](https://mintcdn.com/swiftsyncai/e18vBVd-8m3raEK2/images/screenshots/analytics/analytics-quality-overview-3-bg.webp?fit=max\&auto=format\&n=e18vBVd-8m3raEK2\&q=85\&s=35910965442eb9ac9c03cf110bc0a14d) ### 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. > [!WARNING] > > 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. ![Data Quality charts showing action impact and issue trends](https://mintcdn.com/swiftsyncai/e18vBVd-8m3raEK2/images/screenshots/analytics/analytics-quality-overview-4-bg.webp?fit=max\&auto=format\&n=e18vBVd-8m3raEK2\&q=85\&s=804379434f0471bc39c6652915ca0075) ## 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 ![WISEPIM data-quality fix workspace ranking issues by revenue impact](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-fix-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=ab24b65f85428b4c67112a97dfd39198) 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**. > [!TIP] > > 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 ![WISEPIM Fix Review drawer showing affected products, the planned change with credit cost, and a test-on-one preview before applying to all](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/fix-review-drawer-light-transparent.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=47f3de74d6792b95b6b8e14624f6ac9f) 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. **1. See the projected impact** 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. **2. Test on one product first** 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. **3. Apply to all** 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. > [!NOTE] > > 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. > [!TIP] > > 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. > [!NOTE] > > 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. ![WISEPIM data quality scrolled to per-field health and completion breakdown](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-field-health-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=6c7caecf456bed07c9ec2cfa6b4a18db) ### 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. | > [!NOTE] > > **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. > [!TIP] > > 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. ## Score Validation ![WISEPIM Score Validation comparing units sold per product view for high-scoring products against the rest of each category](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-score-validation-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=75f9d522046ac56c7b27614ac3a33a9b) A quality score is only useful if it points at products that sell. The **Score Validation** tab asks exactly that: **Does your conversion score predict sales?** It takes products scoring 80 or more on conversion potential and compares them with lower-scoring products in the same category, using GA4 product views and units sold. **Where to find it:** the **Score Validation** tab on Data quality, or **Score Validation** in the **Catalog** group of the sidebar. > [!NOTE] > > This needs [Google Analytics 4](/en/integrations/google-analytics) connected with product views. Without it the tab reads **Connect GA4 to check your score**. Other states: **No GA4 product data yet**, **Not enough product traffic yet**, and **This check isn't available for your catalog yet** when the catalog is larger than can be compared in one go. * **Period** switches between 28, 56 and 90 days. A longer period helps when traffic is thin. * The headline reads, for the strongest category, **In `{category}`, products scoring 80+ sell `{ratio}`x as many units per product view**, with the range **Likely between `{lower}`x and `{upper}`x.** It is marked **Estimate**, and **How we measure** explains the method. * **GA4 data through `{date}`** tells you how fresh the view data is, and a line counts the products left out because they have no score, category or enough views. * **By category** is a dot plot where **1x is no difference**. Each category gets a verdict, **High scorers sell more**, **High scorers sell less**, **No clear difference** or **Not enough data**, and the figures **Score 80+: N · below 80: N units sold per 100 product views**. > [!NOTE] > > For each category, WISEPIM compares units sold per GA4 product view for products scoring 80 or higher with the rest of that category. Products with a higher score may also differ in price or traffic, so this shows a link, not proof. ## Your question checks ![WISEPIM Data quality overview card listing question checks with flagged, needs-review and passed counts per question](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-question-checks-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=c09d96dc5cc2c998d3e74225b5254ba2) The Overview tab carries a **Your question checks** card for the questions you wrote in [Quality Guard](/en/quality-guard/overview), such as "Does the description contradict the product name or attributes?". Per question it shows how many products have current answers, with counts for **Flagged**, **Needs review** and **Passed**. **Manage questions** opens Quality Guard. The card shows current saved answers. Pending and stale products have not been confirmed, and these checks do not change the quality score or block exports. Elsewhere a product's status for a question reads **Needs attention**, **Flagged**, **Needs review**, **Passed**, **Not checked**, **Changed since check** or **Check unavailable**. A project can hold up to 100 questions. ## Act on what you find > **Score Validation says High scorers sell less in a category** > > The score is rewarding something shoppers in that category do not care about. Open the category's products in **Field Health** and compare what the high scorers have that the low scorers lack; then adjust the weights under **Customizing quality scoring** so the score follows what sells there. > **Most categories read Not enough data** > > Pick the 90-day **Period**, and make sure GA4 product views are matched to products under [Tracking Health](/en/analytics/tracking-health). Categories with little traffic will stay unproven, which is fine: trust the verdicts you do get. > **A question check shows many products as Flagged** > > Open **Manage questions** and read the flagged answers. If the question is right, fix the products through [Enriching Products](/en/essentials/enriching-products); if the question is too broad, edit its answers or scope in Quality Guard. > **Overall score dropped sharply** > > 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. > **Completeness or Channel Readiness is below 70** > > 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. > **SEO domain score is your weakest area** > > 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. > **Content coverage funnel shows a large gap at a specific field** > > 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. > **Score is stuck, no clear quick wins remain** > > 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. > **One product family has a much lower score than the rest** > > 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 > **[Analytics Hub](/en/analytics/overview)** > > Return to the Hub for a birds-eye view of your store and Smart Insights. > **[Custom Dashboards](/en/analytics/custom-dashboards)** > > Build a personalized dashboard that includes your most important quality metrics. > **[Cut your return rate with better data](/en/guides/cut-your-return-rate)** > > Trace returns back to the quality gaps that caused them, and fix them at the source. # How Order Numbers Work Source: https://docs.wisepim.com/en/analytics/how-order-numbers-work The rules behind every order report: trust marks, native currency, complete days, coverage, estimates, the margin ladder and what changed from the old pages. Every order page in WISEPIM follows the same rules. Money stays in each store's currency. Days count only when they are complete. A number that is not known is shown as unknown, with a reason, and never as zero. This page explains those rules once, so each report page can stay short. **What this page enables:** read any order report without second-guessing it. When you see **Known so far**, **≈** or **Not sent by Shopify**, you know what it means and what to do about it. **Where to find it:** these rules are not a page in the app. Each order report shows its own version under **About these numbers**, with **What this shows**, **How we calculate**, **Included** and **Missing**. > [!NOTE] > > The order pipeline is rolling out per account. Some stores may not show order data yet. The rules below apply as soon as a store's orders are imported. ## Evidence, not estimates The imported order records are the evidence. Everything else on the order pages, from daily totals to margins and forecasts, is calculated from them and can be rebuilt at any time. Each page states which kind of number you are looking at: imported, calculated or estimated. ## Trust marks Every value on an order page carries one of four marks: | Mark | What it means | Example | | - | - | - | | No mark | The value is complete for every order in the scope | **Orders 899** | | **Known so far** | A subset: only the orders where this part is known are counted | **from 737 of 899 orders** | | **≈** and **Estimated** | Calculated from an estimate, such as a catalog cost price | **≈ 4,300 with catalog cost prices (estimated)** | | A short reason with an info glyph | Unknown. Hover or click for the long version | **Needs product costs** | The reasons you will meet most: | Reason | Long version | | - | - | | **Not sent by `{platform}`** | "`{platform}` doesn't send this, so we keep it unknown rather than guess." | | **No amounts from bol** | bol sends order lines but no confirmed order total or currency, so bol orders stay out of money totals | | **Needs product costs** | Orders include products with no recorded cost | | **Needs an exchange rate** | Orders in a foreign currency have no rate for their order date | | **Needs product matching** | Order lines are not linked to a product in your catalog | | **Refund split unknown** | Refunded orders have no breakdown of what was refunded | | **Not imported yet** | "We don't import this from `{platform}` yet." | | **History not confirmed** | "We haven't confirmed that our import covers every order on these days." | | **Not over yet** | The period has not ended | | **Too few orders** | Below the minimum needed to say anything reliable | | **Today is still running** | Today is left out of comparisons | | **No comparison yet** | Comparison needs complete days with full history on both sides | | **Not in this view** | The store or currency is outside the current filter | | **Data changed, refresh** | The readings changed while loading | Each reason also names who can act on it: **You can fix this**, **Comes from `{platform}`**, **On our side** or **Fills in by itself**. > [!WARNING] > > A known subset that covers no orders is shown as unknown, not as 0. Zero only ever means a zero the platform confirmed. ## Order totals and measures An **Order total** is the amount a store sent for an order, tax and shipping included, with refunds not subtracted. It is not net sales and not captured cash. The **Report measure** filter picks what the daily and per-store reports show: | Measure | What it is | | - | - | | **Recorded order totals** (default) | Exact amounts where the store confirmed them; otherwise the amount from an older import in its stored currency, marked **Imported amounts; source currency not reverified** | | **Order totals** | Only amounts the store sent and confirmed | | **Orders** | Counts, no money | | **Gross product sales** | Product lines before discounts | | **Product sales after discounts** | Product lines after discounts, before refunds | The order list itself never changes with the measure. ## Native currency Every total is kept per store and per currency. Nothing is summed across currencies and nothing is converted on its own. Two consequences: * **Share of sales** on the By store view is a share of one currency. * A reporting currency only appears in the card **All stores in `{currency}`** on the Orders page, and only after you entered your own rate for each order date in [Analytics settings](/en/analytics/analytics-settings). Rates are exact, one per day, and WISEPIM never falls back to the day before or to an inverse rate. An order counts as having a confirmed currency only when the platform confirmed it. bol never does, and some older imports do not. Those orders are marked **Currency not confirmed** and left out of money totals. ## Complete days Yesterday in your analytics timezone is the last complete day. Today is partial, so it is excluded from comparisons, targets, schedules and forecasts. The default period is **Last 30 complete days**, and a closed-window label such as **Last 30 days (to 13 Oct)** tells you where it stops. Order pages show up to 366 days; bookmarks for longer periods are moved to 12 months with a notice. A day with no orders counts as a zero day only when the import's history for that day is confirmed. Otherwise it is a gap, and the daily charts leave it as a gap. ## Coverage Coverage says how many orders a value is built from, never how much money. You see it as **from 737 of 899 orders**, as cost coverage per store and cost kind, as exchange-rate coverage per currency and day, as **Matched to products** for order lines, and as a history state per store: **Full history since the store opened**, **History since your first import** or **History not confirmed**. ## Estimates The catalog cost price is snapshotted when an order line is first imported. Margins built on it are marked **≈**. Only a purchase-price import or a posted invoice gives an exact cost, and an exact cost is never replaced by an estimate. Forecasts on [Reorder Planning](/en/analytics/reorder-planning) are estimates too, with a tested likely range. ## The margin ladder [Margin](/en/analytics/margin) uses contribution margins, not accounting profit: | Row | Definition | | - | - | | **Margin after product costs** (CM1) | Product sales after discounts and refunds minus cost of goods | | **Margin after selling costs** (CM2) | CM1 plus shipping charged, minus marketplace, payment, shipping, fulfilment and return costs | | **Margin after marketing** (CM3) | CM2 minus advertising | A full margin shows only when every cost in it is known. Partial margins are marked **(known costs only)**. ## Customers at equal age [Customer Insights](/en/analytics/customer-insights) groups customers by the month of their first observed order, per store, and compares cohorts at the same number of months since that order. "First observed" is not "first ever": a buyer from before your first import looks new. Under **Products in the first order**, a customer counts under every product in that order, so the rows overlap and do not add up. ## Reconciliation For each order, the parts the store sent (products, discounts, tax, shipping, fees, duties, tips, gift cards, adjustments) are checked against the store's total: **Adds up**, **Off by `{amount}`** or **Can't check the total yet**. Parts that balance prove the arithmetic, not that the order was paid or that every line is matched to a product. ## Previews and posted data Actions that change data, such as posting costs, importing purchase prices, linking order lines to products and marking duplicate orders, always run in two steps: a preview that shows what will change, then an apply. The preview is valid for 15 minutes, and the apply refuses if the data changed in between. Posted costs and exchange rates cannot be edited afterwards; product links are versioned, so the history is kept. ## How the old reports changed ![The notice the retired Channels report showed before it redirected: order totals by store in each native currency, with unknown amounts left unknown](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-legacy-channels-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=dfebf4346d11b4917ecec3028748e61e) The old Revenue, Gross margin, Returns and Channels reports pooled amounts without an agreed definition of sales, costs or currency. For a while they showed a bridge with **Order totals by store** and the note "The old report had no checked definition of sales, costs and currency. These are the order totals your stores reported." Now they redirect: | Old page | Now | | - | - | | [Channel Analytics](/en/analytics/channels) | The By store view in [Orders](/en/analytics/orders) | | [Returns & Refunds](/en/analytics/returns) | The Returns view in [Orders](/en/analytics/orders) | | [Profitability](/en/analytics/profitability) | [Margin](/en/analytics/margin) | | [Stock-Out Loss](/en/analytics/stockouts) | [Reorder Planning](/en/analytics/reorder-planning) | | Customer Insights (old) | [Customer Insights](/en/analytics/customer-insights), rebuilt on the same rules | | [Revenue & Sales](/en/analytics/revenue-sales) | Kept, rebuilt on imported orders | Redirects keep your period, stores and currency where the new page supports them. The notice **`{old}` moved to `{new}`. Your bookmark still works.** confirms it. There is no comparison between old and new figures, because they measured different things. ## Act on what you find > **A number is lower than your store's own dashboard** > > Check the measure and the period first: order totals by order date, in the store's currency, refunds not subtracted, today excluded. Then compare the reasons: orders with **Currency not confirmed** or without a total are left out here, where a store dashboard may include them. The Reconciliation view under [Data health](/en/analytics/data-health) compares your own CSV export part by part. > **Two stores sell in different currencies and you want one total** > > Set a reporting currency in [Analytics settings](/en/analytics/analytics-settings) and add a rate for each order day. Until every day has a rate, the converted card shows **N orders need an exchange rate.** with the rest as a known subset. > **A value is marked Known so far** > > Open **About these numbers** and read **Missing**. It names the part that is unknown, how many orders it affects and who can fix it. [Fix queue](/en/analytics/fix-queue), [Costs](/en/analytics/costs), [Unmatched products](/en/analytics/unmatched-products) and [Analytics settings](/en/analytics/analytics-settings) cover the four fixes that are on your side. > **You changed the timezone or currency settings** > > Reports keep the old settings until you click **Update reports** in [Analytics settings](/en/analytics/analytics-settings). Targets show **Check the dates** after a timezone change, because the day boundaries moved. ## Related > **[Orders](/en/analytics/orders)** > > Where most of these marks show up first. > **[Margin](/en/analytics/margin)** > > The ladder, the estimates and what is blocking a full margin. > **[Order Detail](/en/analytics/order-detail)** > > Reconciliation and amount source for one order. > **[Today](/en/analytics/today)** > > The setup steps that turn unknown into known. # Margin Source: https://docs.wisepim.com/en/analytics/margin See what each store keeps after product, selling and marketing costs. Margin shows only when every cost is known, and the page lists what is missing. Margin shows what you keep per store for the orders placed in a period. It walks down a ladder from product sales to margin after product costs, after selling costs and after marketing. A full margin shows only when every cost in it is known. Until then you get a partial figure marked as such, and a list of what is blocking the rest. **What this page enables:** know which store earns and which one only sells, without a spreadsheet, and see the exact import that will complete the picture. **Where to find it:** open **Analytics**, then click **Margin** under **Sales** in the sidebar. > [!NOTE] > > Margin needs costs. The catalog cost price gives an estimated margin (≈) on orders imported after you set it. For orders you already have, import your purchase prices on [Costs](/en/analytics/costs). Payment, carrier and marketplace fees come from fee imports or bol invoices. ## The margin ladder ![The Margin page with a per-store ladder from product sales after discounts and refunds down to margin after marketing, and the list of what is blocking margin](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-contribution-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=baf8b3bcf8c0fed98e351633cf30b406) Each store gets its own ladder in its own currency. The rows, top to bottom: | Row | What goes in | | - | - | | **Product sales after discounts and refunds** | Net product sales for orders placed in the period, updated as refunds come in | | **Cost of goods** | The cost on each order line, from a purchase-price import or the catalog cost price | | **Margin after product costs** | Sales minus cost of goods (CM1) | | **Shipping charged** | What customers paid for shipping | | **Selling and fulfilment costs** | Marketplace fees, payment fees, shipping, fulfilment and return handling | | **Margin after selling costs** | CM1 plus shipping charged, minus selling and fulfilment costs (CM2) | | **Marketing** | Advertising costs posted for the period | | **Margin after marketing** | CM2 minus marketing (CM3) | The glossary on the page is written for your accountant: "CM1 is product sales after discounts and refunds minus cost of goods. CM2 adds shipping income and subtracts marketplace, payment, shipping, fulfilment and return costs. CM3 subtracts advertising. These are contribution margins, not accounting profit." ### Partial and estimated values A row that cannot be completed does not show 0. It shows one of these instead: * **Margin after product costs (known costs only)** or **Margin after selling costs (known costs only)**: a partial margin over the orders where every cost is known. A line such as **Margin after product costs on 737 of 899 orders: 4,120 (31% of their product sales)** tells you the coverage. * **≈ 4,300 with catalog cost prices (estimated)**: the margin using the cost price in your catalog at the time of sale. It is an estimate, not an invoiced cost. * A short reason, such as **Needs product costs** or **Not sent by WooCommerce**, when nothing can be calculated yet. Under the ladders, **Margin known for 2 of 3 stores.** and **64% of orders have a cost for every line.** summarise coverage. > [!WARNING] > > Partial margins use only the costs we have so far and may miss some. Full margins after selling costs and after marketing show once every cost is known. ## What's blocking margin This section lists every reason a margin is partial, each with a button to the fix: | Reason | What to do | | - | - | | **48 orders include products with no recorded cost.** | **Import purchase prices** for the orders you have, or **Add cost prices for new orders** in the catalog | | **120 orders use estimated catalog costs. Import purchase prices for an exact margin.** | Import purchase prices to replace the estimates | | **12 orders have no complete sales breakdown from WooCommerce, so margin stays unknown for them.** | Nothing on your side; the platform did not send the parts | | **Payment fees are imported up to 30 Sep.** | **Import fees** for the days after that | The **Cost postings** list shows every cost posted for the period by kind: **Cost of goods**, **Marketplace fees**, **Payment fees**, **Shipping**, **Fulfilment**, **Return handling**, **Advertising**. Before anything is posted it reads **No costs posted yet. Missing costs stay unknown, never zero.** Coverage counts sit alongside: **Orders with unknown sales**, **Orders with a line without a cost**, **Estimated costs (≈)** and **Costs left out for a different currency**. The last one matters when your cost prices are in a currency other than the store's; set **Currency of your cost prices** in [Analytics settings](/en/analytics/analytics-settings). > [!NOTE] > > Costs are posted, not edited. A purchase-price import replaces a catalog estimate on the same lines, but never a cost that was already exact. That is why the page can always tell you which figure is an estimate. ## Act on what you find > **Margin is unknown for every store** > > Start with **Confirm reporting basics** on [Today](/en/analytics/today). Without a cost currency the page cannot pair costs with sales. Then open [Costs](/en/analytics/costs) and import purchase prices for the period you care about. Catalog cost prices alone only cover orders imported after you set them. > **Margin after product costs looks fine but the next step is missing** > > **Margin after selling costs** needs marketplace, payment, shipping, fulfilment and return costs. Check **Payment fees are imported up to `{date}`** and the **Cost coverage** table on [Costs](/en/analytics/costs) to see which cost kind and which days are missing. For bol, post the invoice from the bol invoices tab. > **One store earns far less than it sells** > > Compare the **Selling and fulfilment costs** row across stores. Marketplace commission and return handling often explain the gap. Then open the Returns view in [Orders](/en/analytics/orders) for that store and look for products marked **Fix with product data**. > **The page says the period is too large** > > **This period is too large to calculate live. Pick a shorter period or fewer stores.** Margin is calculated per order line, so narrow the period or the stores, or build a frozen report on [Reports](/en/analytics/reports) for the full range. ## Related > **[Orders](/en/analytics/orders)** > > The product sales and refunds the top of the ladder is built from. > **[Order Detail](/en/analytics/order-detail)** > > One order's lines and the costs that were posted to them. > **[Today](/en/analytics/today)** > > The setup checklist that lists the cost, rate and fee steps still open. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Estimated, known so far and the CM1, CM2, CM3 definitions. # Order Detail Source: https://docs.wisepim.com/en/analytics/order-detail Open one order to see what was bought, what the customer paid, whether the parts add up, which refunds came in and which records the store sent. Order detail shows one order as your store sent it. It is the page you open when a total looks wrong, when a product report is missing a line, or when support asks what the platform delivered. **What this page enables:** settle "is this number right?" without a spreadsheet. You see the lines, the payment breakdown, the reconciliation verdict and the raw records behind them, without leaving WISEPIM. **Where to find it:** open **Analytics**, click **Orders** under **Sales**, then click any row in the order list. The page is not in the sidebar. **Back to orders** returns you to the list with your filters intact. > [!NOTE] > > This page shows one order. The date picker doesn't change it. Store, currency and period still travel with the links back to the reports. ## The header ![An order detail page with the receipt of what was bought, the payment breakdown, the completeness row and the source records](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-detail-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=7f6fde210e01db29c6b3e74c5b9f9cd1) The title is the order number, with **Copy order number** next to it. The subtitle shows the store, the order date and the **Payment status** as the platform sent it: **Pending**, **Authorized**, **Paid**, **Partly paid**, **Partly refunded**, **Refunded**, **Voided**, **Unpaid** or **Unknown**. ## What was bought The receipt lists every order line with its quantity and line total. Each line is either linked to a product in your catalog, with an **Edit product** button, or marked **Not linked to a product** with **Link to product**. The footer counts them: **3 of 4 lines linked to products**. > [!NOTE] > > Linking a line here applies to every past order with the same store reference, not this one alone. Product and margin reports pick the change up after the next report update. ## What the customer paid The payment card breaks the total into **Products**, **Discount**, **Shipping**, **Tax** and **Total**, and then checks them against the store's own total: | Verdict | Meaning | | - | - | | **Adds up** | The parts sum to the order total the store sent. | | **Off by `{amount}`** | The parts do not sum to the total. The gap is listed as **Unexplained difference**. | | **Can't check the total yet** | One or more parts are unknown, so there is nothing to check against. | Parts a platform never sends are listed as **Not reported by `{platform}`: `{components}`**. WISEPIM keeps them unknown instead of guessing, which is why a verdict of **Can't check the total yet** is not an error on your side. > [!WARNING] > > A part that reads zero is a zero the platform confirmed. A part that is missing is unknown. The two never get mixed: nothing on this page is filled in with 0 to make the sum work. ### Order details A completeness row shows what the import covered for this order: **Order details**, **Order lines**, **Refunds**, **Payments** and **Sales adjustments**, each marked **Complete**, **Partial**, **Unknown** or **Not supported**. **Not supported** means the platform does not offer that record at all. ## Refunds The **Refunds** card lists each refund the store recorded, with its amount and date. Two caveats are on the page: * **No refunds imported for this order. A refund made outside the store won't show here.** * **The date shown can be the order date, because the platform doesn't always send the refund date.** The refund amount is as your store recorded it. Item returns and payment dates are not part of it. ## bol orders For a bol order, a row explains why it stays out of money totals: **bol shares line prices but not a confirmed order total or currency, so we keep bol orders out of money totals. Line prices are shown as bol listed them.** The **Add bol invoices** button takes you to [Costs](/en/analytics/costs), where bol's commission and fees can be posted from an invoice. ## Source records (for support) A collapsed section at the bottom holds the raw records: **Sales records from the platform** and **Shipment and return records from the platform**. The warning above them applies to both: "These records can be incomplete. Their times are when the platform registered them, which can differ from when goods arrived." Each amount also carries its **Amount source**: **As sent by the store**, **From an older import; it may be rounded**, or **Amount unknown**. An order whose currency the adapter could not confirm is marked **Currency not confirmed**. ## Act on what you find > **The total is off by a small amount** > > Expand **Source records (for support)** and compare the sales records with the payment card. A rounding difference on an older import shows **From an older import; it may be rounded** as the amount source. A difference on a fresh order usually means the platform sent a part WISEPIM does not import yet; the **Not reported by** line names it. > **A line is not linked to a product** > > Click **Link to product** and pick the catalog product. If the same reference shows up on many orders, do it once in [Unmatched products](/en/analytics/unmatched-products) instead, where the preview tells you how many order and refund lines the link will touch. > **A refund you know about is missing** > > Refunds only show when the store recorded them against this order. A refund issued through a payment provider or outside the store does not arrive. If the store did record it, check the connection in [Data health](/en/analytics/data-health) and wait for the next import. > **Support asks for the record behind a number** > > Use **Copy order number**, then open **About these numbers** on the Orders page and click **Copy for support**. Together they give support the order, the data version and the settings version to reproduce what you saw. ## Related > **[Orders](/en/analytics/orders)** > > The order list this page opens from, with the same filters. > **[Margin](/en/analytics/margin)** > > Where the costs for these order lines turn into a margin per store. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Why unknown is never zero, and what reconciliation does and does not prove. > **[Integration Health](/en/analytics/integration-health)** > > Sync status per connection when records are missing. # Orders Source: https://docs.wisepim.com/en/analytics/orders Every synced order with the totals your stores reported, plus views by store, product, promotion code, basket, return and attribute. Money stays per store. Orders is the home of your sales data. **All orders** lists every synced order with the totals your stores reported. The report views next to it slice the same orders by store, product, promotion code, basket, refund and attribute value. Every number keeps its store and currency, and anything unknown is shown as unknown rather than zero. **What this page enables:** answer "what sold, where, and what came back" from one place, with the same filters on every view, and open any order to see what the store sent. **Where to find it:** open **Analytics**, then click **Orders** under **Sales** in the sidebar. The report tabs across the top are **All orders**, **Most sold**, **Least sold** and **By store**. The **More insights** menu holds **Movers**, **Baskets**, **Returns**, **Promotions** and **Attributes**. > [!NOTE] > > The order pipeline is rolling out per account. Some stores may not show order data yet. Until a store's orders are imported, its tiles and rows show a reason instead of a number. ## The shared controls Every order page has the same toolbar, and your choices travel with every link between them. * **Date picker**: defaults to **Last 30 complete days**. The closed-window label reads **Last 30 days (to 13 Oct)**, which means today is left out. The longest period is 366 days. * **Filters**: **Stores**, **Currency** ("Shows only stores that sell in this currency. Amounts aren't converted.") and **Report measure** ("Changes the daily and per-store report values. The order list stays the same."). Measures are **Recorded order totals** (default), **Order totals**, **Orders**, **Gross product sales** and **Product sales after discounts**. * **Compare**: switches on a comparison with the previous period. It is disabled with a reason on views that cannot compare, and it stops at yesterday: **Today is still running, so a fair comparison stops at yesterday.** * **Copy link**: copies the page with its period, stores, currency and measure, so a teammate sees the same thing. * A status line under the title, such as **Noordkust NL last updated yesterday**, with an amber dot when a store is stale, and an **About these numbers** link that opens a drawer with **What this shows**, **How we calculate**, **Included**, **Missing**, **Your stores** and **Technical details (for support)**. > [!TIP] > > Stuck on a number you cannot explain? Open **About these numbers** and click **Copy for support**. It copies the data, settings and exchange-rate versions behind the page, so support can reproduce what you saw. ## All orders ![The All orders view with order, order total, stores with amounts and orders without amounts tiles, the daily trend and the order list](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=13886b14c0758add6b6a0c569b4c3d05) The subtitle reads "Every synced order, with the totals your stores reported." Order totals and statuses are as your stores sent them, including tax and shipping. Refunds are not subtracted here. ### Tiles | Tile | What it counts | | - | - | | **Orders** | Every imported order in the period, by order date. | | **Order total (`{currency}`)** or **Imported order total (`{currency}`)** | The totals the stores reported, one tile per currency. The second label appears when the measure is **Recorded order totals**. | | **Stores with amounts** | How many of your stores sent amounts at all. | | **Orders without amounts** | Orders that arrived without a total or without a confirmed currency. | When every selected store is bol, the tiles shrink to orders, matched lines and stores, with the note **bol doesn't send order amounts. Order counts and products are complete.** ### Daily trend and Sales per day **Daily trend** plots one line per store and currency, with the footnote "Only returned daily readings are plotted. Missing or unavailable readings stay gaps; amounts are never combined across currencies." Click **Explore daily detail** to open the full **Sales per day** chart: "One line per store, in its own currency. Days without confirmed history show as unknown, never as zero." With **Compare** on, the chart adds **Compared with the previous period** and a table with **This period**, **Previous period**, **Difference** and **Change (%)**. ### All stores in one currency If you set a reporting currency in [Analytics settings](/en/analytics/analytics-settings), the card **All stores in `{currency}`** converts foreign orders "at the rate for each order's date". Orders whose date has no rate are listed as **N orders need an exchange rate.** with an **Add rates** button. Rates are yours to enter, one exact rate per day, and WISEPIM never falls back to the day before. ### Orders in this period The list shows 50 orders per page with the columns **Order**, **Placed**, **Status** and **Total**. Use **Search by order number**, the **All statuses** filter and the sort options **Newest orders first** or **Recently imported**. The footer reads **Showing orders 1 to 50 of 899**. **Download this page (CSV)** exports the rows you see; **Export all 899 orders in Reports** builds a frozen report with every matching order. Click any row to open its [Order Detail](/en/analytics/order-detail). > [!WARNING] > > Older imported order amounts are shown in their stored currency. Their currency and historical total mapping have not been reverified against your store, so the page marks them **Imported amounts; source currency not reverified**. These are not verified sales or captured payments. ## By store ![The By store view, comparing stores within each currency with orders, order total, product sales before refunds and share of sales](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-commerce-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=3b1443ad081e936e786efe79c39cb7bb) **Orders and sales by store** compares stores within each currency. Columns: **Store**, **Orders**, **Order total**, **Product sales before refunds** and **Share of sales**. Share is always a share of one currency, never of a pooled total. Open a store to inspect its orders. ## Most sold and Least sold Both tabs open the **Product sales** view, ranked differently. Columns: **Product**, **Units ordered**, **Orders** and **Lines with gaps**. Expand a product to review each store's amounts. * **Group products by**: **Products and variants** or **Parent products**. * **Rank products**: **Most sold**, **Least sold**, **Most ordered**, **Least ordered**, or by name. * The rule under the ranking: "Only products with recorded sales. Unsold products excluded; unknown quantities last when ranking units." > [!NOTE] > > Units come from order lines matched to your current catalog. Lines that are not linked to a product sit under **Not linked to a product** with a **Match them** button. Linking them in [Unmatched products](/en/analytics/unmatched-products) adds them to every product view, for past orders too. ## More insights ### Movers **Recent sales changes** compares two periods of the same length: the selected period against the same number of days before. **Rising** and **Falling** list the products whose product sales after discounts moved most, with **Where it happened** per store. The footnote is the rule: "These add up to the change in product sales after discounts. They show where it happened, not why." Pick up to 4 stores to compare products. ### Baskets **Products bought together** uses every complete basket in a store, single-product baskets included. Columns: **Product A**, **Product B**, **Bought together**, **Complete baskets**, **Share of baskets**, **Buyers of A who also bought B** and **Lift**. The slider **Bought together in at least N baskets** starts at 3. Lift is "Observed co-occurrence relative to independent buying. It does not measure extra sales." A basket with an unknown product is left out entirely. ### Returns **Refunds by purchase cohort** follows the orders placed in the period for a chosen **Return window** of days and counts the refunds recorded in that time. **Refund rate by store** and **Refund rate by product** show **Refunded orders**, **Refund rate**, **Top reason** and **vs store**, plus the marks **Fix with product data** and **Clear outlier**. Reasons are a closed list: **Size and fit**, **Colour or photos**, **Not as described**, **Quality or defect**, **Arrived damaged**, **Wrong item**, **Changed mind**, **Late delivery**, **Other** and **No reason given**. Reasons come from the store, and free-text reasons are counted, never shown. A line such as **14 recent orders are still inside the return window.** tells you which orders cannot be judged yet. ### Promotions **Orders by promotion code** splits each order's product sales and discount evenly over the codes used on it. Columns: **Code**, **Orders with this code**, **Product sales (split per code)**, **Discount (split per code)**, **Margin after product costs (split per code)** and **Ordered again within 30 days**. Two notes matter: "Repeat orders use customers whose first order was 31 to 120 days ago." and "Free-shipping codes discount shipping, not products, so their product discount can be 0." ### Attributes **Sales by attribute value** groups order lines by the attribute value recorded **At the time of sale**. Values that were not recorded stay unknown, and today's catalog never fills them in. Switch to **Current catalog** to group past orders by today's values instead, with the caveat on screen: "Groups past orders using today's catalog values, not values recorded at sale." ## Act on what you find > **Orders without amounts is not zero** > > Open a few of those orders. **Amount source** tells you whether the amount is **As sent by the store**, **From an older import; it may be rounded**, or **Amount unknown**, and **Currency not confirmed** flags the currency problem. bol orders are expected here. For other platforms, check the connection in [Data health](/en/analytics/data-health) and re-sync. > **A product sells a lot and gets refunded a lot** > > In the Returns view, a product marked **Fix with product data** has a refund reason the catalog can address: size and fit, colour or photos, not as described. Open the product, fix the content, and use [Bulk Edit](/en/essentials/bulk-editing) when the same gap applies to its siblings. Then watch the next cohort once its return window has passed. > **Movers show a drop in one store only** > > The Movers view tells you where, not why. Check that store's status line for a late sync, then look at stock in [Reorder Planning](/en/analytics/reorder-planning) and at recent content changes in [Listing history](/en/analytics/listing-history). A store that stopped syncing looks like a sales drop until the import catches up. > **Two products are always bought together** > > A high **Lift** with enough **Complete baskets** is a candidate for a bundle or a cross-sell block on the product page. Keep in mind it does not prove extra sales. Set it up in [Cross-sell & Bundles](/en/analytics/cross-sell-bundles) and compare the next period. > **You need the full list, not one page** > > **Export all N orders in Reports** creates a frozen report on [Reports](/en/analytics/reports) with every order that matches your filters, up to 100,000 rows, with exact amounts in CSV and XLSX. The report keeps its data and settings versions, so the numbers do not shift under you. ## Related > **[Order Detail](/en/analytics/order-detail)** > > One order: what was bought, what the customer paid and whether it adds up. > **[Margin](/en/analytics/margin)** > > Product sales minus costs, per store, only when every cost is known. > **[Revenue & Sales](/en/analytics/revenue-sales)** > > Sales trends and category performance built on the same orders. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Trust marks, native currency, complete days and coverage, explained once. # Analytics Hub Source: https://docs.wisepim.com/en/analytics/overview Your starting point in Analytics: yesterday at a glance, the order KPI strip, catalog quality, sessions and page views, and a link into every report. ![WISEPIM analytics hub with KPIs and trends across the catalog](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=b54871e0015ba6ff337828fa25cbb9df) The Analytics hub is where every session starts. It reads **Analytics hub** with the subtitle **Explore sales, catalog health and visitor behavior.**, shows the order numbers for the selected period next to catalog quality and traffic, and links into every report. > [!NOTE] > > Order numbers come from the stores you connected and the orders WISEPIM imported from them. Traffic needs [Google Analytics 4](/en/integrations/google-analytics). Want to explore first? Try the [interactive analytics sandbox](https://wisepim.com/analytics-sandbox) with demo data. No setup required. > [!TIP] > > **What the hub lets you do:** catch a quiet store, a stalled sync or a quality drop the same week it starts, then open the one report that explains it. The [Today](/en/analytics/today) page is the daily version of this: yesterday per store, what needs you, and where to look next. ## What the hub shows * **Open Today** in the header jumps to the [Today](/en/analytics/today) page. * The scope bar sets the **Stores**, the **Currency** and the **Report measure** for the order numbers. The selected scope travels with you to every order page. * The order KPI strip: **Orders**, **Order total** per store and currency, **Stores with amounts** and **Orders without amounts**. Each tile links to the [Orders](/en/analytics/orders) list for the same scope. bol stores show counts only, because bol doesn't send order amounts. * Three cards: **Catalog quality** (the overall quality score for the **Current catalog**), **Sessions** and **Page views** (from Google Analytics, for the selected source window). * **Sales per day**: one line per store, in its own currency. Days without confirmed history show as unknown, never as zero. * **Finish setting up order analytics**, the setup checklist, until every step is done or you hide it. It also appears on Today. * **Explore reports**: cards into Revenue & Sales, Categories, Time Patterns, Cross-sell & Bundles, Orders, Data quality, Traffic, Conversions, Product traffic, Site search, Margin, Customers and Reorder planning. * Your saved views, see below. If the data changed while the page loaded, a line asks you to refresh so the trend and the tiles match. ### Setup checklist The **Finish setting up order analytics** card counts **N of N done** and lists what is still missing: | Step | Why it matters | Where it goes | | - | - | - | | **Confirm reporting basics** | Your timezone sets where a day starts. Without currencies WISEPIM can't show margin | [Analytics settings](/en/analytics/analytics-settings), with **Use recommended** or **Customize** | | **Orders imported** | Shows how many stores have synced | [Data health](/en/analytics/data-health), via **Open Data health** | | **Match order lines to products** | Unlinked lines are left out of product reports | [Unmatched products](/en/analytics/unmatched-products), via **Review** | | **Add product costs** | Products sold with no recorded cost keep Margin unknown | [Costs](/en/analytics/costs), via **Import purchase prices** or **Add cost prices** | | **Exchange rates for `{currency}`** | Order days without a rate stay unconverted | [Analytics settings](/en/analytics/analytics-settings), via **Add rates** | | **Import payment and carrier fees** (marked **Optional**) | Fees turn margin after product costs into margin after selling costs | [Costs](/en/analytics/costs), via **Import fees** | **Hide for now** tucks the card away until something changes. ## 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. | ## Act on what you find > **Orders are down versus the previous period** > > Check the **Sales per day** chart for a gap first: a store that stopped syncing looks like a store that stopped selling. If the line is unbroken, open [Orders](/en/analytics/orders) and the **Movers** view to see which products fell. > **Orders without amounts is not zero** > > Some orders arrived without a total or without a confirmed currency, and WISEPIM keeps them out of money totals rather than count them as zero. bol orders are always here. For other stores, open [Data health](/en/analytics/data-health). > **Catalog quality is amber or red** > > Open [Data quality](/en/analytics/data-quality) for the domain that drags the score down, or go straight to the [Fix queue](/en/analytics/fix-queue) to fix the flagged products that sell first. > **Sessions and Page views are unknown** > > GA4 is not connected, or the selected source window has no data yet. Connect [Google Analytics 4](/en/integrations/google-analytics), then check [Tracking Health](/en/analytics/tracking-health). > **The setup checklist will not go away** > > Each step links to the page that completes it. **Import payment and carrier fees** is optional; the others unlock margin, converted totals and product reports. Click **Hide for now** if you want the space back. ## Explore all reports Top level, outside any group: > **[Today](/en/analytics/today)** > > Yesterday per store, what needs you, and where to look next. > **[Analytics Alerts](/en/analytics/alerts)** > > Needs attention: the Alerts, Decisions and Signals tabs. **Sales** > **[Revenue & Sales](/en/analytics/revenue-sales)** > > Sales trends, category performance and the Explore sales breakdown. > **[Orders](/en/analytics/orders)** > > Every order by store, plus Most sold, Least sold, movers, baskets, promotions, returns and attributes. > **[Margin](/en/analytics/margin)** > > What you keep after product costs, selling costs and marketing. > **[Customer Insights](/en/analytics/customer-insights)** > > Who comes back, and what they are worth over time. > **[Time Patterns](/en/analytics/time-patterns)** > > Peak hours, weekdays and months. > **[Cross-sell & Bundles](/en/analytics/cross-sell-bundles)** > > Which products sell together, and bundle ideas. **Stock** > **[Reorder Planning](/en/analytics/reorder-planning)** > > What runs out first, based on what sold recently. **Catalog** > **[Data Quality Analytics](/en/analytics/data-quality)** > > Overview, Fix Issues, Field Health and Score Validation. > **[Fix queue](/en/analytics/fix-queue)** > > Catalog problems on the products that sell first. > **[Linguistic Review](/en/analytics/linguistic-review)** > > Translation review: how good your translations are. > **[AI Quality Review](/en/analytics/quality-review)** > > AI review of how good your content is. > **[Content impact](/en/analytics/content-impact)** > > Sales before and after a published change. > **[Category Insights](/en/analytics/category-insights)** > > How each category does. **Traffic & SEO** > **[SEO & Search](/en/analytics/seo)** > > Performance, sitemap coverage, Missing from Sitemap, links and competitors. > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > What visitors do on your site, from Google Analytics 4. > **[Conversions](/en/analytics/conversions)** > > Checkout funnel. Needs a connected traffic source. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > Content Impact in the sidebar: views, carts and sales around enrichment. > **[Product Performance](/en/analytics/product-performance)** > > Product traffic: views and sales per product. > **[Search & Discovery](/en/analytics/search-discovery)** > > Site search: what people search for on your site. > **[Google Shopping](/en/analytics/google-shopping)** > > How your products do in Google Shopping, from Merchant Center. > **[Marketing Attribution](/en/analytics/marketing-attribution)** > > Campaigns: orders that came in with UTM tags attached. > **[Competitor Intelligence](/en/analytics/competitors)** > > See how your catalog compares to rivals on specs, copy, languages and search visibility. **Goals & reports** > **[Targets](/en/analytics/targets)** > > Goals per store and period, with pace. > **[Reports](/en/analytics/reports)** > > Fixed copies of your numbers, shared links and schedules. > **[Custom Dashboards](/en/analytics/custom-dashboards)** > > Build your own analytics dashboards. **Data & setup** > **[Data health](/en/analytics/data-health)** > > Reconciliation, Duplicate orders and Connections. > **[Costs](/en/analytics/costs)** > > Cost coverage, purchase prices, cost files and bol invoices. > **[Unmatched products](/en/analytics/unmatched-products)** > > Link order lines to the right catalog product. > **[Listing history](/en/analytics/listing-history)** > > When a change was saved, exported and seen live. > **[Tracking Health](/en/analytics/tracking-health)** > > How much of your store sales GA4 tracks, and what to fix. > **[Analytics settings](/en/analytics/analytics-settings)** > > Timezone, currencies, exchange rates and report updates. Two more pages are reachable from the reports rather than the sidebar: [Order detail](/en/analytics/order-detail), the receipt view of one order, and [How order numbers work](/en/analytics/how-order-numbers-work), the glossary behind every trust mark. ## Saved views Every analytics report carries a **Saved views** 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. The sidebar calls them **Saved views**. **1. Save the view** Set the filters and date range you want to keep, click **Saved views** and then **Save this view**. Give it a **View name** of up to 80 characters and, optionally, a **Description** that answers "what question or decision does this support?". **2. Choose who can see it** Under **Visibility**, pick **Private to me** or **Everyone in this project**. Only the owner can change visibility later or delete the view; project editors can update a shared one and comment on it. **3. Share the link** Open the view and click **Copy project link**. Recipients have to select this project before the link opens. Private views stay visible to their owner only. Opening a saved view 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 view, so the question keeps being checked every night. A rule can belong to one saved view at a time | > [!NOTE] > > Views 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 starts with three items outside any group, then six groups. You can reorder items by dragging them, and the **Data & setup** group is collapsed by default with a badge for open setup steps. **1. Top level** **Analytics hub** (this page), [**Today**](/en/analytics/today), and [**Needs attention**](/en/analytics/alerts) with its **Alerts**, **Decisions** and **Signals** tabs. **2. Sales** [**Revenue & Sales**](/en/analytics/revenue-sales), [**Orders**](/en/analytics/orders), [**Margin**](/en/analytics/margin), [**Customers**](/en/analytics/customer-insights), [**Time Patterns**](/en/analytics/time-patterns) and [**Cross-sell & Bundles**](/en/analytics/cross-sell-bundles). **3. Stock** [**Reorder planning**](/en/analytics/reorder-planning). **4. Catalog** [**Data quality**](/en/analytics/data-quality) with **Field fixes**, **Field health** and **Score Validation** as their own entries, [**Fix queue**](/en/analytics/fix-queue), [**Translation review**](/en/analytics/linguistic-review), [**AI review**](/en/analytics/quality-review), [**Content impact**](/en/analytics/content-impact) and [**Categories**](/en/analytics/category-insights). **5. Traffic & SEO** [**SEO**](/en/analytics/seo) with **Performance**, **Sitemap Coverage**, **Missing from Sitemap**, **Link Audit**, **Competing pages**, **Link Strength** and **Competitors** nested under it; then [**Traffic**](/en/analytics/traffic-behavior), [**Conversions**](/en/analytics/conversions), [**Content Impact**](/en/analytics/enrichment-impact), [**Product traffic**](/en/analytics/product-performance), [**Site search**](/en/analytics/search-discovery), [**Google Shopping**](/en/analytics/google-shopping), [**Campaigns**](/en/analytics/marketing-attribution) and [**Competitors**](/en/analytics/competitors). **6. Goals & reports** [**Targets**](/en/analytics/targets), [**Reports**](/en/analytics/reports), **Saved views** and [**Custom dashboards**](/en/analytics/custom-dashboards). **7. Data & setup** [**Data health**](/en/analytics/data-health), [**Costs**](/en/analytics/costs), [**Unmatched products**](/en/analytics/unmatched-products), [**Listing history**](/en/analytics/listing-history), [**Tracking Health**](/en/analytics/tracking-health) and [**Analytics settings**](/en/analytics/analytics-settings). The date range you picked travels with you: moving between reports through the sidebar or the report cards keeps the same range, and order pages also carry the stores, currency and measure. Analytics data tables remember their sort order and page per project, so a table opens the way you left it. > [!NOTE] > > Two labels appear twice. **Content impact** under Catalog compares orders before and after a published change; **Content Impact** under Traffic & SEO is the GA4-based Enrichment Impact report. **Competitors** under SEO tracks rival sitemaps; **Competitors** at the end of Traffic & SEO is Competitor Intelligence. ### Retired pages and redirects Several older reports were retired because their numbers had no reviewed definition of sales, costs and currency. Their bookmarks still work and land on the page that replaced them, with the notice **`{old}` moved to `{new}`. Your bookmark still works.** | Old page | Now | | - | - | | Channels | [Orders](/en/analytics/orders), **By store** tab | | Returns & Refunds | [Orders](/en/analytics/orders), **Returns** view | | Gross margin (Profitability) | [Margin](/en/analytics/margin) | | Out-of-stock loss | [Reorder planning](/en/analytics/reorder-planning) | | Strategy | This hub | | Customers (old address) | [Customers](/en/analytics/customer-insights) | | Smart Insights | The **Signals** tab under [Needs attention](/en/analytics/alerts) | | Integration Health | The **Connections** tab under [Data health](/en/analytics/data-health) | | Old GA4 Reports | Scheduled reports under [Notification Settings](/en/settings/notifications) | | Sharing | [Custom Dashboards](/en/analytics/custom-dashboards) | Redirects carry your period, stores, currency and comparison where the new page supports them. Order pages show up to 12 months, so a longer preset is remapped to 12 months. ### Plans Analytics needs the **Growth** plan or higher. Custom dashboards, SEO, competitors and the quality and linguistic reviews need the **Scaling** plan. On a lower plan, an analytics link lands on a locked page with a **Try the live demo** button into the sandbox. > [!TIP] > > 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. Order pages default to the last 30 complete days and accept a window of up to 366 days. > [!WARNING] > > 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. **1. Connect a platform** Go to [Integrations](/en/integrations/supported-platforms) and connect at least one e-commerce platform. **2. Sync your orders** Trigger an order sync from your integration settings to pull in historical data. Progress shows on [Data health](/en/analytics/data-health). **3. Finish the checklist** Work through **Finish setting up order analytics** on this page or on [Today](/en/analytics/today). ## Related > **[Today](/en/analytics/today)** > > The daily landing page: yesterday per store and what needs you. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Trust marks, native currency, complete days and coverage. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Monitor and improve your product data quality scores. > **[Custom Dashboards](/en/analytics/custom-dashboards)** > > Build personalized dashboards with the metrics that matter most to you. # Reorder Planning Source: https://docs.wisepim.com/en/analytics/reorder-planning See what runs out first at the recent sales pace, read a tested forecast per product, check stock per location and work out a reorder quantity. Reorder planning ranks your products by how soon they run out, based on what sold recently and what is in stock. It forecasts expected sales for the next 7, 14 or 28 days, shows stock per store and location, and works out a reorder quantity from your own lead time and safety stock. Nothing is ordered from here. **What this page enables:** restock the right products before they run out, with a forecast that was tested on your own past sales and a suggested quantity you can hand to your supplier. **Where to find it:** open **Analytics**, then click **Reorder planning** under **Stock** in the sidebar. The old **Stock-Out Loss** page redirects here. > [!NOTE] > > Forecasts use complete days only. Days without confirmed history are left out, never counted as zero. Products need an unbroken run of confirmed days before a forecast shows: 84 days for a 7-day look-ahead, 140 for 14 days and 252 for 28 days. ## Reorder list ![The Reorder planning page with the reorder list ranked by days of cover, the expected sales forecasts and the stock table per location](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-planning-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=4c5d1cf7499ea93e9e31bff39b9e2d6a) The list is ranked by **Days of cover** at recent pace. Each row shows **Sold, last 28 days**, **A day** (the daily pace), **Available** stock, the number of locations and a status: | Status | Meaning | | - | - | | **OK** | Cover is longer than lead time plus safety stock | | **Watch** | Cover is getting close to lead time plus safety stock | | **Order now** | Cover is shorter than lead time plus safety stock | | **Out of stock** | Nothing available, with **Out of stock since `{date}` (N days)** and **Sold `{units}` in the 28 days before** | A row can also say **Sibling variants in stock: `{names}`** when other variants of the same product are still available. The chip **Lead time 14 days · safety stock 7 days** sets the thresholds. The note reads "Recommended: 14 + 7 days. Change it to match your suppliers." Click **Customize** to change them. The values live in the page link, so a teammate who opens your link sees the same thresholds. Click **Plan reorder** on a row to open the reorder quantity scenario for that product. ## Expected sales The **Expected sales** table is the forecast per product. Use **Look ahead** to pick 7, 14 or 28 days. Columns: **Sold**, **Days with history**, **Estimated units**, **Likely range** and **Method**. * **Method** is one of **Method: repeats the last complete week.** or **Method: average of the last 28 days, chosen because it tested better on your past sales.** WISEPIM tries both on earlier weeks of your own sales and keeps the one that would have done better. * **Likely range** reads **Likely range: 40 to 65 units. In tests on your past sales, 85% of results fell inside the range.** The range is a guide for planning; real sales can fall outside it. * A product without enough confirmed days shows **Not enough confirmed history to forecast yet.** > [!NOTE] > > The forecast is retested on your own history, not a generic model. If a product's method changes from one week to the next, that is the test picking the better one, not a change in the product. ## Stock The **Stock** table has one row per store and location, as each source reports it: **Product reference in the store**, **Location**, **Source**, **Checked at (UTC)** and the quantities **On hand**, **Reserved**, **Available** and **Incoming, no date**. "Incoming stock has no arrival date, so it isn't counted as available." If you know when a delivery arrives, add it in the reorder scenario instead. ## Reorder quantity The scenario works out a quantity from current stock and your settings. "Nothing is ordered or saved." **1. Pick the stock to use** Under **Stock to use**, pick a matched product, store and stock source. Under **Count stock as**, choose **Available after reservations** or **On hand minus reservations**. **2. Confirm the scope** Tick **This stock covers the same products as the forecast.** The forecast is per product; if the stock record covers a bundle or a different variant set, the quantity would be wrong, so the page refuses to guess. **3. Enter your settings** **Lead time (days)**, **Safety stock (units)**, **Minimum order (units)** and **Pack size (units)**. Under **Deliveries checked up to**, enter the last date you checked incoming deliveries, then use **Add delivery** with **Expected arrival** and **Units** for each one you know about. **4. Calculate** Click **Calculate quantity**. The result reads **Suggested quantity (estimate): 120 units**, with "Calculated `{date}` from recent sales and your settings. We suggest a quantity; you place the order." If you change an input, the page says **Your inputs changed. Calculate again.** ### When the quantity stays empty The suggestion is withheld rather than guessed. The page tells you why: | Reason | What it means | | - | - | | **We have no forecast or stock count for this product.** | The product needs both a forecast and a matched stock record | | **Confirm that this stock covers the same products as the forecast.** | The checkbox in step 2 is not ticked | | **This needs a forecast and every stock setting.** | Lead time, safety stock, minimum order or pack size is missing | | **The lead time is longer than the forecast.** | Pick a longer **Look ahead** or a shorter lead time | | **Stock must be checked within the last 24 hours.** | The stock record is older than a day; sync stock first | | **Incoming deliveries aren't confirmed up to the lead-time date.** | Set **Deliveries checked up to** at or beyond the lead-time date | | **Use a planning period that ends yesterday.** | Today is still running; end the period on the last complete day | | **Not enough confirmed history to forecast yet.** | The product has not reached the number of confirmed days for this look-ahead | > [!WARNING] > > The quantity is an estimate and nothing is sent to a supplier. It is a number to check against your own knowledge of promotions, seasonality and supplier terms, not an order. ## Act on what you find > **A best seller shows Order now** > > Open **Plan reorder**, add the deliveries you already have on the way and calculate. If the suggested quantity is below your pack size or minimum order, the page rounds up to them. Pass the number to your supplier and update **Deliveries checked up to** once the order is confirmed. > **Everything shows Not enough confirmed history** > > Forecasts need an unbroken run of confirmed days. Check [Data health](/en/analytics/data-health) for gaps in the import, and check that the store's history state is confirmed on [Customer Insights](/en/analytics/customer-insights). A store imported recently gets its forecasts as the history fills in. > **The likely range is very wide** > > A wide range means the product sells unevenly. Shorten **Look ahead** to 7 days for a tighter range, and plan with **Safety stock** rather than with the top of the range. > **A product is out of stock but siblings are not** > > **Sibling variants in stock** tells you the product page still converts. Decide whether to restock the variant or steer customers to the siblings in the listing, then check the Movers view in [Orders](/en/analytics/orders) to see where sales went. ## Related > **[Orders](/en/analytics/orders)** > > The sales the pace and forecasts are built from. > **[Today](/en/analytics/today)** > > Out-of-stock products that sold recently show up under Needs you today. > **[Analytics Alerts](/en/analytics/alerts)** > > Rules that watch daily orders and order totals per store. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Complete days, estimated values and why a forecast can be withheld. # Revenue & Sales Source: https://docs.wisepim.com/en/analytics/revenue-sales Sales trends and category performance across your stores, built from imported orders: order totals, orders, average order value, items sold and pace. Revenue & Sales is the quick read on how sales are going. It is built from the orders your stores sent, keeps every store in its own currency, and answers four questions in under a minute: how much came in, how many orders, how big the average order was, and whether the period is on pace. **What this page enables:** you spot a slow week while it is still running, see which store or category carries it, and jump into the exact products behind a number with the **Explore sales** breakdown. **Where to find it:** open **Analytics**, expand the **Sales** group in the sidebar and click **Revenue & Sales**. > [!NOTE] > > Amounts follow the selected report measure. Imported order totals include the amounts supplied by each store; they are not net revenue or collected payments. Missing amounts stay unknown. Stores and native currencies are kept separate. See [How order numbers work](/en/analytics/how-order-numbers-work) for the trust marks used on this page. ## Key metrics | Metric | What it tells you | | - | - | | **Imported order total** | The totals your stores sent for the orders in the period, tax and shipping included, refunds not subtracted. One figure per store and currency | | **Orders** | The number of imported orders | | **Average order value** | Imported total per order | | **Items sold** | Imported product quantities, before returns | | **On pace through `{date}`** | A straight-line estimate of where the period ends, based on N completed days; excludes today | The pace tile is honest about when it cannot project: **Available after 5 completed days.**, **Complete daily history is needed for a projection.**, **Complete daily amounts are needed for a projection.** or **This period has ended.** > [!TIP] > > Read **Average order value** next to **Orders**. Totals growing while orders are flat means bigger baskets; orders climbing while totals are flat means smaller ones. The pair tells you what moved before you open a breakdown. ## Sales per day The **Sales per day** chart draws one line per store, in its own currency. Days without confirmed history show as unknown, never as zero, so a gap in the line is a gap in the import, not a day with no sales. Use **Show exact daily values** for the table behind the chart. With **Compare** on, the chart adds **Compared with the previous period** with **This period**, **Previous period**, **Difference** and **Change (%)**. Today is still running, so a fair comparison stops at yesterday; pick a period that ends yesterday to compare. ## Breakdowns Four breakdowns sit below the chart: | Breakdown | Basis | | - | - | | **Sales by store** | Imported order totals; stores stay separate | | **Product sales by category** | Product sales after discounts, before returns and refunds, with each product counted in one current category | | **Top products** | Product sales after discounts, before returns and refunds | | **Unmatched products** | Order lines that could not be matched to a current product. Link them under [Unmatched products](/en/analytics/unmatched-products) | ## Explore sales ![WISEPIM Explore sales modal breaking product sales down by products, stores and categories with a search box and chart](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-revenue-explore-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=fb0f3c282bc00ffebbff3eab881c1304) Click **Explore sales** to open the breakdown for one store and currency. The subtitle states the basis: the store, the currency, and product sales after discounts, before returns and refunds. * **Breakdown** switches between **Products**, **Stores** and **Categories**. * **Search this breakdown** narrows the rows by name or SKU. * **Show chart** draws the **Top 12 matching results**; **Hide chart** puts the table back. * **Export CSV** downloads the rows with exact values. The table columns are **Products** (or **Stores** or **Categories**), **Product sales** in the store's currency (**Imported order total** when that is the selected report measure), **Orders** and **Items sold**. > [!NOTE] > > The explorer never adds stores with different currencies together. Pick a store and currency in the scope bar first; for a total across stores in one reporting currency, use the reporting card on the [Orders](/en/analytics/orders) page. ## Act on what you find > **Totals are flat while orders are up** > > Baskets are getting smaller. Open **Explore sales** on **Products** and sort by sales: if cheaper products took over the top, that is the cause. Open [Orders](/en/analytics/orders) and the **Promotions** view to check whether a discount code is doing it. > **One store carries most of the sales** > > Compare stores under **Sales by store**, then open the **By store** tab on [Orders](/en/analytics/orders) for each store's own trend. Stores that convert worse usually have thinner content; run [enrichment](/en/essentials/enriching-products) on their best-selling categories first. > **A category is falling** > > Open **Explore sales** on **Categories**, then switch to **Products** and search that category's products to find which ones dropped. Check [Reorder planning](/en/analytics/reorder-planning) before you blame content: an out-of-stock best seller explains most category drops. > **The pace tile says history is needed** > > A day in the period has no confirmed import, so the projection is withheld rather than guessed. Open [Data health](/en/analytics/data-health) and check **History in this period** for the store. > **Unmatched products is not empty** > > Those lines count in order totals but not in product or category sales. Link them under [Unmatched products](/en/analytics/unmatched-products), then run **Update reports** under [Analytics settings](/en/analytics/analytics-settings). ## Related > **[Orders](/en/analytics/orders)** > > Every order by store, with Most sold, Least sold and By store tabs. > **[Margin](/en/analytics/margin)** > > What you keep after product, selling and marketing costs. > **[Category Insights](/en/analytics/category-insights)** > > Sales, orders and quality at the category level. > **[Time Patterns](/en/analytics/time-patterns)** > > Busiest hours, weekdays and months from the same orders. # Smart Insights Source: https://docs.wisepim.com/en/analytics/smart-insights The Signals tab under Needs attention: findings WISEPIM raises on its own about search, SEO and catalog quality, ranked by impact, each with a next step. Smart Insights reads the search, SEO and catalog reports for you and surfaces what actually matters. Instead of checking ten dashboards, you get a single feed of signals, ranked by their impact, each with a clear next step. **Where to find it:** open **Analytics** and click **Needs attention** in the sidebar, then switch to the **Signals** tab. The old sidebar entry is gone; `/analytics/insights` still opens the same tab. > [!NOTE] > > Search and SEO signals show here. Order alerts are under **Alerts** and **Decisions**, the other two tabs of Needs attention. Sales, margin and returns findings that used to appear in this feed were withdrawn when the order analytics were rebuilt; their numbers now live in [Orders](/en/analytics/orders) and [Margin](/en/analytics/margin), and the order-based rules fire under [Alerts](/en/analytics/alerts). > [!NOTE] > > 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. > [!TIP] > > **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 ![WISEPIM smart insights ranked by revenue impact](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-insights-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=478543d29b23dfef9df8923d3c3f19d9) 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 **1. Start at the top** Insights are ranked by impact. The first card is where your attention pays off most. **2. Read the why** Each insight explains the cause, not just the symptom, and lists the products or categories involved. **3. Take the action** Every card links straight to the fix: an enrichment run, a bulk edit, a filtered product view, or the detailed report behind the signal. > [!TIP] > > 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 `{date}`** 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 `{date}`**, **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 > **'Recoverable' total is significant** > > 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. > **Returns spike detected on specific products** > > 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. > **Lapsing customers detected** > > 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. > **A channel shows a quality-gap signal** > > 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. > **SEO keyword opportunity detected** > > 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 > **[Strategy](/en/analytics/strategy)** > > Turn insights into a prioritized list of growth initiatives. > **[Data Quality](/en/analytics/data-quality)** > > The catalog health that powers many of these insights. > **[Returns & Refunds](/en/analytics/returns)** > > See how data quality drives the return rate. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > Measure the revenue lift after you act. # Time Patterns Source: https://docs.wisepim.com/en/analytics/time-patterns See when your orders happen, by hour, weekday and month, per store and currency. Built from imported orders, so every bar is an observed count. Time Patterns shows when your customers buy. It reads the timestamps of the orders WISEPIM imported from your stores and lays them out by hour of day, day of week and month, so you can time campaigns, staffing and heavy catalog jobs around the hours that actually carry orders. **What this page enables:** you land a newsletter an hour before your busiest window instead of guessing, you schedule bulk enrichment and feed exports for the hours with no orders, and you compare stores that sell in different currencies without mixing their money. **Where to find it:** **Analytics > Sales > Time Patterns**. > [!NOTE] > > Every number on this page is an observed count from imported orders. The basis line under the title reads **Imported orders · `{timezone}` reporting time · currencies shown separately**. Nothing is forecast or estimated, and a missing bucket is shown as a dash, not a zero. ![WISEPIM Time Patterns with store-currency hourly and weekday charts, an observed-bucket heatmap and monthly evidence](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-time-patterns-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=471462ee19e0ee8cdf04f929479c73c6) ## Pick a store and a metric Two controls sit above the charts: | Control | Options | What it does | | - | - | - | | **Store and currency** | One entry per store and the currency it sells in | Scopes every chart to that store. Stores are never summed, so a shop selling in EUR and one selling in GBP keep separate charts. | | **Chart metric** | **Orders** or **Imported order total** | **Orders** counts orders per bucket. **Imported order total** sums the amounts each store supplied, in that store's currency. | Use the date picker in the page header to set the period. The page reads up to 366 days; a longer range is refused with a prompt to pick a shorter one. > [!NOTE] > > Imported order totals include the amounts supplied by each store. They are not net revenue or collected payments, and an order whose amounts the platform did not send stays unknown rather than counting as zero. Stores that send order lines without amounts, such as bol, only contribute to **Orders**. ## Read the charts A single line above the charts names the peak: **Busiest observed hour: `{hour}` · `{count}` orders**. It is the hour with the most orders in the selected store and period, nothing more. | Chart | What it shows | Use it to | | - | - | - | | **Hourly pattern** | The selected metric for each of the 24 hours, in the project's reporting time zone. | Find the window to send campaigns, and the quiet hours for bulk jobs. | | **Weekday pattern** | The selected metric for Monday through Sunday. | Decide which days deserve ad budget and support staffing. | | **When orders happen** | A heatmap of day of week by hour of day, built from imported order counts. | Spot a consistent hot band, for example weekday evenings, rather than one busy afternoon. | | **Monthly pattern** | The selected metric per month across the period. | See seasonal swings and whether a month is up or down on the one before. | The chart titles switch with the metric, so you read **Orders · Hourly pattern** or **Imported order total · Hourly pattern** and always know which number you are looking at. > [!TIP] > > Read the heatmap for bands, not single cells. A store whose orders cluster between 19:00 and 22:00 on weekdays needs a different content and campaign schedule than one peaking Saturday midday. A dash in a cell means no order was observed in that bucket; it does not confirm that nothing sold. When the period holds no orders for the selected store, the page says **No time pattern data for this period yet. Try adjusting the date range, or sync more orders to reveal when customers buy.** ## Act on what you find > **One hour clearly leads the hourly pattern** > > Schedule email campaigns and social posts to land 30 to 60 minutes before the busiest observed hour, and make sure feed exports and price syncs finish before it. Set a recurring schedule in [Automations](/en/automations/overview) that completes ahead of the peak. **Outcome:** campaigns reach shoppers when they are already buying, and feed errors never surface in your busiest window. > **A stretch of hours shows no orders at all** > > That is your maintenance window. Queue bulk enrichment, imports and image processing from [Managing Your Products](/en/essentials/managing-products) to run in those hours so they never compete with live traffic. **Outcome:** heavy jobs finish faster and shoppers never notice them. > **Weekdays and weekends differ sharply in the weekday pattern** > > When weekdays carry the orders, use weekends for content updates and re-enrichment. When weekends lead, get content and feeds ready before Friday and avoid big changes until Monday. **Outcome:** changes land when the fewest customers are affected. > **Two stores peak at different hours** > > Switch **Store and currency** between them and compare the hourly patterns. Stores in different markets often sit hours apart. Schedule per-store campaigns and syncs separately instead of one global slot. **Outcome:** each store gets its own timing rather than a compromise that fits neither. > **The monthly pattern shows a month falling behind** > > Open [Revenue & Sales](/en/analytics/revenue-sales) for the same store and period to see which products and categories dropped, then check [Orders](/en/analytics/orders) for the week-over-week movers. **Outcome:** you know whether the dip is seasonal or a product problem before the next month closes. ## Related > **[Revenue & Sales](/en/analytics/revenue-sales)** > > Sales per day, by store and by category, from the same imported orders. > **[Orders](/en/analytics/orders)** > > Every imported order, with movers, baskets, returns and promotions. > **[Cross-sell & Bundles](/en/analytics/cross-sell-bundles)** > > Which products land in the same basket, per store. > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > Compare when visitors arrive with when orders happen. # Today Source: https://docs.wisepim.com/en/analytics/today Start your day with yesterday per store, the setup steps still open, and the handful of things that need you, then jump straight to the right report. Today is the daily landing page for order analytics. It shows yesterday's orders for every store, what still needs setting up, and up to five things that need you right now. Each item links to the report where you deal with it. **What this page enables:** one glance in the morning instead of opening six reports. You see which store moved, what is blocked, what ran out and which connection went quiet, and you go there in one click. **Where to find it:** open **Analytics** and click **Today** at the top of the sidebar, right under **Analytics hub**. > [!NOTE] > > You need at least one connected store with imported orders. Before that, the page shows **Connect a store and we'll show your orders here.** While the first import runs, it shows **We're importing your orders.** with a running count per store. ## Yesterday per store ![The Today page with one tile per store for the last complete day, the setup checklist and the Needs you today list](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/analytics-today-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=f97aee4b0448cae241b2f24427264501) The first section is titled **Last complete UTC day** with the date. Each store gets a tile with its order total in the store's own currency, the number of orders, a sparkline and a delta **vs `{weekday}` last week (UTC calendar)**. With more than four stores, the rest fold behind **+N more stores**. Two rules apply to these tiles: * The day is picked on the UTC calendar, but the totals use days in your analytics timezone. The note under the heading spells it out: **Date selected by the UTC calendar. Totals use `{timezone}` days.** * Money stays in each store's currency. Nothing is added up across stores, and nothing is converted here. bol stores show order counts only, with the mark **No amounts from bol**. bol sends order lines but no confirmed order total or currency, so bol orders stay out of money totals everywhere in order analytics. > [!NOTE] > > The comparison with last week only shows when both days are closed and their history is confirmed. If a store's history for one of those days is not confirmed, the tile shows a reason instead of a number. Nothing here is ever shown as zero when it is really unknown. ## Finish setting up order analytics Until every step is done, a checklist card sits under the store tiles with a counter such as **3 of 6 done**. Each step says why it matters and offers a button. | Step | Why it matters | Button | | - | - | - | | **Confirm reporting basics** | "Your timezone sets where a day starts. Without currencies we can't show margin." | **Use recommended** or **Customize** | | **Orders imported** | Shows how many of your stores have synced | **Open Data health** | | **Add product costs** | Products sold with no recorded cost keep margin unknown | **Import purchase prices** or **Add cost prices** | | **Exchange rates for `{currency}`** | Order days in a foreign currency need a rate before they can be converted | **Add rates** | | **Match order lines to products** | Order lines that are not linked to a product are left out of product reports | **Review** | | **Import payment and carrier fees** (marked **Optional**) | "Fees turn margin after product costs into margin after selling costs." | **Import fees** | Click **Hide for now** to tuck the card away. It comes back while steps are still open. > [!TIP] > > Do the first step before anything else. Timezone and currencies decide where an order day starts and which stores can be added up, and every other report inherits that choice. ## Needs you today This section lists at most five cards, with **See all in Needs attention** to open the full feed. The cards come from your alert decisions, the fix queue, stock-outs, refund outliers, weekly movers, targets and stores that have gone quiet. Each one is a sentence plus a button: | What you might see | Button | Where it takes you | | - | - | - | | **12 blocked products sold in the last 30 complete days (48 orders).** | **Fix them** | [Fix queue](/en/analytics/fix-queue), sorted so the products that sell come first | | **Noordkust NL: product sales +18% vs the week before, on 140 orders.** | **See what moved** | The Movers view in [Orders](/en/analytics/orders) | | **Linen shirt is out of stock. It sold 31 in the 28 days before.** | **Plan reorder** | [Reorder Planning](/en/analytics/reorder-planning) | | **Linen shirt: 6 of 20 orders refunded (30%). Your store averages 4%.** | **See refunds** | The Returns view in [Orders](/en/analytics/orders) | | **Noordkust NL hasn't sent new orders since Monday.** | **Check the connection** | [Data health](/en/analytics/data-health) | | **October target is behind pace by 2,400.** | **Open target** | [Targets](/en/analytics/targets) | When there is nothing to do, the section says **Nothing needs you right now.** and **We check again after the next import.** ## Jump to Six tiles link to the main order reports, each named after the question it answers: * **Every order, by store** opens [Orders](/en/analytics/orders). * **Stores, products, promotions and returns** opens the Orders report views. * **What you keep after costs** opens [Margin](/en/analytics/margin). * **Who comes back** opens [Customer Insights](/en/analytics/customer-insights). * **What runs out first** opens [Reorder Planning](/en/analytics/reorder-planning). * **Catalog problems on products that sell** opens [Fix queue](/en/analytics/fix-queue). Under the tiles, **Catalog completeness `{score}`/100** with **Improve completeness** links to [Data Quality Analytics](/en/analytics/data-quality). ## About the old reports A collapsed section at the bottom explains what happened to the retired pages: "Revenue, Gross margin, Returns and Channels were retired. Their numbers had no reviewed definition of sales, costs and currency. Everything they showed now lives in Orders and Margin." See [How Order Numbers Work](/en/analytics/how-order-numbers-work) for what changed in the numbers themselves. ## Act on what you find > **A store tile shows a count but no amount** > > If the store is bol, that is expected: bol does not send order totals, so you see **No amounts from bol**. For any other platform, open the order list in [Orders](/en/analytics/orders) and check the **Amount source** on a few orders. Orders that arrived without a total or without a confirmed currency are kept out of money totals rather than counted as zero. > **The delta against last week is missing** > > The comparison needs both days to be complete with confirmed history. A store that synced late, or a day with a gap in the import, shows a reason instead. Open [Data health](/en/analytics/data-health) from the setup card to see which days are not confirmed. > **The setup card keeps coming back after you hid it** > > **Hide for now** only hides it for a while. It returns as long as steps are open. Finish the steps, or leave only the optional fee import open, and the card goes away on its own. > **A store hasn't sent new orders for days** > > Click **Check the connection**. The Connections tab under [Data health](/en/analytics/data-health) shows the last sync, the last successful import and whether the connection still tests OK. Fix the connection first; the orders catch up on the next import. ## Related > **[Orders](/en/analytics/orders)** > > Every synced order, by store, product, promotion, basket and return. > **[Analytics Alerts](/en/analytics/alerts)** > > The full Needs attention feed, with alerts, decisions and signals. > **[Margin](/en/analytics/margin)** > > What you keep after product, selling and marketing costs, per store. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Trust marks, native currency, complete days and coverage, explained once. # Bulk Editing Source: https://docs.wisepim.com/en/essentials/bulk-editing Change prices, text, categories, families and stock across thousands of products. See what will happen before you apply, then undo a run from the history. ![Bulk edit, step 1 of 2: choose an action, with search and the action groups Text, Categories, Pricing, Inventory, Fields, Status and Delete](https://mintcdn.com/swiftsyncai/5wIUMdLHCHxzwx8X/images/marketing-screenshots/products/products-bulk-edit-modal-light-transparent.webp?fit=max\&auto=format\&n=5wIUMdLHCHxzwx8X\&q=85\&s=3b99ea622fa98fa3392d88d403a8a252) Editing products one by one wastes hours. Bulk editing lets you select many products and apply one change to all of them. You pick an action, set it up, see exactly what will change, and apply. ## Apply a bulk action **1. Select your products** Check individual products, or use filters and select all matching results, even products on other pages. **2. Open Bulk edit** Click **Edit** on the selection bar, or press `⌘E` (`Ctrl+E` on Windows). The arrow next to **Edit** lists your **Recent** actions and **All actions…**. **3. Step 1 of 2: Choose an action** Search for an action, for example price, brand or weight, or browse the groups: **Text**, **Families, categories & variants**, **Pricing**, **Inventory and shipping**, **Fields and attributes**, **Status and channels** and **Delete**. **Suggested for these products** offers actions that fit your current filter. **4. Step 2 of 2: Configure** Set the options. The **What will happen** column next to them updates as you go. **5. Apply** Apply the edit. Large runs continue in the background, and the result shows what changed. > [!NOTE] > > Bulk edits don't use AI credits. For AI writing or translation, the action list points you to **Enrich with AI** instead. ## What will happen Before you apply anything, **What will happen** runs the edit as a dry run on your products. Nothing is saved until you apply. * **The count**: for example "180 of 240 will change", with how many already match and how many are skipped. **Exact count** means every selected product was counted. **Estimate** means it was counted on the first products of a large selection. * **Examples**: products from a sample, each with its value before and after. Price edits also show the price range before and after. * **Skipped products**: grouped by reason, with **Show these products**. * **Where this lands**: which channels get the change at their next sync, products excluded from a shop's sync, products Quality Guard blocks from export, and warnings when an import, export, enrichment or another bulk edit is running in the project. **Recalculate Data Quality** and **Shop sync** have no dry run. > [!NOTE] > > If the products matching your selection change between the preview and apply, nothing is changed. Check the selection and confirm again. Actions that can't be undone, such as deleting products, are marked **Can't be undone**. You confirm them with **Confirm: can't be undone**. ## After a run The result shows how many products changed, were skipped or failed, and why products were skipped. From there: * **Show changed products** filters the product list to what this run changed. * **Undo** restores the products this run changed. * **Run again** opens the same action with the same settings for the products you have selected now. ## Undo and history **See past bulk edits** in the bulk edit footer, or the **History** page action on the Products page, opens the history of every bulk edit and bulk delete in the project: what it did, when, who ran it, and how many products changed, were skipped or failed. Undo a run there with one click, or open it in the [Process Tracker](/en/other-features/process-tracker). Bulk edits are recorded in product history on every plan. How long you can undo depends on your plan: > [!NOTE] > > | Plan | Undo window | > | - | - | > | Free | 1 day | > | Starter | 7 days | > | Growth | 14 days | > | Business | 30 days | > | Pro | 30 days | > | Enterprise | 90 days | Some runs can't be undone: * **Delete Products**: deleted products can't be restored on any plan. * **Shop sync**: shop sync settings aren't part of product history. * **Runs on more than 5,000 products**: they aren't recorded in product history. Select fewer products to keep undo available. * **Products edited since the run**: undo never overwrites a later edit. When products changed since the run, it can't be undone as a group. An undo restores values inside WISEPIM. It doesn't fire "Product updated" automations. ## Available actions WISEPIM ships with 34 bulk actions, in the same groups as the **Bulk edit** dialog. Open any card for full details. ### Text > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Replace words in names, descriptions, SEO fields or attributes. > **[Standardize Text Case](/en/essentials/bulk-editing/standardize-case)** > > Title Case, UPPERCASE, lowercase or Sentence case across one or more fields. > **[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace)** > > Remove spaces at the start and end of text, and double spaces if you like. > **[Append/Prepend Text](/en/essentials/bulk-editing/append-prepend)** > > Add a prefix or suffix, such as a brand or size, to text fields. > **[Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary)** > > Replace terms with your dictionary's preferred wording. > **[Remove Links](/en/essentials/bulk-editing/remove-links)** > > Remove all, internal or external links from descriptions. ![Bulk editing, Find and Replace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=4be9d8602b6e21027161bd6657609518) ### Families, categories & variants > **[Assign Product Family](/en/essentials/bulk-editing/assign-family)** > > Assign or clear a family for selected products, keeping their attribute values. > **[Assign to Categories](/en/essentials/bulk-editing/assign-categories)** > > Add products to categories and keep their current ones. > **[Remove Categories](/en/essentials/bulk-editing/remove-categories)** > > Take products out of the categories you choose. > **[Replace All Categories](/en/essentials/bulk-editing/replace-categories)** > > Replace every category with the ones you choose. > **[Set Primary Category](/en/essentials/bulk-editing/set-primary-category)** > > Mark one of each product's categories as primary. > **[Group as Variants](/en/essentials/bulk-editing/group-as-variants)** > > Make the selected products variants of one parent. ### Pricing > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Raise or lower prices by a percentage or a fixed amount. > **[Set Special Price](/en/essentials/bulk-editing/special-price)** > > Add a fixed sale price, with optional start and end dates. > **[Apply Volume Discounts](/en/essentials/bulk-editing/volume-discounts)** > > Add or remove quantity discount rules. > **[Update Cost/Margins](/en/essentials/bulk-editing/cost-margins)** > > Set cost prices and calculate profit margins. ### Inventory and shipping > **[Update Stock](/en/essentials/bulk-editing/update-stock)** > > Set an exact stock quantity, or add to and subtract from current stock. > **[Set Stock Status](/en/essentials/bulk-editing/stock-status)** > > Mark products as in stock, out of stock, or on backorder. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > Set product weight for shipping calculations. > **[Set Dimensions](/en/essentials/bulk-editing/set-dimensions)** > > Update length, width, and height for your products. > **[Shipping Settings](/en/essentials/bulk-editing/shipping-settings)** > > Update HS codes, country of origin, and shipping flags. ### Fields and attributes > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Set any default product field to a specific value, or use a formula. > **[Set Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > Set a specific value for any product attribute across your selection. > **[Clear Attribute Values](/en/essentials/bulk-editing/clear-attribute)** > > Remove values from specific product attributes. > **[Copy Field Values](/en/essentials/bulk-editing/copy-field-values)** > > Copy values from one field into another and keep the original. > **[Move Field Values](/en/essentials/bulk-editing/move-field-values)** > > Move values from one field to another and clear the source field. > **[Numeric Operations](/en/essentials/bulk-editing/numeric-operations)** > > Add, subtract, multiply, divide, or set a minimum or maximum on numeric attributes. > **[Convert Numbers](/en/essentials/bulk-editing/convert-numbers)** > > Round, truncate, or do math on built-in numbers like price, weight, and stock. > **[Change Unit of Measure](/en/essentials/bulk-editing/change-uom)** > > Change units across products, with optional value conversion. ### Status and channels > **[Update Status](/en/essentials/bulk-editing/update-status)** > > Set the review stage of products. > **[Change Visibility](/en/essentials/bulk-editing/change-visibility)** > > Show or hide products on your storefront and connected channels. > **[Shop sync](/en/essentials/bulk-editing/set-shop-sync)** > > Switch product sync on or off per connected shop across a whole selection. > **[Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality)** > > Recalculate quality scores, completeness, and recommendations for your selection. ### Delete > **[Delete Products](/en/essentials/bulk-editing/delete-products)** > > Permanently delete selected products and their variants. You type the number of products to confirm. > [!WARNING] > > Deleted products can't be restored on any plan. If you might need the data later, export it first. ## Tips for safe bulk edits * **Read What will happen.** Check the count and the examples before you apply, especially on a large selection. * **Filter first.** Narrow your product list with filters before you run an action, so you only change the products you mean to. * **Stay under 5,000 products** when you want to be able to undo the run. * **Watch the progress.** Large operations run in the background. Track them in the [Process Tracker](/en/other-features/process-tracker). ## Related > **[Managing Your Products](/en/essentials/managing-products)** > > Filter, sort, and select products before you bulk edit them. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Use AI to fill in titles, descriptions, and attributes at scale. > **[Importing Products](/en/essentials/importing-products)** > > Bring products into WISEPIM from a file or an integration. > **[Process Tracker](/en/other-features/process-tracker)** > > Monitor background jobs and check the status of large bulk edits. > **[Clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog)** > > 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 ![Bulk editing, Append/Prepend Text across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-append-prepend-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=a83765565a6e0f8e9dbc78b729a8ee80) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Append/Prepend Text** Click **Edit** on the selection bar, then pick **Add text before or after** under **Text**. You can also search for it. **3. Choose prepend or append** Pick **beginning** (prepend) or **end** (append) of the field. **4. Enter your text** Type the text to add. Add variables for values that change per product. **5. Choose target fields and apply** 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 | > [!NOTE] > > Define your own global, brand, and category variables in [Content Logic](/en/workflows/content-logic), then reference them here. ## Examples > **Retail and e-commerce** > > **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. > **B2B and wholesale** > > **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. > [!TIP] > > Combine static text with variables. For example, append `\n\nPart of the {{brand.tagline}} collection` to every description. ## Related > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Swap text inside existing fields, not just at the start or end. > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Overwrite a field with a fixed value across products. > **[Content Logic](/en/workflows/content-logic)** > > Build the global, brand, and category variables you use here. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Assign to Categories across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-assign-categories-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=13c247e5087834466475055538d1d267) **1. Select products** Check the products you want to categorize. Or use filters and select all matching results. **2. Open Bulk Edit and choose Assign to Categories** Click **Edit** on the selection bar, then pick **Add to categories** under **Families, categories & variants**. You can also search for it. **3. Pick categories** Use the category tree to select one or more categories. Parent categories are selected for you by default. **4. Adjust options and apply** 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 > **[Remove Categories](/en/essentials/bulk-editing/remove-categories)** > > Take products out of specific categories in bulk. > **[Replace All Categories](/en/essentials/bulk-editing/replace-categories)** > > Clear current categories and set new ones in one step. > **[Set Primary Category](/en/essentials/bulk-editing/set-primary-category)** > > Choose which category is the main one for each product. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Browse every bulk action available in WISEPIM. # Assign Product Family Source: https://docs.wisepim.com/en/essentials/bulk-editing/assign-family Assign or clear the product family of up to 500 selected products at once. Preview the attributes each product gains, and keep every value it already has. Give a batch of products the same product family in one pass, or clear the family they have. The family decides which attributes a product shows, so this is how you bring a group of products in line with the attributes they should carry. **What this page enables:** move up to 500 products into the right family at once, and see beforehand which attributes each one gains. **Where to find it:** on the Products page, select products, click **Edit**, then **Assign product family** in the **Families, categories & variants** group. ## Assign a family ![Assign product family, step 2 of 2, with the Bottoms family chosen and a preview of three products moving to it, each with 2 attributes added and 0 values kept outside scope](https://mintcdn.com/swiftsyncai/jKFBWM6Z7ItLdK2p/images/marketing-screenshots/products/products-bulk-edit-assign-family-light-transparent.webp?fit=max\&auto=format\&n=jKFBWM6Z7ItLdK2p\&q=85\&s=2bd29542d08b6d5e772620ec85080f89) **1. Select products** Check the products one by one, up to 500. A selection of all filtered products doesn't work for this action. **2. Open Bulk edit and choose Assign product family** Click **Edit** on the selection bar, then **Assign product family** under **Families, categories & variants**. **3. Choose the product family** Pick a family under **Product family**, or choose **Clear assigned family** to remove the family the products have. **4. Check the preview** The preview lists each product with its family before and after, and "2 attributes added · 0 values kept outside scope". Click **Refresh preview** if you changed something in between. **5. Apply** Click **Apply to 3 products**. WISEPIM confirms "Family updated for 3 products." and links to **Review change history**. ## What happens to attribute values Existing attribute values stay stored, including values outside the new family. When a product moves to a family without an attribute it has a value for, that value is kept and counted as a value kept outside scope. Move the product back, or add the attribute to the family, and the value shows again. The attributes the new family brings arrive empty, ready for you, an import or [AI](/en/ai/attributes) to fill. > [!NOTE] > > | Limit | Value | > | - | - | > | Products per run | Up to 500, selected one by one | > | Credits | None | > | Undo | From the change history, within your plan's undo window | ## Act on what you find > **The action says to select up to 500 individual products** > > You selected all filtered products, or more than 500. Narrow your filter, check the products yourself and open the action again. > **Many values are kept outside scope** > > The products have values for attributes the new family doesn't have. Check whether the family is the right one, or add those attributes to it on the [Product Families](/en/products/product-families) page. > **You assigned the wrong family** > > Open **Review change history** and undo the run. Values are restored for products nobody edited since. > **Many products have no family at all** > > Let WISEPIM suggest families from your products with guided setup on the [Catalog Structure](/en/products/catalog-structure) page. ## Related > **[Product Families](/en/products/product-families)** > > Create families and decide which attributes they carry. > **[Catalog Structure](/en/products/catalog-structure)** > > See how families, categories and attributes fit together. > **[Group as Variants](/en/essentials/bulk-editing/group-as-variants)** > > Make the selected products variants of one parent. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Every bulk action, the dry run and undo. # 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 amount, then add limits 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 ![Bulk editing, Change Price across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-change-price-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=6e9ae8704001772cfae848f445c2ced1) **1. Select products** Check the products you want to reprice. Or use filters and select all matching results. **2. Open Bulk Edit and choose Change Price** Click **Edit** on the selection bar, then pick **Change price** under **Pricing**. You can also search for it. **3. Set the price change** Under **Price change**, choose the **Direction** and **Change by** **Percentage** or **Amount**, for example **Increase prices by** 10%. **4. Set limits and options** Optionally set a **Lowest price** and **Highest price** under **Price limits**, round prices, and choose whether to change cost prices too. **5. Check What will happen and apply** The dry run shows example products, the price range before and after, and how many prices stop at a limit or are skipped. Then apply. ## Options | Option | What it does | Default | | - | - | - | | **Direction** | Increase or decrease prices | None | | **Change by** | **Percentage** or **Amount** | None | | **Lowest price** | A decrease stops at this price | None | | **Highest price** | An increase stops at this price. Leave it empty for no limit | None | | **Round to the nearest €0.05** | Rounds the new price for cleaner pricing | Off | | **Also change cost prices by the same ratio** | Costs move by the same ratio as the price. Products without a cost keep an empty cost | Off | ## How limits work WISEPIM changes the price first, then rounds it, then applies the limits. * The highest price only stops increases, and the lowest price only stops decreases. * A product already past the limit in the direction of the change keeps its price and is listed as skipped. * A bulk price change never sets a price of 0 or below. A decrease of 100% or more is refused, and so is a limit of 0 or below. A price that would end at 0 or below is refused, so set a lowest price. * A product whose special price would no longer be below the new price keeps its price and is listed as skipped. ## Tips * Read **What will happen** before you apply. It shows the change on your own products. * Set a **Lowest price** when applying discounts. This stops prices from dropping below your cost. * Turn on **Also change cost prices by the same ratio** for catalog-wide changes. This keeps your margin calculations accurate. ## Related > **[Update Cost/Margins](/en/essentials/bulk-editing/cost-margins)** > > Set cost prices or hit a target margin across products. > **[Set Special Price](/en/essentials/bulk-editing/special-price)** > > Apply a sale price with an optional start and end date. > **[Apply Volume Discounts](/en/essentials/bulk-editing/volume-discounts)** > > Add tiered pricing based on quantity. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Change Unit of Measure across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-change-uom-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=122bda896c173b52f5acfae23df23648) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Change Unit of Measure** Click **Edit** on the selection bar, then pick **Change unit** under **Fields and attributes**. You can also search for it. **3. Select the UOM code set** Choose the code set that holds the units you want to convert between. Each one shows its category and unit count. **4. Choose source and target units** Set the **From** unit (current) and the **To** unit (target). **5. Choose a conversion mode and apply** 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) > [!NOTE] > > A value stored without a unit is read as the attribute's default unit. ## 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 Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > Set a fixed value on a custom attribute across products. > **[Numeric Operations](/en/essentials/bulk-editing/numeric-operations)** > > Add, subtract, multiply, or divide numeric fields in bulk. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > Set or adjust product weights across the catalog. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. ![Bulk editing - Change Visibility across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-change-visibility-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=2e0996100bc89edd9baebe72e85ed76a) 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 **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Change Visibility** Click **Edit** on the selection bar, then pick **Show or hide** under **Status and channels**. You can also search for it. **3. Pick visible or hidden** Choose whether the selected products should be shown or hidden. **4. Apply** 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **[Update Status](/en/essentials/bulk-editing/update-status)** > > Set the review status of products to Ready, Pending, or Needs Review. > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Set any default product field to a specific value or formula. > **[Exporting Products](/en/essentials/exporting-products)** > > Push your catalog to connected platforms and files. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!WARNING] > > You can undo a run of up to 5,000 products from the bulk edit history, within your plan's undo window (see [Bulk Editing](/en/essentials/bulk-editing#undo-and-history)). Larger runs can't be undone, so turn on **Create backup of cleared values** before clearing many attributes at once. ## Clear attribute values ![Bulk editing, Clear Attribute Values across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-clear-attribute-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=9718a590aeacdf21a6a42fe010d50a86) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Clear Attribute Values** Click **Edit** on the selection bar, then pick **Clear attribute values** under **Fields and attributes**. You can also search for it. **3. Choose a clear mode** Decide whether to clear specific attributes, all custom attributes, or attributes by product family. **4. Select attributes** If you chose specific attributes, pick which ones to clear. **5. Confirm and apply** 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 > **[Set Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > Fill an attribute with a fixed value instead of clearing it. > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Fix bad values in place instead of wiping them. > **[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace)** > > Clean up stray spaces left over from imports. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!NOTE] > > 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 ![Bulk editing, Convert Numbers across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-convert-numbers-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=c3b98217ba07ec642519d56e625c29a9) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Convert Numbers** Click **Edit** on the selection bar, then pick **Round or scale numbers** under **Fields and attributes**. You can also search for it. **3. Pick the numeric 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. **4. Choose an operation** Pick how to transform the values, then enter any decimals or amount the operation needs. **5. Check the preview and apply** 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 | > [!WARNING] > > 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. > [!NOTE] > > A value stored without a unit is read as the attribute's default unit. ## 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. > [!TIP] > > 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 > **[Numeric Operations](/en/essentials/bulk-editing/numeric-operations)** > > Run math on a single custom numeric attribute. > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Adjust prices by percentage or fixed amount with price guards. > **[Change Unit of Measure](/en/essentials/bulk-editing/change-uom)** > > Switch units with the conversion factor worked out for you. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Copy Field Values across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-copy-field-values-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=4d80bdd6176654829da61efe5457c7d9) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Copy Field Values** Click **Edit** on the selection bar, then pick **Copy field values** under **Fields and attributes**. You can also search for it. **3. Pick the source field** Choose the field to copy from. This is the field whose values get read. **4. Pick the target field** Choose the field to copy into. WISEPIM shows whether the two fields are compatible and how values will convert. **5. Set options and apply** 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. > [!NOTE] > > A translatable attribute is read and written in your project's primary language only. Translations stay as they are. When the attribute has a unit, new values get the attribute's default unit. ## 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **[Move Field Values](/en/essentials/bulk-editing/move-field-values)** > > Transfer values and clear the source field. > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Set a default product field to a specific value or formula. > **[Set Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > Set a fixed value on a custom attribute across products. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Update Cost/Margins across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/5wIUMdLHCHxzwx8X/images/marketing-screenshots/products/products-bulk-edit-cost-margins-light-transparent.webp?fit=max\&auto=format\&n=5wIUMdLHCHxzwx8X\&q=85\&s=920ef80dfa4948cdd7184e25f1b533d4) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Update Cost/Margins** Click **Edit** on the selection bar, then pick **Update cost price** under **Pricing**. You can also search for it. **3. Choose an update mode** Pick how to calculate costs: direct update, target margin, or markup percentage. **4. Enter your values** Set the amount, percentage, or target for the mode you chose. **5. Configure options and apply** 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 | ## Which products are skipped Products the run can't update are listed as skipped in the Process Tracker: * **Set target margin** and **Apply markup** skip products without a selling price. * A percentage change, or decreasing by a fixed amount, skips products without a cost price. * A margin of 100% or more is refused. * A change smaller than half a cent never turns a cost into 0.00. > [!NOTE] > > **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 > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Adjust selling prices by a percentage or fixed amount. > **[Set Special Price](/en/essentials/bulk-editing/special-price)** > > Apply a sale price with an optional start and end date. > **[Apply Volume Discounts](/en/essentials/bulk-editing/volume-discounts)** > > Add tiered pricing based on quantity. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Browse every bulk action available in WISEPIM. # Delete Products Source: https://docs.wisepim.com/en/essentials/bulk-editing/delete-products Permanently delete many products and their variants at once. You type the number of products to confirm, and deleted products cannot be restored. ![Bulk editing, the Delete Products confirmation with the product count in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-delete-products-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=b51e683b78e5a2462dfa196b7b56053e) Remove many products from your catalog in one action. Use this to clear out discontinued lines, test data, or duplicates after a messy import. > [!WARNING] > > Deleted products can't be restored on any plan. Undo in the bulk edit history doesn't cover deletes. If there's any chance you'll need the data later, [export your products](/en/essentials/exporting-products) first. ## Delete products in bulk **1. Select products** Check the products you want to delete, or use filters and select all matching results. **2. Open Bulk Edit and choose Delete Products** Click **Edit** on the selection bar, then pick **Delete products** under **Delete**. You can also search for it. **3. Check What will be deleted** The count includes the variants of every parent you selected, for example "3 selected + 12 variants = 15 products". **4. Type the number and confirm** Type the total under **Type 15 to confirm**, then click **Delete 15 products**. ## What gets deleted Deleting a parent product also deletes its variants. For every product, the delete removes: * The product record and all its field values * Custom attribute values * Category assignments * Pricing and inventory data Products in WISEPIM are deleted, not the copies in your shop. Products you already exported stay in the shop until you remove them there. > [!NOTE] > > | Selection size | What happens | > | - | - | > | Up to 200 products, variants included | Deleted right away | > | More than 200 products | Deleted in the background. Follow it in the [Process Tracker](/en/other-features/process-tracker). | The delete is refused when the active project changed in another tab since you opened it. Open it again from the right project. ## Who can delete Owners, admins and editors can delete products. A custom role needs the permission to delete products, and the bulk edit permission for a bulk delete. See [Team Management](/en/teams/team-management). ## 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, and check the count in **What will be deleted** before you type it. * Want to take products off your storefront without losing them? Hide them with [Change Visibility](/en/essentials/bulk-editing/change-visibility) instead. ## Related > **[Exporting Products](/en/essentials/exporting-products)** > > Back up your data before deleting anything. > **[Change Visibility](/en/essentials/bulk-editing/change-visibility)** > > Hide products instead of deleting them. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Every bulk action, the dry run and undo. # 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 ![Bulk editing, Enforce Dictionary across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=06ebe2d860ede38bf89a0380d289578d) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Enforce Dictionary** Click **Edit** on the selection bar, then pick **Apply dictionary** under **Text**. You can also search for it. **3. Review your dictionary entries** 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. **4. Choose your target fields** Pick which fields to scan: product name, descriptions, SEO fields, identifiers, custom text attributes, and any translated fields per language. **5. Set matching options and apply** 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Replace a single phrase across many products at once. > **[Standardize Text Case](/en/essentials/bulk-editing/standardize-case)** > > Fix inconsistent capitalization across text fields. > **[Remove Links](/en/essentials/bulk-editing/remove-links)** > > Strip hyperlinks from product content in bulk. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Find and Replace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=4be9d8602b6e21027161bd6657609518) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Find and Replace** Click **Edit** on the selection bar, then pick **Find and replace** under **Text**. You can also search for it. **3. Enter your search and replacement text** Type the text you want to find, and what to replace it with. Leave the replacement empty to simply remove the found text. **4. Choose your target fields** Select which fields to search: product name, description, enriched description, SEO fields, SKU, EAN, UPC, MPN, brand, supplier, or custom text attributes. **5. Configure matching options and apply** 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. > [!TIP] > > 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 > **[Content Logic](/en/workflows/content-logic)** > > Define the variables you can drop into replacements. > **[Standardize Text Case](/en/essentials/bulk-editing/standardize-case)** > > Fix inconsistent capitalization across text fields. > **[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace)** > > Remove stray spaces left over from imports. > **[Append/Prepend Text](/en/essentials/bulk-editing/append-prepend)** > > 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. ![Bulk editing - Group as Variants across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/5wIUMdLHCHxzwx8X/images/marketing-screenshots/products/products-bulk-edit-group-as-variants-light-transparent.webp?fit=max\&auto=format\&n=5wIUMdLHCHxzwx8X\&q=85\&s=ea7376f225e5336130b0c61678a16254) 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 **1. Select the products** 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. **2. Open Bulk Edit and choose Group as Variants** Click **Edit** on the selection bar, then pick **Group as variants** under **Families, categories & variants**. You can also search for it. **3. Pick the parent product** 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. **4. Apply** Click **Apply Changes**. The selected products become variants of the parent, and a toast confirms how many were grouped. > [!WARNING] > > 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. > [!NOTE] > > 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **[Product Families](/en/products/product-families)** > > Define the attributes and variant axes that structure your products. > **[Editing Products](/en/products/editing-products)** > > Link variants, bundles, and related products on a single product. > **[Filtering & Searching Products](/en/products/filtering-products)** > > Find parents and variants with the Has Variants and Is Variant filters. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!WARNING] > > 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 ![Bulk editing, Move Field Values across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-move-field-values-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=ba40186efe70396dcdbfe19889a8020f) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Move Field Values** Click **Edit** on the selection bar, then pick **Move field values** under **Fields and attributes**. You can also search for it. **3. Pick the source field** Choose the field to move from. This field will be cleared after the move. **4. Pick the target field** Choose the field to move into. WISEPIM shows whether the two fields are compatible and how values will convert. **5. Set options and apply** 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. > [!NOTE] > > A translatable attribute is read and written in your project's primary language only. Translations stay as they are: a move empties the source field in the primary language only. When the attribute has a unit, new values get the attribute's default unit. ## 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. > [!TIP] > > 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 > **[Copy Field Values](/en/essentials/bulk-editing/copy-field-values)** > > Transfer values and keep the source field unchanged. > **[Clear Attribute Values](/en/essentials/bulk-editing/clear-attribute)** > > Remove values from specific product attributes. > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Set a default product field to a specific value or formula. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Numeric Operations across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-numeric-operations-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=fecae82f72ad5d26008671628b66d1e3) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Numeric Operations** Click **Edit** on the selection bar, then pick **Calculate attribute values** under **Fields and attributes**. You can also search for it. **3. Select the numeric attribute** Choose from your numeric, decimal, or integer custom attributes. **4. Pick the operation and value** Select the math operation and enter the operand value. **5. Configure options and apply** 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. Off: a missing value counts as 0, and the product gets a value | 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 > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Adjust prices in bulk with percentage or fixed changes. > **[Set Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > 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 ![Bulk editing, Recalculate Data Quality across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-recalculate-quality-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=ef0c47991500a0339815904c4454123e) **1. Select products** Check the products you want to recalculate, or use filters and select all matching results. **2. Open Bulk Edit and choose Recalculate Data Quality** Click **Edit** on the selection bar, then pick **Recalculate quality scores** under **Status and channels**. You can also search for it. **3. Apply** 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 > **[Data Quality Analytics](/en/analytics/data-quality)** > > See completeness and quality trends across your catalog. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > 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 ![Bulk editing, Remove Categories across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-remove-categories-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=cd167b8928efa0115144bc2339f51656) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Remove Categories** Click **Edit** on the selection bar, then pick **Remove from categories** under **Families, categories & variants**. You can also search for it. **3. Choose a removal mode** Select how you want to remove categories: remove all, remove specific ones, or remove all except selected. **4. Configure and apply** 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 > **[Assign to Categories](/en/essentials/bulk-editing/assign-categories)** > > Add categories without removing existing ones. > **[Replace All Categories](/en/essentials/bulk-editing/replace-categories)** > > 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 ![Bulk editing, Remove Links across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-remove-links-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=755df4e4de1372397dce9648de4a447e) **1. Select products** Check the products you want to clean up, or use filters and select all matching results. **2. Open Bulk Edit and choose Remove Links** Click **Edit** on the selection bar, then pick **Remove links** under **Text**. You can also search for it. **3. Choose your target fields** 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. **4. Choose how to handle the anchor text** Decide whether to keep the linked words or remove them along with the link. **5. Choose which links to remove and apply** 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. > [!NOTE] > > 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. > [!TIP] > > 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 > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Replace or remove specific text across many products at once. > **[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace)** > > Remove stray spaces left over from imports. > **[Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary)** > > Apply your approved terminology across product content. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!WARNING] > > 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 ![Bulk editing, Replace All Categories across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-replace-categories-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=2ced2ed3eab417c95cf241b950d55024) **1. Select products** Check the products you want to recategorize, or use filters and select all matching results. **2. Open Bulk Edit and choose Replace All Categories** Click **Edit** on the selection bar, then pick **Replace categories** under **Families, categories & variants**. You can also search for it. **3. Select new categories** Use the category tree to choose the new categories. Parent categories are auto-selected by default. **4. Confirm and apply** 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 > **[Assign to Categories](/en/essentials/bulk-editing/assign-categories)** > > Add categories without removing existing ones. > **[Remove Categories](/en/essentials/bulk-editing/remove-categories)** > > 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. > [!NOTE] > > 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 ![Bulk editing, Set Attribute Value across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-set-attribute-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=13aa46a9dfc5a49b2d4d076bf1187db0) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Set Attribute Value** Click **Edit** on the selection bar, then pick **Set attribute value** under **Fields and attributes**. You can also search for it. **3. Choose the attribute** Pick the custom attribute from the dropdown. The input adjusts automatically to match its type. **4. Enter the value** Set the value using the input shown: a text field, number input, dropdown, date picker, and so on. **5. Set options and apply** 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. > [!NOTE] > > A translatable attribute is read and written in your project's primary language only. Translations stay as they are. When the attribute has a unit, new values get the attribute's default unit. ## 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 Field Value](/en/essentials/bulk-editing/set-field)** > > Set built-in product fields like name, price, or SKU. > **[Clear Attribute Values](/en/essentials/bulk-editing/clear-attribute)** > > 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 ![Bulk editing, Set Dimensions across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/HNoOgsuBBXmh6lDH/images/marketing-screenshots/products/products-bulk-edit-set-dimensions-light-transparent.webp?fit=max\&auto=format\&n=HNoOgsuBBXmh6lDH\&q=85\&s=930179496a9144108677d6a06d72c517) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Set Dimensions** Click **Edit** on the selection bar, then pick **Set dimensions** under **Inventory and shipping**. You can also search for it. **3. Enter the measurements** Fill in length, width, and height. To set all three at once, turn on **Use same value for all**. **4. Pick the unit and apply** 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 > **[Shipping Settings](/en/essentials/bulk-editing/shipping-settings)** > > Set HS codes, country of origin, and shipping flags. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > 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. > [!NOTE] > > 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 ![Composing SEO titles from a \{\{brand}} \{\{name}} | \{\{category}} content-logic template in WISEPIM bulk edit](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-content-logic-seo-title-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=78b62afad55e20527152cbf412841a52) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Set Field Value** Click **Edit** on the selection bar, then pick **Set field value** under **Fields and attributes**. You can also search for it. **3. Choose the field** Pick the field to set. Fields are grouped by type: text, identifiers, numeric, enum, and boolean. **4. Enter the value** Set the value. Text and identifier fields also accept formula variables in the `{{scope.key}}` syntax. **5. Set options and apply** 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 > **Text fields** > > Product Name, Reviewed Name, Description, Enriched Description, Short Description, Enriched Short Description, SEO Title, SEO Description, SEO Keywords, Brand, Supplier. > **Identifier fields** > > SKU, EAN, UPC, MPN (Manufacturer Part Number), HS Code, Country of Origin. > **Numeric fields** > > Price, Special Price, Cost, Weight, Length, Width, Height, Stock Quantity, Low Stock Threshold. > **Enum fields** > > 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). > **Boolean fields** > > Manage Stock, Requires Shipping, Backorders Allowed, Is Dangerous Good, Is Visible. ## Use formulas in text fields ![Generating product descriptions from a content-logic template with brand, price and savings variables in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-content-logic-description-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=251e4de0e278302199a96dcd05f0e6ec) 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 | In a text field, a formula can include the field you are setting. `{{product.name}} | Shop` on **Product Name** keeps each product's own name and adds " | Shop" to it. > [!TIP] > > 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 > **SEO and storefront copy** > > **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" > **B2B catalogs and data sheets** > > **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." > [!WARNING] > > 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 Attribute Value](/en/essentials/bulk-editing/set-attribute)** > > Set your own custom attributes in bulk. > **[Content Logic](/en/workflows/content-logic)** > > 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 ![Bulk editing, Set Primary Category across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-set-primary-category-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=2348a003c936d1506fedf3ccdfc8bedb) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Set Primary Category** Click **Edit** on the selection bar, then pick **Set primary category** under **Families, categories & variants**. You can also search for it. **3. Pick the category** Choose one category to set as the primary for all selected products. **4. Set options and apply** 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 > **[Assign to Categories](/en/essentials/bulk-editing/assign-categories)** > > Add products to one or more categories. > **[Replace All Categories](/en/essentials/bulk-editing/replace-categories)** > > Swap a product's categories for a new set. # Shop sync Source: https://docs.wisepim.com/en/essentials/bulk-editing/set-shop-sync Switch product sync on or off per connected shop across a whole selection. Move a range onto a new channel, or pull it off one, in a single action. ![Bulk editing - Shop sync across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-set-shop-sync-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=7b950c81a28c10b23b60e75f5155b5c3) Every product carries its own answer to "which shops does this go to?". **Shop sync** sets that answer for a whole selection at once: "Choose which shops should receive future product exports." You set each shop separately, so one action can add a range to a new marketplace and take it off an old one at the same time. ## Set shop sync in bulk **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Editing and choose Shop sync** Click **Edit** on the selection bar, then pick **Shop sync** under **Status and channels**. You can also search for it. **3. Set each shop** Every connected shop gets its own row, labelled with its name and platform. Pick one of three options per shop. **4. Apply** Click **Apply**. The selected products take their new sync settings. ## The three options, per shop | Option | What happens | | - | - | | **Leave unchanged** | This shop is skipped. Each product keeps whatever it had. This is the default for every row. | | **Sync on** | Every selected product is included in future exports to this shop. | | **Sync off** | Every selected product is excluded from future exports to this shop. | Because "Leave unchanged" is the default, an action only ever touches the shops you deliberately set. You can safely run it while other channels are mid-launch. > [!WARNING] > > "This action has no automatic undo." There is no single click that puts the old per-product settings back. Run it on a small selection first, or note which products you are about to change. ## What it does not touch * **Storefront visibility.** Whether a product is shown to shoppers is a separate flag. Use [Change Visibility](/en/essentials/bulk-editing/change-visibility) for that. * **Existing CCV shop assignments.** Multishop membership in CCV is preserved. Manage it from the product's [Shops tab](/en/products/shops). * **Listings already live.** Sync controls future exports. Switching sync off does not pull down a listing a shop already has. > [!NOTE] > > Setting **Sync on** for a connection whose exports are paused is allowed, and the modal tells you what to expect: "Exports are paused for this connection. Turning product sync on takes effect when connection exports resume." ## When the action is unavailable The action needs two things: permission to bulk edit, and at least two connected shops. With only one shop there is nothing to choose between, so the modal says: "Shop sync requires permission to bulk edit and at least two connected shops. Reload if your connections changed." If you just connected a shop and it is not listed, reload the shop list rather than reopening the modal. ## When to use it * **Launching a channel.** Filter for the range you want live on a new shop, set that shop to **Sync on**, and leave every other shop unchanged. * **Retiring a channel.** Set the shop you are winding down to **Sync off** across its whole assortment before you disconnect it. * **Splitting an assortment.** Filter by category or brand and give each channel the part of the catalog it should carry. > [!TIP] > > Add the **Shops** column to your product table before and after the run. It is the fastest way to confirm the selection landed where you meant it to. ## Related > **[Shops](/en/products/shops)** > > Set sync one product at a time, and manage CCV multishop assignments. > **[Change Visibility](/en/essentials/bulk-editing/change-visibility)** > > Show or hide products on your storefront and connected channels. > **[Exporting Products](/en/essentials/exporting-products)** > > Push your catalog to the connected platforms that are set to receive it. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Browse every bulk editing action by category. # 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 ![Bulk editing, Shipping Settings across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/HNoOgsuBBXmh6lDH/images/marketing-screenshots/products/products-bulk-edit-shipping-settings-light-transparent.webp?fit=max\&auto=format\&n=HNoOgsuBBXmh6lDH\&q=85\&s=3f359cf01467ba375bb7407aa12b2291) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Shipping Settings** Click **Edit** on the selection bar, then pick **Shipping and customs** under **Inventory and shipping**. You can also search for it. **3. Fill in the fields you want to change** Set HS codes, country of origin, shipping flags, or handling notes. Leave the rest blank. **4. Apply** 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 | > [!WARNING] > > 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 Dimensions](/en/essentials/bulk-editing/set-dimensions)** > > Set length, width, and height for shipping. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > Set or adjust product weight in bulk. # Set Special Price Source: https://docs.wisepim.com/en/essentials/bulk-editing/special-price Bulk set a fixed sale price with optional start and end dates, or remove special prices. Launch flash sales, weekend deals, or seasonal offers in one step. Put many products on sale at once. Set a fixed special price, and add start and end dates for time-limited promotions. Use the quick periods to launch a sale in seconds, or take special prices off again. ## Set a special price ![Bulk editing, Set Special Price across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/HNoOgsuBBXmh6lDH/images/marketing-screenshots/products/products-bulk-edit-special-price-light-transparent.webp?fit=max\&auto=format\&n=HNoOgsuBBXmh6lDH\&q=85\&s=b05f8e35fe8ca703dd9e9b871bac306c) **1. Select products** Check the products you want to put on sale, or use filters and select all matching results. **2. Open Bulk Edit and choose Set Special Price** Click **Edit** on the selection bar, then pick **Set special price** under **Pricing**. You can also search for it. **3. Set the price** Choose **Set a special price** and enter the **Special price**, for example €9.99. It must be above 0. **4. Set the sale period (optional)** Enter a **Start date and time** and an **End date and time**, or use a quick period. Enter both dates, or leave both empty. **5. Check What will happen and apply** Decide whether to **Keep existing special prices**, check the dry run, then apply. > [!WARNING] > > Percentage discounts are no longer available: "Percentage promotions are unavailable because WISEPIM cannot verify the lowest selling price in the previous 30 days. Set a fixed price and manage prior-price disclosures in your store." Rules such as the EU Omnibus Directive require that prior price, so set a fixed price instead. ## Options | Option | What it does | Default | | - | - | - | | **Set a special price** / **Remove special prices** | Add a sale price, or take the special price and its sale period off the selected products | Set | | **Special price** | The fixed sale price | Required | | **Start date and time** | When the sale begins | None | | **End date and time** | When the sale ends | None | | **Keep existing special prices** | Products that already have a special price keep it | Off | ### Quick periods | Period | Sale period | | - | - | | **Next 24 hours** | Starts now, ends in 24 hours | | **Next 7 days** | Starts now, ends in 7 days | | **Next weekend** | Starts Friday at 6 PM, ends Monday at 6 AM | | **Next month** | Starts now, ends in one month | ## Which products are skipped A special price must be below the regular price. Products whose regular price is not above the special price keep their current prices and are listed as skipped in the Process Tracker. Products without a price never get one. ## Removing a special price in your shop When you remove a special price, or it is set to zero or expires, the next export clears it in shops that receive sale prices, such as WooCommerce, Magento, CCV Shop and ShopWired. ## Tips * Leave **Keep existing special prices** on when you add a broad sale, so deeper discounts you set on single products stay in place. * Read **What will happen** before you apply. It shows example products with their price before and after, and how many are skipped. ## Related > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Adjust regular prices in bulk. > **[Apply Volume Discounts](/en/essentials/bulk-editing/volume-discounts)** > > 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 ![Bulk editing, Standardize Text Case across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-standardize-case-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=fff5e0a4581ce19422462798adccc6e2) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Standardize Text Case** Click **Edit** on the selection bar, then pick **Change text case** under **Text**. You can also search for it. **3. Pick a case style** Choose Title Case, UPPERCASE, lowercase, or Sentence case. **4. Choose the fields to convert** Select one or more target fields, such as product name, description, or SEO title. **5. Preview and apply** 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` | > [!TIP] > > **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 | > [!WARNING] > > 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 > **[Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace)** > > Remove stray spaces and line breaks from your text fields. > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Fix typos or swap words across many products at once. > **[Append/Prepend Text](/en/essentials/bulk-editing/append-prepend)** > > Add a prefix or suffix to any text field across your selection. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Set Stock Status across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-bulk-edit-stock-status-light-transparent.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=8fa2750d5fc4d7eef1936055afd357b7) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Set Stock Status** Click **Edit** on the selection bar, then pick **Set stock status** under **Inventory and shipping**. You can also search for it. **3. Pick the status** Choose **In Stock**, **Out of Stock**, or **On Backorder**. **4. Configure options and apply** 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 | > [!TIP] > > Turn on **Allow backorders** for products you can still fulfill at zero stock, such as made-to-order or print-on-demand items. > [!NOTE] > > 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 > **[Update Stock](/en/essentials/bulk-editing/update-stock)** > > Set or adjust the actual stock quantity for your selection. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > Set product weights for accurate shipping calculations. > **[Update Status](/en/essentials/bulk-editing/update-status)** > > Set the review status of products to Ready, Pending, or Needs Review. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Trim Whitespace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-trim-whitespace-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=8ee0b0c8c7b60da5df220cd81dba6693) **1. Select products** Check the products you want to clean up. Or use filters and select all matching results. **2. Open Bulk Edit and choose Trim Whitespace** Click **Edit** on the selection bar, then pick **Trim spaces** under **Text**. You can also search for it. **3. Choose what to remove** Pick the cleanup options: leading spaces, trailing spaces, internal duplicates, or extra line breaks. **4. Choose target fields and apply** 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. > [!TIP] > > 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 > **[Standardize Text Case](/en/essentials/bulk-editing/standardize-case)** > > Convert text to a consistent Title Case, UPPERCASE, or lowercase style. > **[Find and Replace](/en/essentials/bulk-editing/find-replace)** > > Fix typos or swap words across many products at once. > **[Append/Prepend Text](/en/essentials/bulk-editing/append-prepend)** > > Add a prefix or suffix to any text field across your selection. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Update Status across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/9B14GJqP70H4bz0Z/images/marketing-screenshots/products/products-bulk-edit-change-status-light-transparent.webp?fit=max\&auto=format\&n=9B14GJqP70H4bz0Z\&q=85\&s=b338e5e3ee594de983eb77299787c131) **1. Select products** Check the products you want to update, or use filters and select all matching results. **2. Open Bulk Edit and choose Update Status** Click **Edit** on the selection bar, then pick **Update review stage** under **Status and channels**. You can also search for it. **3. Pick the new review status** Choose **Ready**, **Pending**, or **Needs Review** to apply to every selected product. **4. Apply** 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. > [!TIP] > > 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 > **[Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality)** > > Refresh quality scores and completeness for your selection. > **[Set Field Value](/en/essentials/bulk-editing/set-field)** > > Set any default product field to a specific value or formula. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Generate titles, descriptions, and attributes with AI. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!NOTE] > > 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 ![Bulk editing, Update Stock across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-bulk-edit-update-stock-light-transparent.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=e8dadd273c9bf0e49f80deb11a8a8901) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Update Stock** Click **Edit** on the selection bar, then pick **Update stock** under **Inventory and shipping**. You can also search for it. **3. Choose the operation** Pick **Set**, **Increase**, or **Decrease**. **4. Enter the quantity and limits** Set the value and, if you want, add minimum and maximum stock limits. **5. Preview and apply** Check **What will happen**, then 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 | ## Which values are refused * Stock is a whole number. A fractional quantity is refused. * A result below zero is refused, unless the product allows backorders. * With a **Maximum stock level**, an increase stops at the maximum. > [!TIP] > > Set a **Minimum stock level** of 0 when you decrease stock. It prevents quantities from dropping below zero into negative inventory. ## Related > **[Set Stock Status](/en/essentials/bulk-editing/stock-status)** > > Mark products as in stock, out of stock, or on backorder. > **[Update Weight](/en/essentials/bulk-editing/update-weight)** > > Set product weights for accurate shipping calculations. > **[Numeric Operations](/en/essentials/bulk-editing/numeric-operations)** > > Add, subtract, multiply, or divide any numeric attribute. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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 ![Bulk editing, Update Weight across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/fwacY8U1nbSrQErX/images/marketing-screenshots/products/products-bulk-edit-update-weight-light-transparent.webp?fit=max\&auto=format\&n=fwacY8U1nbSrQErX\&q=85\&s=eb7d740b5183be6fc6a2d5f161668150) **1. Select products** Check the products you want to update. Or use filters and select all matching results. **2. Open Bulk Edit and choose Update Weight** Click **Edit** on the selection bar, then pick **Update weight** under **Inventory and shipping**. You can also search for it. **3. Choose the operation** Pick **Set**, **Multiply**, or **Convert units**. **4. Enter the values and apply** 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 | > [!TIP] > > 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. > [!NOTE] > > With **Convert units**, the conversion factor is applied for you. Pick the source and target units, and weights are recalculated automatically. ## Related > **[Set Dimensions](/en/essentials/bulk-editing/set-dimensions)** > > Set length, width, and height for accurate shipping. > **[Shipping Settings](/en/essentials/bulk-editing/shipping-settings)** > > Update HS codes, country of origin, and shipping flags. > **[Update Stock](/en/essentials/bulk-editing/update-stock)** > > Set or adjust stock quantities across your selection. > **[Bulk Editing](/en/essentials/bulk-editing)** > > 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. > [!NOTE] > > 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 ![Bulk editing, Apply Volume Discounts across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/fwacY8U1nbSrQErX/images/marketing-screenshots/products/products-bulk-edit-volume-discounts-light-transparent.webp?fit=max\&auto=format\&n=fwacY8U1nbSrQErX\&q=85\&s=9af6dc095b28dc7133b5c4ab0aaa4054) **1. Select your products** Check the products you want to update. To cover a large set, apply filters and select all matching results. **2. Open the action** Click **Edit** on the selection bar, then pick **Volume discounts** under **Pricing**. You can also search for it. **3. Choose what to do** Pick **Assign** to add rules, **Remove** to detach them, or **Replace** to clear existing rules and set new ones. **4. Pick the rules** Select from your available discount rules. Each one shows its status, tier count, and minimum quantity. **5. Apply** 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 > [!TIP] > > 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 > **[Change Price](/en/essentials/bulk-editing/change-price)** > > Adjust base prices across products in one action. > **[Set Special Price](/en/essentials/bulk-editing/special-price)** > > 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 ![WISEPIM command menu (⌘K) with context-aware page actions for the products view](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/command-menu-page-actions-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=92d6e26b4e3a4e43311da8ebedbb7669) 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 | | **Scan EAN** | The [EAN Scanner](/en/essentials/ean-scanner): scan a barcode, find the product and start web research | | **Catalog Jobs** | [Catalog Jobs](/en/products/catalog-jobs): fill gaps, complete supplier sheets and fix images | | **Review inbox** | The [Review Inbox](/en/products/review-inbox), where you check AI suggestions before they change your products. It replaces the old **Review queue** command | | **Catalog structure** | The [Catalog Structure](/en/products/catalog-structure) workspace: how families, categories and attributes fit together | | **Structure guide** | Guided setup of families, categories and attributes, step by step | | **Switch to Experimental** / **Switch to Stable** | Switch the interface version, see [Appearance Settings](/en/settings/appearance) | > [!TIP] > > 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 a file, the browser extension, the EAN Scanner, 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 (`⌘E` / `Ctrl+E` also opens it) * **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 > **Prompt Lab** > > Load a product to test with, load or save prompts, and use the AI Prompt Wizard to generate optimized prompts. > **Prompt Library** > > Create a new prompt or use the AI Prompt Wizard. > **Chat** > > Start a new chat, load a prompt, enhance your prompt with AI, or copy the last response. > **Automation Builder** > > Save, test run, export/import workflows, add suggested nodes, browse templates, or use the AI Designer. > **Automations** > > Create a new automation. > **Knowledge Library** > > Jump directly to editing any knowledge section: brand identity, target audience, value proposition, brand voice, content requirements, or visual guidelines. > **Product Attributes** > > Create a new attribute, import attributes from CSV/JSON, or use the AI Data Model Architect to generate attributes. > **Product Categories** > > Create a new category or import categories from CSV/JSON. > **Projects** > > Create a new project. > **Data Quality** > > 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. ![WISEPIM command menu evaluating a math expression inline, with the result ready to copy](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/command-menu-calculator-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=40f357c2bfa2ef469f58c917aee6acde) ### 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. ![WISEPIM command menu with the Documentation action that opens help for the current page](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/command-menu-documentation-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=f1447ffc1dfd30dc95293f7c6395ead8) 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. > [!TIP] > > 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. ![WISEPIM account menu with the Documentation shortcut under Support](https://mintcdn.com/swiftsyncai/4ens5EbbkQ_RIThE/images/marketing-screenshots/overview/account-menu-documentation-light-transparent.webp?fit=max\&auto=format\&n=4ens5EbbkQ_RIThE\&q=85\&s=3ca82ebd3611cede7a63b7809f9d1c61) ## 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+/` | > [!NOTE] > > 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 > **[Managing Your Products](/en/essentials/managing-products)** > > Search, filter, and select products you found through the Command Menu. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Run a bulk action on a selection straight from the products page. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Trigger AI enrichment for selected products from the page actions. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Build and test prompts, one of the page-action shortcuts you can jump to. # EAN Scanner Source: https://docs.wisepim.com/en/essentials/ean-scanner Scan a barcode with your camera, a photo or by typing it. WISEPIM finds the product in your project or adds it, then runs web research to fill in the details. The EAN Scanner turns a barcode into a product. Point your camera at a box on your desk, upload a photo of the label or type the code. WISEPIM looks it up in your project, opens the product if you already have it, and adds it if you don't. Web research then finds the product online and fills in the details. **What this page enables:** add products from the physical items in front of you, without a supplier file, and check whether a barcode is already in your catalog. **Where to find it:** **Import** on the Products page > **EAN Scanner** > **Open scanner**, or type **Scan EAN** in the [Command Menu](/en/essentials/command-menu). You need an active project: scans are looked up and saved per project. ![EAN Scanner result for an EAN-13 barcode that is already in the catalog, with Open product, Scan next and finished web research](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-ean-scanner-result-light-branded.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=ff40e5db1292eb7f8a29efd0c3f97b0c) ## Scan a barcode The **Scan a barcode** card gives you three ways in: * **Camera**: the camera starts on its own. Hold the barcode in front of it. Use **Stop camera** and **Start camera** to switch it off and on. If your browser blocked the camera, allow it there or use one of the other two options. * **Upload a photo**: pick a photo of the barcode. If no barcode is found, try a sharper, closer shot. * **Or type the EAN**: type the code and click **Look up**. WISEPIM accepts EAN-13, EAN-8 and UPC-A codes and checks the check digit. > [!NOTE] > > The lookup searches your own project only, on the EAN, UPC and SKU of your products. It doesn't look the code up in an external barcode database. That is what web research is for. ## Read the result The **Scan result** card shows the code, its format and the GS1 country prefix, and one of these states: | State | What it means | What you can do | | - | - | - | | **In your catalog** | A product in your project has this barcode. | **Open product** to review it, or **Scan next**. | | **Added to project** | The barcode was new, and WISEPIM created a product for it. | **Open product** to complete it. | | **Not in your project** | The barcode is new, and saving unknown barcodes is switched off. | **Add to project** or **Add to project and research**. | A product added from the scanner is named `EAN` followed by the code, with the EAN as its SKU, so research has somewhere to land. Rename it once research has found the real name. ## Run web research The **Web research** section finds product details and sources online. Click **Run web research**, or let it start on its own (see below). You can scan the next product while it runs; the results also land in the product's **Research** tab. When it's done, click **View research details** to see the findings, or **Research again** to run it once more. > [!NOTE] > > | | Cost | > | - | - | > | Scanning, looking up and adding a product | Free | > | Web research | 5 credits per product | > > Web research is available from the Growth plan. A product researched recently isn't researched again unless you click **Research again**. ## Scanner settings The **Scanner settings** card has two switches. Both are on by default and remembered per project on this device. | Setting | On | Off | | - | - | - | | **Save unknown barcodes to this project** | A new barcode becomes a product right away. | The scanner only looks up. You add a product yourself. | | **Start web research automatically** | Every scanned product that hasn't been researched yet gets researched. Uses research credits. | You start research per product. | **Recent scans** lists the barcodes you scanned, so you can scan one again with a click. **Clear** empties the list. ## Act on what you find > **Several new products in a row** > > Leave both settings on and scan one product after the other. Each one is added and researched while you scan the next. Review them afterwards on the Products page. > **You only want to check stock against your catalog** > > Switch off **Save unknown barcodes to this project**. The scanner tells you what's in your catalog without adding anything. > **The camera doesn't start** > > Allow camera access for WISEPIM in your browser and click **Try camera again**. On a computer without a camera, upload a photo or type the code. > **Research found the product, but the name is still EAN plus the code** > > Open the product and apply the research findings, or run [enrichment](/en/essentials/enriching-products) to write the title and description. ## Related > **[Importing Products](/en/essentials/importing-products)** > > All the other ways to bring products into WISEPIM. > **[Web Research](/en/ai/web-research)** > > What research looks for and how it fills your products. > **[Creating Products](/en/products/creating-products)** > > Add a single product by hand. > **[Command Menu](/en/essentials/command-menu)** > > Open the scanner and other pages with ⌘K. # Enriching Products with AI Source: https://docs.wisepim.com/en/essentials/enriching-products Research facts, write titles, descriptions, SEO, FAQs and attributes, and translate, for one product or your catalog, with the cost shown before you start. ![Enrich with AI modal on step 1, Choose an action, with the recommended starting path, the action search and the Data Foundation, Product content and Organize product data shelves](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-types-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=d52c2b1367ed5950f84dccbd5e5d4eb5) Select products, pick what AI should do, check the cost, and start. Every run works in the background so you can keep going, and you follow it in the [Process Tracker](/en/other-features/process-tracker). **Where to find it:** on the products page, select products and click **Enrich with AI** in the selection toolbar. The modal opens on **Step 1 · Choose an action**. ## Credits per action Every action shows its price in the modal footer before you start. These are the rates the price is built from: | Action | Credits | | - | - | | Titles, Descriptions, Short Descriptions, SEO Title and Meta Description, Attributes, AI Categorization, Image Alt Text, FAQs, HS codes | 1 per product | | Web research | 5 per product | | Translation | 1 per product per language, 5 with **Use Pro translation** | | **Enrich product content** and **Fill empty fields** | The sum of the actions you tick: 5 per product for research, 1 per product for each other action, and the translation rate per language | Products that need no work, such as research that is still fresh or fields that are already filled, cost less than the ceiling. Credits for copy that was not saved are refunded. ## Pick an action The modal opens with a **Recommended starting path**: products selected, then **Web research**, then **Enrich product content**. Research adds the facts AI writes from, so running it first gives richer copy. Below it, type in **Search actions...** to filter the cards, or pick from the shelves: | Shelf | Actions | | - | - | | **Data Foundation** | **Web research**, **Enrich product content**, **Fill empty fields** | | **Product content** | **Titles**, **Descriptions**, **Short Descriptions**, **FAQs** | | **Organize product data** | **Attributes**, **AI Categorization**, **Get images**, **HS codes** | | **Advanced · SEO & discovery** | **SEO Title and Meta Description**, **Search Intent**, **Internal Linking**, **Image Alt Text** | | **Languages & review** | **Translation**, **Linguistic Review**, **Review product quality** | **Translation** and **Linguistic Review** only appear when your project has target languages. **Web research** disappears when the feature is switched off for your workspace. When you select up to 20 products one by one, a card shows **Recently completed · N/N** for products that got a saved update from that action in the past 30 days. You can still run it again. | Action | What it does | Guide | | - | - | - | | **Web research** | Finds sourced product facts, identifiers, images and market prices on the web | [Web Research](/en/ai/web-research) | | **Enrich product content** | Runs several actions in order and replaces the selected content fields | [Bulk Enrich](/en/ai/bulk-enrich) | | **Fill empty fields** | Runs several actions in order and only fills what is missing | [Auto-Fill Missing Data](/en/ai/auto-fill) | | **Titles** | Writes product titles | [AI Product Titles](/en/ai/titles) | | **Descriptions** | Writes full product descriptions | [AI Product Descriptions](/en/ai/descriptions) | | **Short Descriptions** | Writes short summaries | [AI Short Descriptions](/en/ai/short-descriptions) | | **FAQs** | Writes buyer questions and answers from your product data | [Product FAQs](/en/ai/product-faqs) | | **Attributes** | Fills attribute values from your product data and research | [AI Attribute Extraction](/en/ai/attributes) | | **AI Categorization** | Places products in your existing category tree | [AI Categorization](/en/ai/categorization) | | **Get images** | Fetches product and variant photos from the store your products came from | Opens its own flow | | **HS codes** | Finds each product's customs code in the EU or US nomenclature | Runs on selected products only | | **SEO Title and Meta Description** | Writes meta titles and meta descriptions | [AI SEO Title & Meta Description](/en/ai/seo-meta) | | **Search Intent** | Rewrites descriptions around real Search Console queries | [Search Intent](/en/ai/search-intent) | | **Internal Linking** | Adds links to related products and categories inside descriptions | [Internal Linking](/en/ai/internal-linking) | | **Image Alt Text** | Writes alt text for images that have none | [Image Alt Text](/en/ai/image-alt-text) | | **Translation** | Translates content into your project languages | [Translating Products](/en/products/translating-products) | | **Linguistic Review** | Scores translation quality | [Linguistic Review](/en/analytics/linguistic-review) | | **Review product quality** | Finds gaps and weak content, with scores and suggested fixes | [AI Quality Review](/en/analytics/quality-review) | ## Run a single action **1. Select products** Tick products one by one, or filter and select all matching products. **FAQs** and **HS codes** only run on products you select on the page, not on all matching products. **2. Click Enrich with AI** The modal opens on **Step 1 · Choose an action**. **3. Choose the action** Content actions go to **Step 2 · Choose a prompt** first: pick one of your prompts or one curated by WISEPIM. Your project default is preselected and listed first. **4. Configure and start** Set the options for the action, check the cost in the footer, and click the start button. Its label names the action, for example **Start Enrichment**, **Start Web Research** or **Generate FAQs**. > [!NOTE] > > If the start button is greyed out, the reason sits right next to it: "Choose an enrichment action.", "Choose at least one target language.", "Choose at least one field to translate.", "Choose at least one action.", "Choose a prompt for this enrichment.", "Pick at least one FAQ type", or "HS code classification runs on selected products. Select products on this page instead of all matching products." While the price is being checked it reads "Checking eligible products and credits…". ## Run a workflow: Enrich product content or Fill empty fields ![Enrich product content step of the Enrich with AI modal, with the Existing content switch, the enrichment actions and the Start workflow button](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-bulk-enrich-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=52b3f03bf8bf6e19b2b560761e0376ad) Both cards open the same screen. At the top, **Existing content** switches between the two modes: | Mode | What happens to existing content | | - | - | | **Fill empty fields** | Keeps existing values. Only empty fields are written. You can also regenerate fields below a quality score. | | **Replace selected content** | Replaces the content fields you tick. Research, categories and translations keep their existing values. Image alt text has its own replace switch. | Under **Enrichment actions**, tick what the run should do. The cards are grouped as **Data Foundation**, **Product content**, **SEO & discovery** and **Languages & quality**. Titles, Descriptions, Short Descriptions and SEO Title and Meta Description start ticked. Attributes is opt-in. * **Each content card shows its prompt.** A ticked Titles, Descriptions, Short Descriptions, SEO or Attributes card carries a **Prompt** picker, set to **Project default (name)**. Pick another prompt for this run only. A field with no saved prompt says "No saved prompt for this field yet. Create one in Prompt Lab." * **The order is fixed.** The header reads "N actions selected · Ordered automatically. Each selected step finishes before the next begins." Whatever you tick runs as: web research, categorization, attributes, titles, description, search intent, short description, SEO, internal links, image alt text, FAQs, translation, quality review. * **Some actions add options.** Web research asks for the identifier and **Include images from research**. FAQs has its own options. Translation needs **Target languages** and **Fields to translate**, and can **Use Pro translation (5 credits per language and product)**. Review product quality can **Include images in the quality review**. * **Search Intent and Internal Linking rewrite descriptions**, so they only run in **Replace selected content**. Click **Start workflow**. You get "Enrichment workflow queued" with **View workflow**, which opens the run in the Process Tracker. See [Bulk Enrich](/en/ai/bulk-enrich) and [Auto-Fill Missing Data](/en/ai/auto-fill) for the details of each mode. > [!WARNING] > > **Replace selected content** replaces the enriched name, description and short description even when a person typed or verified them. Test it on 5 to 10 products before you run it on the whole catalog. ## Check the cost before you start The price is calculated by WISEPIM for the exact run you are about to start, while the modal is open. The footer shows **Up to N credits · N available**. * **No products need the action.** Start stops with "No products are eligible for this action." * **Your balance is too low.** Start stops with "This run needs N credits and you have N." * **A large run (500 credits or more).** A confirmation asks first: **Start this run?**, or **Review workflow estimate** for a workflow. Click **Start run** to go ahead. * **Something changed after the price was shown.** If the project, selection or settings changed, you see "The project, selection or settings changed. Check this run again." The run never starts at a higher price than the one you saw. > [!NOTE] > > FAQs and HS codes have no price check yet. Their footer says "The cost is checked when the run starts.", and the balance is checked at launch. ## Content enrichment The content actions follow the same flow: select products, pick the action, choose a prompt, start. The AI combines the prompt with each product's data, its web research and your [Knowledge Library](/en/other-features/knowledge-library). ![Descriptions action in the Enrich with AI modal with the prompt choice and description settings](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-description-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=1ab04805268d18c6cbf4361a6426956c) Enriched content goes into **separate enriched fields** next to your originals. Your source data is not overwritten. | Action | Output field | | - | - | | **Titles** | Reviewed Name | | **Descriptions** | Enriched Description | | **Short Descriptions** | Enriched Short Description | | **SEO Title and Meta Description** | Meta Title, Meta Description | | **Attributes** | Attribute values | | **FAQs** | The product's FAQ list, as suggestions to review unless your FAQ settings add them right away | > [!TIP] > > Set a **default prompt** for each content type in [Settings > Enrich Prompts](/en/settings/enrich-defaults). It is preselected every time you open the modal, and **Fill empty fields** uses it. Whether AI changes are saved right away or wait for your approval is set on [**Settings** > **AI review**](/en/settings/ai-review). It is off by default, so AI work reaches your catalog without extra steps. ## When credits run out mid-run The modal does not start a run your balance cannot cover. If credits run out while a run is going, for example because another run spent them, the task stops with a clear message instead of failing silently. In a workflow the stage that ran out says "Not enough credits to finish this stage." and later stages wait. 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, at no extra cost. > [!NOTE] > > **Resume** finishes the remainder at no extra cost. **Restart** runs the whole selection again and is charged as a new run. ## AI Categorization ![AI Categorization step of the Enrich with AI modal with the Categories per product switch set to Auto and the Start Categorization button](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-categorization-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=527c73d19dd815cdfad475a440fecea2) AI Categorization places products in your existing category tree. Choose how many categories per product (**Auto** lets AI decide, or set a maximum of 1 to 10) and what happens with the answers: follow your AI review setting, ask you for every answer, or save sure answers at or above a threshold. See [AI Categorization](/en/ai/categorization). ## Internal Linking ![Internal Linking step of the Enrich with AI modal with the link target picker](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-internal-linking-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=481080a89871e92104b2005ff71651b7) Internal Linking reads each description and adds contextual links to related products and category pages. See [Internal Linking](/en/ai/internal-linking). ## Search Intent ![Search Intent step of the Enrich with AI modal explaining how Search Console queries shape the rewrite](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-search-intent-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=77fe23444063af5fe71518b4e8a1b3a9) Search Intent uses your Google Search Console data to rewrite descriptions around what shoppers search for. It needs an active Search Console connection. See [Search Intent](/en/ai/search-intent). ## Image Alt Text ![Image Alt Text step of the Enrich with AI modal explaining how AI vision writes alt text](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-image-alt-text-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=93c51a8cda78f6991d41f365da56b9fc) Image Alt Text uses AI vision to write alt text of up to 125 characters for every image that has none. Existing alt text is kept. See [Image Alt Text](/en/ai/image-alt-text). ## Translation ![Translation step of the Enrich with AI modal with target languages and translation settings](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-translation-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=722b9d0d6f75260d3cef655eca099e31) Translation converts product content into one or more of your project languages at once. See [Translating Products](/en/products/translating-products) for fields, tone and the terminology dictionary. ## Web research ![Web research step of the Enrich with AI modal with the product identifier choice and the image import switch](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-web-research-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=728b6d74396aa0456f4efb1ef3615b25) Web research searches the web with your product identifiers, checks the facts across sources and puts the results in the product's **Research** tab. The **Supplier sources & research settings** link in the modal opens its settings. See [Web Research](/en/ai/web-research). ## Linguistic Review and Review product quality These two start from the modal but open their own workspaces: * **[Linguistic Review](/en/analytics/linguistic-review)** scores your translations and offers fixes for inconsistencies. It needs at least one target language in [Translation Settings](/en/settings/translation). * **[AI Quality Review](/en/analytics/quality-review)** reads each product like a demanding customer, scores it and hands you a ranked list of fixes. ## Single product enrichment Every enrichable field on the product page has an **Enrich** button. It runs the enrichment on that one field of that one product, with the same prompt choice. Enrichable fields are the name, description, short description, SEO title and meta description, attributes and categories. When a run saves nothing, the product page tells you why, for example "AI enrichment didn't change anything" with "Existing content was kept: there was no empty field to fill." ## Using Content Logic with enrichment [Content Logic](/en/workflows/content-logic) variables in your prompts give the AI 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 writes unique copy instead of variations on one template. ## Automating enrichment Enrichment actions are available as [automation](/en/automations/overview) actions. Trigger them on a schedule, after imports, when quality scores drop, or when products change. ## Tips * **Start with 5 to 10 products.** Test a prompt on a small batch and read the output before you run it on the whole catalog. * **Research first.** Products with web research get richer, more accurate copy. * **Fill your Knowledge Library.** The more the AI knows about your brand and audience, the more consistent the output. See [Knowledge Library](/en/other-features/knowledge-library). * **Use specific prompts.** A prompt for "B2B industrial fastener descriptions" beats a generic one. Build them in the [Prompt Library](/en/essentials/prompt-library). ## Act on what you find > **The start button stays greyed out** > > Read the reason next to the button. It names what is missing, such as a target language, a prompt or at least one action. **Outcome:** the run starts on the first try. > **The footer says no products are eligible** > > The selected products already have what the action writes, or their research is still fresh. Switch to **Replace selected content**, pick other products, or turn on the quality threshold in **Fill empty fields**. **Outcome:** credits only go to products that need work. > **A workflow stopped at one stage** > > Open the run in the [Process Tracker](/en/other-features/process-tracker). The parent task names the stage, its counts and the cause. Earlier results are kept. Fix the cause, for example add credits or review pending category suggestions, then resume. **Outcome:** the rest of the workflow runs without redoing finished stages. > **A content field you edited by hand was rewritten** > > **Replace selected content** always replaces the enriched name, description and short description. Use **Fill empty fields** when you want to keep filled copy. **Outcome:** your hand-written copy stays. ## Related > **[Prompt Library](/en/essentials/prompt-library)** > > Build and organize the prompts that power content enrichment. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Test and refine prompts on real products before running them in bulk. > **[Product FAQs](/en/ai/product-faqs)** > > Generate buyer questions and answers for your products. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Give the AI your brand voice, audience, and product context. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > Compare how products sold before and after enrichment. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > 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 ![Exporting selected products from WISEPIM to a store, marketplace, data platform or file](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-export-modal-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=d37ba5c0e2b770f3d8e52198f445e0a7) * **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. > [!TIP] > > 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. > [!NOTE] > > **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, such as Google Shopping, Meta 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. Start one from a preset in [Export Templates](/en/settings/export-templates). | | **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. | | **Unit Export Format** | Decide how unit values appear. See [Units of measure in exports](#units-of-measure-in-exports). | | **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. | ### Pick the columns The columns picker loads your complete attribute list first ("Loading export attributes…"). If it can't load, the export is blocked, so a file never goes out with columns missing. Search for attributes, or paste comma-separated attribute codes to select exactly those. **Add All** adds the attributes that match your search. Choosing CSV or Excel columns by hand turns off your project's default export profile for that export. Picking a saved template keeps its mappings, promoted fields and category columns. A template saved with all columns also includes attributes you add later. ### Units of measure in exports Under **Unit Export Format**, choose how values with a unit are written: | Mode | Result | | - | - | | **Default** | Keep each layout's own unit handling. Dynamic and numbered attribute columns keep the unit in their own "Attribute Uom" column, and other exports write the value only. | | **Append** | Value with unit in one cell, for example `100 mm`. Separate unit columns are left out. | | **Separate** | Value and unit in separate columns. Standard and template layouts add a `_uom` column after each column with a unit. | | **Ignore** | Value only, no unit. | The mode applies to this export. See [Units of Measure](/en/products/units-of-measure). ### Languages in numbered exports Exports with numbered attribute columns, such as the dynamic attributes layout, add a column per language for each attribute, for example "Attribute Name 1 (fr)". Option labels and unit notation follow the language (French writes `po` for inches). A text without a translation stays empty in that language's column instead of falling back to English. > [!NOTE] > > Standard exports no longer include WISEPIM's internal bookkeeping columns, so the same products give the same file every time. > [!NOTE] > > 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. > [!TIP] > > 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. > [!WARNING] > > **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 **1. Select your products** On the Products page, select products or apply a filter. **2. Click Export** Open the **Export** button in the toolbar. **3. Pick a destination and options** Choose the platform (only connected integrations are shown), then set the columns, languages, and skip-unchanged option, or load a saved template. **4. Start the export** The picker closes and WISEPIM confirms "Export started. Your file will be ready in the Process Tracker." Clicking start again doesn't start the same export twice. WISEPIM prepares your data, connects to the platform, and pushes it over in the background. > [!WARNING] > > You can export to one shop per platform for now: the first one you connected with export switched on, your main shop. Exporting to a second WooCommerce, Lightspeed, Magento or Lightspeed E-Series (Ecwid) shop in the same project is refused: "Sending to a second shop isn't supported yet. It's coming soon." CCV Shop, Shopify and Google Merchant Center are not limited. ### Update German content in Lightspeed When you export to Lightspeed with German as the only export language, switch on **German content only** to update German titles, descriptions, specification and filter translations on existing products. Prices, stock, URLs, images, categories, and which filters a product has stay untouched. > [!NOTE] > > 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. ![WISEPIM export modal copying selected products into another project with SKU-merge note](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-export-to-project-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=3c13a092fb0f7348f523f2ddc9f00f25) **1. Select the products** On the Products page, select products or apply a filter, then click **Export**. **2. Choose Another project** Pick the project you want the products copied into. **3. Start the copy** 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. > [!TIP] > > Want to see the differences between two catalogs before you copy anything? Use Compare Projects on [Managing 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? **1. Click Export, then choose CSV or Excel** Pick the format you want. **2. Choose columns and languages** Select exactly which fields and languages to include, or apply a saved template. **3. Generate the file** 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 export doesn't fail on size, and long descriptions stay whole. Cell text that starts with `=`, `+`, `-` or `@` is never read as a formula. In CSV it gets a protective apostrophe, which the WISEPIM importer removes again. Excel cells keep the text as it is. > [!NOTE] > > An Excel file holds at most 1,048,574 product rows and 16,384 columns. A bigger export fails up front and asks you to export CSV instead. A cancelled export never finishes with an empty file, and an export split per language has one file per language. ## 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 | > [!TIP] > > 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 > **Export won't start** > > * 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. > **Nothing was sent (everything skipped)** > > * 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. > **Platform-specific issues** > > * **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. > **File download won't work** > > * 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. > **Export is slow** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Bring products into WISEPIM from a file or a connected platform. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and attributes with AI before you export. > **[App Marketplace & Integrations](/en/essentials/integrations)** > > Connect a platform so you can export directly to your store. > **[Shops](/en/products/shops)** > > Decide which connected shops each product is exported to. > **[Feed Hub](/en/essentials/feed-hub)** > > Hosted feeds that channels fetch automatically, the recurring counterpart to a one-off export. > **[Process Tracker](/en/other-features/process-tracker)** > > Watch the status of running exports and other background jobs. > **[Publish your first enriched catalog](/en/guides/first-catalog/publish)** > > The final step of the first-catalog series: getting enriched products live. # Feed Hub Source: https://docs.wisepim.com/en/essentials/feed-hub Create product feeds for Google Shopping, Meta, price comparison sites, AI shopping and schema.org JSON-LD. Every feed gets a hosted URL channels fetch. ![WISEPIM Feed Hub with outbound channel feeds and sync status](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=152d695a0d82c6985f9068afa1d411d0) 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. > [!NOTE] > > 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 ![WISEPIM Feed Hub create-feed wizard choosing a channel from Google, Meta and marketplaces](https://mintcdn.com/swiftsyncai/mI_EjdcfabtyYMaU/images/marketing-screenshots/feed-hub/feed-hub-create-wizard-light-transparent.webp?fit=max\&auto=format\&n=mI_EjdcfabtyYMaU\&q=85\&s=f4bd45d1b60db1e154046ad0089d21e4) 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. > [!TIP] > > 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 ![WISEPIM Feed Hub channel catalog for marketplaces and ad platforms](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-channels-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=f8477be74704d4466718d0bb04362bd0) 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 **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 **Structured data** * **schema.org Product**: schema.org Product, Offer and Brand markup as one JSON-LD document. Use it on a headless storefront, a static site or anywhere search engines and AI assistants read structured data. See [schema.org JSON-LD feeds](#schemaorg-json-ld-feeds) below. 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 that are visible in the shop 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. Products on backorder stay in the feed. 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 ![WISEPIM Feed Hub feed editor with field mappings, scheduling and a feed quality score](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-feed-detail-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=da748a5d5bad0f118a6a3cc336f9ae3d) 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, such as **availability\_date** for products on backorder or preorder. Google feeds and ChatGPT Shopping map it for you. You can also add a **fallback** value for any field. If the primary source is empty, the fallback is used instead. > [!NOTE] > > 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. A variant without its own page in the shop, as in Lightspeed, links to its parent's page. ### 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. ## schema.org JSON-LD feeds Pick the **schema.org Product** channel to publish your catalog as structured data. Like BMEcat, it has no field mapping: "schema.org sets the shape of this feed". * The feed is one JSON-LD document with a list of products, served as `application/ld+json`. * Each product is a Product with an Offer, Brand, GTIN and MPN, the main image plus up to 10 more, its category path, weight and dimensions, and its visible attributes. A parent with variants becomes a ProductGroup with its variants. * The Offer carries the price after your pricing rules, the currency, availability, a sale price where you have one, and the seller. The seller is your project name unless you set another name and URL. * A product counts as complete with a name, a main image and a price. Products without a name are left out. ## BMEcat feeds for trading partners ![WISEPIM Feed Hub BMEcat feed with ETIM release pinning, generation stats and catalog metadata for trading partners](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/feed-hub/feed-hub-bmecat-config-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=f7155092c5915630633dfc6fa8de0f4b) 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. > [!TIP] > > 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. > [!TIP] > > 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. > [!NOTE] > > 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 these 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 > [!NOTE] > > | Tool | Credits | > | - | - | > | **Optimize Titles** | 1 credit per title. Products unchanged since the last run are free. | > | **Optimize Descriptions** | 1 credit per description. Products unchanged since the last run are free. | > | **AI Audit** | 1 credit per audit, refunded when the AI fails and a basic audit is shown instead. | > > When your credits run out during an optimization, it stops and tells you how many products it optimized. ## Feed settings and refresh strategy ![WISEPIM Feed Hub feed profiles with field mapping and rules](https://mintcdn.com/swiftsyncai/TeB0aHom04DFwTcq/images/marketing-screenshots/feed-hub/feed-hub-profiles-light-branded.webp?fit=max\&auto=format\&n=TeB0aHom04DFwTcq\&q=85\&s=206299cccb76ccd94a64c4022ad21210) 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 ![WISEPIM Feed Hub run history with sync results per channel](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-history-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=ae6c9c374fc67afd26e519fa6179b27e) **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. > [!NOTE] > > 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 ![WISEPIM Feed Hub analytics on feed coverage and channel performance](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-analytics-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=c8207589ce393690c11df62ceed2e4e5) **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 ![WISEPIM Feed Hub XML import with field auto-mapping](https://mintcdn.com/swiftsyncai/CWxoCL6DT-ox53OB/images/marketing-screenshots/feed-hub/feed-hub-import-light-branded.webp?fit=max\&auto=format\&n=CWxoCL6DT-ox53OB\&q=85\&s=455114aa448ddcc44d9d3ea4322e90a7) 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 ![WISEPIM Feed Hub BMEcat import with the detected ETIM release and class codes, with features imported automatically](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/feed-hub/feed-hub-import-bmecat-detected-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=bc74ee23cdfa2869974cb19ee14373ae) 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. > [!NOTE] > > 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 ![WISEPIM Feed Hub XML import with the detected structure with item count, XPaths and sample values](https://mintcdn.com/swiftsyncai/CWxoCL6DT-ox53OB/images/marketing-screenshots/feed-hub/feed-hub-import-structure-detected-light-branded.webp?fit=max\&auto=format\&n=CWxoCL6DT-ox53OB\&q=85\&s=8b80a0db8183b9b9ab5200ce6b2170bf) 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 ![WISEPIM Feed Hub XML import with the AI field-mapping review with confidence chips and accept/reject](https://mintcdn.com/swiftsyncai/CWxoCL6DT-ox53OB/images/marketing-screenshots/feed-hub/feed-hub-import-review-mappings-light-branded.webp?fit=max\&auto=format\&n=CWxoCL6DT-ox53OB\&q=85\&s=1151ebef858e1f2c1f20086f892868ce) 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 > **[Exporting Products](/en/essentials/exporting-products)** > > Export your catalog to CSV or Excel for one-off data tasks. > **[Managing Your Products](/en/essentials/managing-products)** > > Manage your product catalog, attributes, and categories. # Importing Products Source: https://docs.wisepim.com/en/essentials/importing-products Import from Shopify, WooCommerce, Magento, CSV, Excel, JSON or XML, the browser extension or the EAN scanner. Review what WISEPIM found first. ![WISEPIM integrations catalog for Shopify, Amazon, WooCommerce and more](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/integrations/integrations-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=d86fd55438956a5e1a8b6b114a34d072) Your product data lives somewhere already: in Shopify, Magento, WooCommerce, a spreadsheet, a supplier feed, or all of the above. Importing brings it into WISEPIM so you can start improving it. > [!TIP] > > Bringing in a catalog for the very first time? Follow the step-by-step guide: [Import your catalog safely](/en/guides/first-catalog/import). > [!NOTE] > > 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 Click **Import** on the Products page to open **Import Products**. The list builds itself: every connected integration that supports import appears as an option, next to the built-in sources. Sources you used before move to the top with a **Last used** chip. ![The Import Products dialog with connected shops, CSV Import, Excel Import, XML Import, EAN Scanner, From a website or URL and Demo Data](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-modal-light-transparent.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=1c44de3c86a8a45d0a07b749d2eac9af) | Source | What it does | | - | - | | **Your connected platforms** | Any integration that supports import and has a tested connection switched on for import, for example Shopify, WooCommerce, Magento, Lightspeed, BigCommerce, PrestaShop, Shopware, Squarespace or CCV Shop. | | **CSV Import** | The file importer. It reads CSV, TSV, text, Excel (`.xlsx` and `.xls`), gzip, ZIP, JSON, JSON Lines, XML and fixed-width files. See [Import a file](#import-a-file). | | **Excel Import** | The older Excel converter. See [The Excel Import option](#the-excel-import-option). | | **XML Import** | Import an XML feed through [Feed Hub](/en/essentials/feed-hub). | | **From a website or URL** | Import product pages with the WISEPIM browser extension. See [Web Scraping Import](/en/essentials/web-scraping-import). | | **EAN Scanner** | Scan or type a barcode to find a product or add it. **Open scanner** takes you to the [EAN Scanner](/en/essentials/ean-scanner). | | **Demo Data** | A ready-made sample catalog for your industry, so you can explore WISEPIM before importing your own. | > [!NOTE] > > If you don't see a platform in the list, it isn't connected for import yet. Set up the integration on the Integrations page and it appears automatically. > [!NOTE] > > Pasting a webshop URL into WISEPIM so a server crawls it is retired. The browser extension is the only way to import from a website now. ## 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: > **[Shopify](/en/integrations/shopify)** > > Generate a custom app and API key > **[WooCommerce](/en/integrations/woocommerce)** > > Create REST API keys > **[Magento](/en/integrations/magento)** > > Set up an integration token > **[Lightspeed](/en/integrations/lightspeed)** > > Connect your Lightspeed account > **[Kaufland](/en/integrations/kaufland)** > > Get your Kaufland API credentials > **[WebshopImporter](/en/integrations/webshopimporter)** > > 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 > [!WARNING] > > 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 **1. Go to the Products page** Click the **Import** button in the toolbar. **2. Pick your source** Select the platform you want to import from. Only connected integrations are shown. **3. Choose a store (if you have more than one)** If a platform has several stores connected, WISEPIM asks which one to import from under **Select Store**. With a single store, it skips this and goes straight to the import. **4. Narrow the scope, if you want** Under **One-time import scope** you can limit this run instead of pulling the whole store: **Only products modified since** or **Only products created since** a date (with **Last 24 hours**, **Last 7 days** and **Last 30 days** presets), **Maximum products to import**, **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. **5. Let WISEPIM do the work** WISEPIM connects to your platform, discovers your products, and pulls everything in, including categories, attributes, and product relationships. **6. Review your catalog** Once the import completes, spot-check a few products to make sure everything came through correctly. > [!NOTE] > > 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. ## Import a file Choose **CSV Import** to open **Import your products**. Drop your file on **Drop your CSV or Excel file here**. WISEPIM reads it, matches the columns to your fields and shows **Here's what we found** before anything is imported. Most files go from upload to import on this one screen. **1. Drop your file** The importer checks for three things: one row per product, a column with each product's SKU, and column names in the first row. **Download an example file** gives you a template that works. **2. Answer any open questions** If WISEPIM can't tell how to read the file, it asks first under **A few choices before importing**. See [Choices before importing](#choices-before-importing). **3. Check what WISEPIM found** The review shows the row and column count, how products are matched, which columns go where, and any rows that can't be imported. Click **Not right? Change it** to change the separator or header row, or **Use another file** to start over. **4. Import** The button tells you what happens: **Import 240 products**, **Update 240 products** or **Import 240 new products**, depending on [what this import does](#what-this-import-does). The import runs in the background. ### Files the importer reads | File | Notes | | - | - | | CSV, TSV and text | Comma, semicolon, tab, tilde or pipe separated. | | Excel workbook (`.xlsx`, `.xls`) | Pick the **Worksheet** to import. | | gzip and ZIP | For a ZIP, pick the **File in archive**. | | JSON and JSON Lines | Set the product record path under [Feed record layout](#feed-record-layout) when products are nested. | | XML | Set the product record tag under [Feed record layout](#feed-record-layout). | | Fixed-width text | Define the columns under [Feed record layout](#feed-record-layout). | > [!NOTE] > > Files can be up to **300 MB** and up to 10,000 columns. Files over 10 MB are inspected in full before you continue ("Inspecting the complete file. You can continue when inspection finishes."), and large uploads go up in parts. The importer is forgiving. It reads UTF-8 (including files with stray Windows-1252 characters), Windows-1252 and UTF-16, honours Excel's `sep=;` line, skips title or supplier rows above the header, handles non-English headers, 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. Values that older exports protected with a leading apostrophe, such as `'-123`, import cleanly. **Excel workbooks** import the stored value of each cell, not its display formatting. Leading zeros come back from the cell's number format, and formulas use their last saved result. A formula that was never calculated imports empty with a warning on that row: open and save the workbook in Excel, then upload it again. WISEPIM picks the worksheet that holds the products and tells you when it picked another sheet than the first one. Some files are refused with a clear reason, for example a blank file, an Excel file renamed to `.csv`, or a row with a quote that is never closed. ### Choices before importing When a file is ambiguous, **A few choices before importing** appears before the review. You can't import until each question has an answer. The choices are saved with your import profile, so the next file from the same source skips them. | Choice | When it appears | | - | - | | **First row** | WISEPIM can't tell whether row 1 holds column names: **First row contains column names** or **First row contains product data**. | | **Worksheet** | The workbook has several sheets. | | **File in archive** | The ZIP holds several files. | | **Number format** | A column could be read as `1.299` or `1,299`. | | **Date format** | A date column could be day first or month first. | | **Measurement unit** | A numeric column has no unit WISEPIM can detect. | WISEPIM also repairs common file problems on its own and tells you what it did, for example "Quote escaping repaired. Rows adjusted: 12." or "Selected the product worksheet automatically." ### What WISEPIM shows in the review | Card | What it tells you | | - | - | | **Matching existing products** | How rows are matched to products you already have, and how many are new. See [What this import does](#what-this-import-does). | | **Product data** | How many products have names, prices, images, descriptions and EANs, and which is the biggest gap. | | **Columns** | **Matched to your fields**, **Not in WISEPIM yet** (WISEPIM creates a field with a type that fits the values, uncheck the ones you don't need, or **Create all**), **Read automatically** and **Not imported**. Click a column to pick another field, **Create as a new field** or **Don't import**. A column that looks like the unit of another column, or a system column, is left out with the reason shown. | | **How a product will look** | One row of your file as WISEPIM will store it, with **Previous product** and **Next product**. | | **Categories** | How many categories are new and which already exist. **Create categories that don't exist yet** is on by default. Turn it off and products are only linked to categories that exist. | | **Dropdown values** | Values that aren't an option of their field yet: **Add as options**, **Save as No** (yes/no fields) or **Leave empty**. | | **Variants** | When rows share a parent, **Group variants under their parent product** imports them as a product with its variants. **Set up variants** opens the full options. | Columns are matched in two passes. Known names match first, then AI picks a field for the rest from the column name and its values. Every AI pick is marked, so you can change it. Rows that can't be imported are listed with the reason, for example "12 rows can't be imported" or "3 rows repeat a SKU" (only the first row with each SKU imports). **Download these rows** gives you a file of them to fix. Row numbers match your spreadsheet, where row 1 holds the column names. > [!NOTE] > > On a large file the review covers the first rows only, for example "This review covers the first 5,000 rows. The import reads the whole file." The rest is checked during the import. ### What this import does Under **Matching existing products**, choose **What this import does**: * **Add new products and update existing ones** (default) * **Only update existing products**: rows that match no product are left out. Skipped rows don't count toward your plan's product limit. * **Only add new products**: products already in WISEPIM stay as they are. And choose how existing products are found under **Find existing products by**: * **SKU, then EAN/GTIN**: match on SKU, and when the SKU is new, match a product with the same EAN. That product keeps its own SKU. * **EAN/GTIN, then SKU** * **SKU only** Rows without a SKU are no longer skipped. When a row has an EAN but no SKU, WISEPIM looks up the EAN first. A file without a SKU column can import as long as an EAN column is mapped. A row with no SKU and an EAN no product has can't be added. Before you start, WISEPIM counts how many products are new and how many already exist, for example "We match products on the SKU in "Article": 120 new, 880 already in WISEPIM." Empty cells never erase what's already in WISEPIM. > [!TIP] > > Running a supplier stock or price update? Choose **Only update existing products** so the file can't add products you don't sell. ### Language of each column Columns that go into a translatable field, such as the name or description, get a **Language of** choice for that column. Columns named like `name_sv` get their language automatically. Importing one language never removes the translations you already have in other languages. ### Prices and dates * **Compare-at price**: map an "old price", "was price" or "compare at price" column to **Compare-at price**. When it's higher than the price, WISEPIM stores it as the regular price and your price as the special price. When it isn't higher, it is ignored. * **Dates** are read in ISO format, day-first European format and as Excel date numbers. Text that isn't a date is kept in a text attribute named after the column, or reported as invalid. One bad cell no longer fails the rest of the batch. ### Multiple images Images can arrive in one column or in several: * **One column with several URLs**: WISEPIM splits them on the separator. The first URL becomes the main image, the rest go into the gallery. You set the separator under **Multi-Value Field Settings** in **More import options**. The default is the pipe (`|`). * **Numbered image columns**: columns such as "Image 1", "Afbeelding 1" or "Bild 1" become the main image, and "Image 2" to "Image 10" fill gallery positions 2 to 10. "Extra image 1" or "Additional image 1" count after the main image. Amazon's `other_image_url1` to `other_image_url8` work the same way. Columns beyond 10, or extra image columns without a number, go into the gallery as a list. Image URLs without a file extension are recognized too. A cell that isn't an `http` or `https` link is reported and not linked. ### Category paths Your file can carry a whole category tree in one cell. WISEPIM detects the level separator, such as `>`, `/`, `|`, `\` or `»`: ``` Home > Kitchen > Knives ``` That creates **Home**, then **Kitchen** under it, then **Knives** under that, and puts the product in the deepest one. Several paths in one cell are split on `;`, `,` or `|`. Levels spread over several columns, such as "Category 1", "Category 2" and "Category 3", are joined into one path, up to 10 levels. Click **Change format** on the **Categories** card when the detection is wrong. Existing categories are reused, so importing the same paths again does not create duplicates. ### Remembered choices and import profiles Import a file with the same columns again and WISEPIM reuses your choices: "We reused your choices from the last file with these columns." Click **Forget them** to start fresh. To use the same choices for files with other names, choose **Advanced** > **Save these choices** and give the import profile a **Profile Name**. Pick it next time from **Advanced**. When you apply a profile to a file from the same supplier, WISEPIM checks the file's structure and warns you when the supplier's columns changed. A profile tied to a supplier keeps values you edited or verified by hand, and the other languages of a product, when the supplier sends a new file. ### Advanced Click **Advanced** on the review for the full four-step importer: | Option | What it is for | | - | - | | **File and settings** | See the raw data, change the separator or header row, combine or reshape the file. | | **Map columns by hand** | The full mapping editor, with profiles and AI suggestions. | | **More import options** | Duplicate handling, variants, category paths, multi-value settings and value transformations. | | **Save these choices** | Keep them as an import profile you can pick for other files. | | **Mapping as JSON** | Copy, change or paste the column mapping. | ![The Advanced import options step with duplicate handling, project defaults for unmapped fields and the detected source platform](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-csv-import-configure-light-branded.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=4ebee4564bbb1ae5cb47e4c4b43d30c7) #### Combine or reshape data Under **File and settings**, **Combine or reshape data** handles files with a different row or column layout. Most files don't need it. * **Turn columns into rows**: turn option columns such as Small and Medium into rows with an option and a value. Set **Columns to expand**, **Option column name** and **Value column name**. * **Append files with matching columns**: put files with the same columns underneath each other, for example January and February. * **Join files using a shared column**: add information from another file, for example stock quantities by SKU. The **Shared unique column** needs unique values in every file. **Preview result** shows the new layout without importing. **Use original layout** undoes it. For a ZIP, choose **Advanced: combine files from this archive**. #### Feed record layout For JSON, JSON Lines, XML and fixed-width files, **Feed record layout** tells WISEPIM where each product is: * **Product record path** (JSON): leave it empty for a top-level list, or use a path such as `/catalog/products`. * **Product record tag** (XML): the tag that holds each product. * **Fixed-width columns**: add each column with a **Column name**, **First character (1-based)** and **Last character (inclusive)**. #### Map your columns by hand The mapping editor has three views. Switch between them whenever you like; they all edit the same mapping. | View | 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. Known names are checked first, then AI suggests the rest. The suggestions land in **Review auto-map suggestions**, each with a score: **Model probability** for an AI match, **Local match score** for a name match. The scores rank suggestions; they aren't verified accuracy. Uncheck the ones you don't want, change a target where needed, then apply the rest. 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. **Import readiness** lists the blockers before you can start: unresolved columns, required fields still missing, mapping conflicts and duplicate headers. 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. * **Rules**: a **Bulk mapping rule** for files with many similar columns. Match columns by **Starts with**, **Ends with**, **Contains** or **Has tokens**, then map, ignore or mark them not applicable in one go. * **Warnings**: sample values that may not fit the type of the field they are mapped to. **Import transformations** trim whitespace, change text case and set the source date and number formats. They are applied to mapped fields before the import is validated. When you apply a saved profile to a file whose headers differ, the **Profile compatibility check** shows which mappings fit, which saved columns are missing and which columns are new. **Apply compatible mappings** applies only the matches. ![WISEPIM CSV import column mapping, matching spreadsheet columns to product fields](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-csv-import-mapping-light-branded.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=dd20ab9476e7949a5c3840a2924bd304) #### More import options * **When duplicates are found**: **Update existing products**, **Skip duplicates**, or **Create as new** (the new product gets a numbered SKU, for example `ABC-2`). Switch on **Don't add new products** to only update products you already have. This per-import choice is independent of the project-wide [conflict resolution setting](/en/settings/import#handle-duplicate-products) for platform imports. * **Map values**: decide per source value which option it becomes, or **Add as new option**. **Add new options from attribute columns** (off by default) adds new options for attribute name and value pairs. Your choices are saved with the profile. * **Nested Data**: turn rows into parent products and variants. When the file suggests variants, a **Variants detected** chip appears. Pick a **Variant mode**: no variants, parent and child linked by an identifier column, or grouped by a shared attribute. WISEPIM can also group rows whose SKUs share a stem, such as `TB/1809/119` and `TB/1809/120`. A row with a blank child SKU feeds the parent instead of becoming a variant. > [!TIP] > > 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 setup is restored. Only the setup is kept, never the file contents. #### Mapping as JSON **Mapping as JSON** shows the whole mapping as JSON. **Copy** or **Download** it to reuse for another file, or paste one in, **Load file** and **Apply mapping**. Applying it replaces the current mapping and import settings. The JSON must be smaller than 2 MB. ### Resolve held rows When the advanced importer holds rows back, **Resolve held rows** opens: "Your original file is kept. Correct these rows, or import valid rows and keep these for later." * Edit a held row in place, then click **Validate corrected rows**. * Click **Import 950 valid rows** to bring in the rest now and fix the held ones later. * Click **Check all rows before import** to check the whole file first. The first 50 held rows are shown. Corrected rows import without replaying the whole file. ## 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. > [!NOTE] > > Template defaults are **on by default** and you can turn them off for a single import with **Use project defaults for unmapped fields**. 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. > [!NOTE] > > 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`. A row without a name keeps the existing name. ## The Excel Import option Excel files go through **CSV Import** like any other file, up to 300 MB, with a **Worksheet** choice. The separate **Excel Import** option in the import modal is the older converter. It accepts `.xlsx` workbooks up to 10 MB, with a **Sheet** selector and the same mapping editor. Use **CSV Import** for `.xls` files and large workbooks. ## Demo data Want to explore WISEPIM before importing your own catalog? Choose **Demo Data**, pick your industry under **Choose Your Industry**, and WISEPIM loads 25 sample products with categories, attributes and families already set up. You can clear them 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 | File 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 | > [!NOTE] > > File 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. > [!TIP] > > Start with a small test batch to verify everything works before importing your full catalog. ## After the import When a file import finishes, WISEPIM shows what happened: how many products were created and updated, and **Next steps** such as filling in missing fields, writing descriptions with AI for products without one, reviewing new categories and checking new fields. **Stored values checked** compares what was saved with your file: "Checked 1,000 rows. 0 rows have changed or omitted values; 0 rows could not be fully verified." Quality scores are calculated shortly after each batch. Until then a product shows "Quality score not calculated yet" and doesn't appear in quality score filters. ### Post-import completeness scan ![WISEPIM post-import cleanup wizard triaging missing weight, images and prices by impact](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-cleanup-light-branded.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=89d83507b3a98473b9a771a8b71fae79) Once a file import finishes, WISEPIM scans the imported products for missing critical fields, like a main image, weight, and price. If any gaps are found, **Import cleanup** opens and 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. > [!TIP] > > 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. ### What to do next 1. **Work through Import cleanup**: if critical fields are missing, 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**: make sure the imported structure looks right 4. **Check your attributes**: they're already there, ready to use 5. **[Enrich with AI](/en/essentials/enriching-products)**: 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. > [!TIP] > > 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, the browser extension, 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 ### File issues * Answer every question under **A few choices before importing**. The import can't start until you do * Check the skipped rows on the review and use **Download these rows** to fix them * Make sure a SKU or EAN column is mapped, so products can be matched * If your plan's product limit is reached, new products stop being created. Updates still go through ### 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 > **[Import Settings](/en/settings/import)** > > Configure the defaults every import runs with. > **[Web Scraping Import](/en/essentials/web-scraping-import)** > > Import product pages with the browser extension. > **[EAN Scanner](/en/essentials/ean-scanner)** > > Scan a barcode to find a product or add it. > **[Process Tracker](/en/other-features/process-tracker)** > > Follow long-running imports and see exactly what changed. > **[Exporting Products](/en/essentials/exporting-products)** > > Send your enriched catalog back out to your channels. > **[Import your catalog safely](/en/guides/first-catalog/import)** > > 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. ![WISEPIM products table with images, categories, quality scores and bulk actions](https://mintcdn.com/swiftsyncai/9dRgNd_Mxv0P-DHa/images/marketing-screenshots/products/products-electronics-light-branded.webp?fit=max\&auto=format\&n=9dRgNd_Mxv0P-DHa\&q=85\&s=40ef76adc627a682caf58b139376aca1) 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. > [!NOTE] > > 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 ![Products toolbar showing search, filters, columns, layouts, and language selector controls](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/products/filter-row.webp?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=ff1c59e4fe67cd36579339b78e367b0d) The left side of the toolbar controls how your product data is displayed. > **[Search & Filter](/en/products/filtering-products)** > > Find products instantly with search, or build advanced filters with 90+ fields and save them as presets. > **[Customize Your View](/en/products/customizing-views)** > > 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 **All languages** to show the primary columns plus one column per translation, each next to its field. The choice is remembered per project. See [Customizing Your Product View](/en/products/customizing-views#show-every-language-as-columns). ### 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. | Pasting a list with one value per line into the search box opens **Select by Identifier** with your list already in it. Pick the field your list contains, such as SKU or EAN, and the table shows every product that matches one of the lines. > [!NOTE] > > SKU and EAN are matched exactly, because a partial match on an identifier is almost never what you want. With fuzzy matching on, a product whose SKU or EAN matches exactly is pinned to the top. 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 ![Products toolbar showing Import, Export, Bulk Editing, and Enrich with AI action buttons](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/products/action-row.webp?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=ac45385fa8ad192f589de883e195c1a3) The right side of the toolbar is where you take action on your products. > **[Create Products](/en/products/creating-products)** > > Add new products manually with smart defaults and template-driven fields. > **[Import Products](/en/essentials/importing-products)** > > Bring products in from Excel, CSV, Shopify, WooCommerce, Magento, and more. > **[Export Products](/en/essentials/exporting-products)** > > Push your product data to connected platforms or download as a file. > **[Bulk Edit](/en/essentials/bulk-editing)** > > Make changes to hundreds of products at once: prices, categories, text, and more. > **[Enrich with AI](/en/essentials/enriching-products)** > > 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. > [!NOTE] > > 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 ![WISEPIM products with rows selected and the 'select all across pages' banner above the table](https://mintcdn.com/swiftsyncai/R5A08f16GZcH3s4C/images/marketing-screenshots/products/products-selection-banner-page-light-branded.webp?fit=max\&auto=format\&n=R5A08f16GZcH3s4C\&q=85\&s=3e9e044f6b80ac91336f4d449cafb12f) Selecting everything across all pages acts on every product that matches your current filters, not just the rows you can see. ![WISEPIM products with every product across all pages selected, ready for a catalog-wide bulk action](https://mintcdn.com/swiftsyncai/R5A08f16GZcH3s4C/images/marketing-screenshots/products/products-selection-banner-all-pages-light-branded.webp?fit=max\&auto=format\&n=R5A08f16GZcH3s4C\&q=85\&s=9ea989e43b883f7a8dc2b72fde3806c1) 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. > [!TIP] > > 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 | | **Product progress & history** | Shows where the product's quality score started and how its saved data changed (see below) | | **Delete** | Removes the product (with confirmation) | > [!NOTE] > > 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). > [!NOTE] > > 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. Next to the score you see the change and a small trend line over the last 10 days on which the score changed: green when it went up, red when it went down, grey when it stayed the same. Hover it for the details, for example "Up 6 points since 12 Oct" or "Unchanged since 12 Oct". A product without history yet says "No score history yet. The trend line appears once the score changes." > [!NOTE] > > Freshly imported products show **--** in this column with the tooltip "Quality score is being calculated. It appears here automatically." Until then, quality-score filters and presets skip them. ### Product progress & history Choose **Product progress & history** in a row's **⋮** menu to see how one product has developed. The **Product progress** panel shows the **First recorded score**, the **Current score** and the **Score change**, followed by **Recent score changes** with what caused each one, such as an import, an AI enrichment or a translation. **View product field changes** lists up to 100 recent operations on the product. Expand one to compare the saved values before and after the change. If your plan has no product versioning, the panel says "Field-level history is available on plans with product versioning." ## 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**. > [!NOTE] > > 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. > [!WARNING] > > 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. > [!NOTE] > > Undo is available on every plan. How long an operation stays undoable depends on your plan, starting at 1 day on the Free plan. The history shows the window for your plan, for example "Undo history is kept for 14 days on your plan." See [Billing Settings](/en/settings/billing) for the plans. ## 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 > [!TIP] > > 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 > **[Filtering & Searching Products](/en/products/filtering-products)** > > Build advanced filters and save them as presets for daily work. > **[Editing Products](/en/products/editing-products)** > > Open a product and edit every field in the full editor. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Change prices, text, and categories across hundreds of products at once. > **[Command Menu](/en/essentials/command-menu)** > > 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 open your avatar menu and choose **Prompt Lab**. > [!NOTE] > > 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. Each test, and each time you apply a result to the product, uses **1 credit**. ![WISEPIM Prompt Lab for testing and tuning AI enrichment prompts](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/prompts/prompt-lab-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=0512d4238e797e1c5211dd335b7b309f) ## 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 **1. Load a product** Click **Load product** and search for a product by SKU. The product appears in the left panel. From a product's FAQs tab, **Tune the FAQ prompt** opens the Prompt Lab with that product already loaded. > [!TIP] > > Pick a product that already has a description. That gives you a clear before-and-after comparison. **2. Adjust the settings** Under **What do you want to generate?**, pick the field to test, then set the industry, purpose, tone, and point of view. See [Configuration options](#configuration-options) below. **3. Write or review the prompt** Start from the default prompt template, or write your own. Use [variables](#using-variables) like `{{title}}` to pull in real product data. **4. Test the prompt** Click **Test** (or press **Cmd/Ctrl + Enter**). The generated content appears in the right panel in 30 to 60 seconds. **5. Compare and iterate** Check the result against the original. Change one setting, test again, and keep what works. ![WISEPIM Prompt Lab testing a prompt on a real product with original and AI output side by side](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/prompts/prompt-lab-loaded-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=17c7aa99c5bfc18556b6fd1400e33b8b) ## Configuration options The bottom panel controls how the AI writes. Set these before you test. ### What do you want to generate? Pick one field to test. Each mode works on its own. | Field | Use it when | | - | - | | **Description** | You want compelling marketing copy or better existing descriptions. | | **Short Description** | You need a short summary without headings or a call to action. | | **Titles** | Product titles are generic and need SEO and appeal. | | **SEO Meta** | You want an SEO title and meta description, with a live character counter. | | **Product Attributes** | You need consistent, standardized product specifications. | | **Image Alt Text** | You want to test alt text on one of the product's images. | | **Web Research** | You want to see what research finds for this product. | | **FAQs** | You want buyer questions and answers, previewed the way shoppers will see them. See [FAQs in the Prompt Lab](#faqs-in-the-prompt-lab). | ### 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. ![Prompt Lab load product interface showing product search and loading](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-lab/load-product-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=3eb13cac8c024b3bad7c277b8d3a59a2) ### 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. ## FAQs in the Prompt Lab Pick **FAQs** under **What do you want to generate?** to write and test an FAQ prompt on the loaded product. **1. Choose what the FAQs cover** Under **What should the FAQs cover?**, tick the FAQ types, such as compatibility, care or what is in the box. The types recommended for your industry are preselected. **Reset to recommended** brings them back. **2. Set the number of questions** Set **Questions** to **Up to N**, from 1 to 20. A type the product data cannot answer is skipped rather than guessed, so a run can return fewer. **3. Ground the answers** Leave **Use web research** on to base the answers on the product's latest web research. Without research, answers use the product data only. Set the **Point of view** if you want. **4. Test and read the result** The result shows the questions as shoppers will see them, with **Coverage per type** listing which types were answered and which were skipped. Switch the **Layout** between **Accordion**, **List** and **Headings**, or view the storefront HTML and use **Copy HTML**. **5. Apply to the product** Under **How to apply**, choose **Add** to keep the product's FAQs and add these (questions it already has are skipped), or **Replace** to swap the product's own FAQs for these. Category FAQs are never touched. Save the prompt to use it in bulk: in the Enrich modal, choose **FAQs** and pick it under **Prompt**. See [Product FAQs](/en/ai/product-faqs). ## 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) | > [!NOTE] > > Bare variables like `{{title}}` are a Prompt Lab feature for test runs. The scoped variables you see elsewhere, such as `{{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** 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. > [!TIP] > > For brand-consistent results, complete your [Knowledge Library](/en/other-features/knowledge-library) first. The AI uses it to match your brand voice automatically. ![Prompt Lab interface showing prompt writing and testing workflow](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-lab/overview-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=b8f33e9f93c5430e60a7253730b0a622) ## Save and reuse prompts Once a prompt works well, save it so you never rewrite it. ### Save a prompt **1. Test until it works** Confirm the prompt gives good results across a few different products. **2. Open the save dialog** Click **Save Prompt** (or press **Cmd/Ctrl + S**). **3. Add details** Give it a clear name, a description, and tags. Set the industry and purpose so you can find it later. **4. Save** Your prompt is stored in the [Prompt Library](/en/essentials/prompt-library) for reuse. ### Load an existing prompt Click **Library**, browse your saved prompts, and select one. All settings and prompt text load automatically, ready to test or modify. > [!TIP] > > Name prompts descriptively, like "Electronics SEO Description". Add a version number when you make a major change. ![Prompt Lab showing load prompt interface with prompt configuration options](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-lab/load-prompt-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=e413ae48261585d0a12d19c66e5cb3dc) ## From lab to bulk Once a prompt is proven, use it to enrich your whole catalog. **1. Test across product types** Run the prompt on a few representative products from each category, including ones with minimal data. **2. Save the winners** Store the prompts that perform best in your library. **3. Run in bulk** Select a saved prompt in a bulk enrichment operation to apply it across many products at once. ![Prompt Lab load prompt modal showing available prompts from library](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-lab/load-prompt-bg.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=5d7bcd0f8884fb29027c9dc9e2c32592) ## Troubleshooting > **No product found with that SKU** > > 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. > **The content is too generic** > > Add more specific instructions to your prompt, name the unique selling points to highlight, and adjust the industry and purpose settings. > **The content doesn't match my brand voice** > > 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. > **The content is too long or too short** > > State the length you want in the prompt, using a word count or a number of paragraphs. > **The test is taking a long time** > > 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 > **[Prompt Library](/en/essentials/prompt-library)** > > Organize, reuse, and share your saved prompts. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Apply your tested prompts to products in bulk. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Give the AI your brand voice for on-brand results. > **[AI Chat](/en/ai/ai-chat)** > > 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 open your avatar menu and choose **Prompt Library**. > [!NOTE] > > 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. ![WISEPIM prompt library with reusable enrichment templates](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/prompts/prompt-library-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=3598a1c6ee0b430ff7961d7dfc4f72aa) ## 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 ![WISEPIM curated prompt library, expert-crafted enrichment prompts by industry and purpose](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/prompts/prompt-library-curated-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=755cf47148cafd49bd52e3ced0f1c695) 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. > [!NOTE] > > 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, short description, titles, SEO meta, attributes, FAQs, or AI chat * **Industry**: your market sector * **Purpose**: SEO, marketing, technical, or standard > [!TIP] > > 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. ![Prompt cards displaying all information elements including title, description, and metadata](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-library/view-prompt-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=cba54b4fcbd12025f2f3cd2c71f2a455) ## Create a prompt **1. Open the form** Click **Create New Prompt** (the green button, top right). Or open the [Prompt Lab](/en/essentials/prompt-lab) and save a prompt from there. **2. Add the details** Give it a descriptive, searchable title, a clear description, and the prompt text. **3. Set the categories** Choose the industry, purpose, and tone so the prompt is easy to filter later. Set the point of view and any advanced options. **4. Save and test** Save to your library, then test it in the [Prompt Lab](/en/essentials/prompt-lab) before using it in production. ![Create New Prompt form showing title, description, prompt text, and category settings](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-library/create-prompt-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=91dc409daea952dba550710b385ab5a5) > [!TIP] > > Need a head start? Use the **AI Prompt Wizard** to generate a prompt for you, then refine it. ![WISEPIM AI prompt wizard generating a tailored enrichment prompt from goals and audience](https://mintcdn.com/swiftsyncai/MJhIcuPvHFtY9cDn/images/marketing-screenshots/prompts/prompt-library-ai-wizard-light-branded.webp?fit=max\&auto=format\&n=MJhIcuPvHFtY9cDn\&q=85\&s=cd65e584b0b38254e658aaf982214f93) ### 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. > [!NOTE] > > 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. ### Attribute prompts: choose the attributes to fill An attribute prompt can name the attributes it writes. In the prompt form, pick them in **Attributes to fill**, for example only color and material, or one FAQ text attribute. Leave it empty ("All attributes with AI suggestions on") to fill every attribute that has AI suggestions switched on. See [AI Attribute Extraction](/en/ai/attributes). ### FAQ prompts Prompts of the type **FAQs** ("Buyer questions and answers") hold your instructions and tone for buyer FAQs, together with the FAQ types to cover, the number of questions and whether to use web research. Build and test them in the [Prompt Lab](/en/essentials/prompt-lab). When you generate FAQs from the Enrich modal, pick the saved prompt under **Prompt**: its FAQ types, question count and research setting fill in, and you can still change them for that run. Without one, the **Built-in FAQ prompt** is used. See [Product FAQs](/en/ai/product-faqs). ### 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 shown on that field's card in **Enrich product content** and **Fill empty fields** ([Auto-Fill](/en/ai/auto-fill)). One click here saves a click on every enrichment run afterwards. > [!NOTE] > > **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 | > [!TIP] > > 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. **From Community Prompts** 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). **From Curated Prompts** 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. > [!TIP] > > 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. ![Prompt detail view showing a brand story prompt with configuration and preview](https://mintcdn.com/swiftsyncai/0lfBiYcGiwmjtr4p/images/screenshots/ai/prompt-library/brand-story-transp.webp?fit=max\&auto=format\&n=0lfBiYcGiwmjtr4p\&q=85\&s=b87cdff9150bc7935b53b69ea8a43cd2) ## 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. > [!TIP] > > Press `C` to create a new prompt when you're not typing in a field. ## Troubleshooting > **I can't find the right prompt** > > Use more specific search terms, try different filter combinations, and browse the community and curated collections for inspiration. > **A prompt doesn't work for my products** > > 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. > **My generated content isn't consistent** > > 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. > **My library is getting disorganized** > > Apply consistent naming and categories, and archive or delete prompts you no longer use. ## Related > **[Prompt Lab](/en/essentials/prompt-lab)** > > Build and test prompts on a real product before you save them. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Apply your saved prompts to products in bulk. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Give the AI your brand voice for on-brand results. > **[AI Chat](/en/ai/ai-chat)** > > 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. > [!NOTE] > > 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. **1. Connect: pick where the products come from** 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, its setup button takes you there first. No products at all? Choose **Skip, use demo data** and then **Continue with demo data**, or **Try a sample product**. WISEPIM uses sample products for your industry so you can see results without uploading anything. When your own catalog turns out to be empty, Quick Win falls back to sample products and tells you so: "Your catalog has no products yet, so we're using sample products for this first result." ![WISEPIM Quick Win, choose a channel to pull sample products from, or skip with demo data](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/quick-win-connect-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=118c0202b18184a48741178f65d28f12) **2. Context: review the settings** 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. ![WISEPIM Quick Win, review brand voice, tone preset, and target language before enriching](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/quick-win-context-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=2b5879452965a663e946868d8910d133) **3. Enrich: AI gets to work on real products** 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 | | **Start with a pricing rule.** | No products. Pricing rules apply to your whole catalog | 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. If you picked the **Set channel prices** goal, for example by arriving from a pricing or fee calculator, this step offers two templates instead: **Cover a marketplace fee** and **Protect my margins**. **Use this template** opens a new pricing rule with the template filled in, and nothing changes until you save it. **Open pricing rules** shows the rules you have. Pricing rules need the Business plan or higher; on a lower plan the templates show under an upgrade notice. 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**. If a run hangs, the page says "This is taking longer than usual. You can try again." If the sample can't be checked, **Choose a different source** lets you pick another one. ![WISEPIM Quick Win, AI enriching sample products live with progress per item](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/quick-win-enrich-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=532b78eb8e79d30076d96f31f2f3f83b) **4. Preview: verified before and after** 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**. ![WISEPIM Quick Win, before-and-after comparison of original versus AI-enriched product content](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/quick-win-preview-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=831e7fac500f391af465d50dd020ab63) **5. Value: what was measured** 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. Below the results, **Want a hand with the rest?** asks for your **Phone number** if you'd like help bringing in your own catalog. **Send my number** saves it, **Not now** skips it. It's optional, and WISEPIM only calls if you ask. ## 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. > [!TIP] > > 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 > **[Quick Start Guide](/en/quickstart)** > > The full guided setup: connect your first channel, import products, and publish enriched content. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > 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 Import products from any webshop page with the WISEPIM browser extension: preview, pick the products and send them to the project you choose. 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. The **WISEPIM browser extension** imports those products straight from the page you have open. It reads the name, SKU, brand, price, images, specifications, variants and FAQs, and sends them to the project you pick. 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. **Where to find it:** **Import** on the Products page > **From a website or URL** > **Configure the browser extension**. The extension page is also listed under Integrations. ![The From a website or URL step of the import dialog, pointing to the browser extension with Configure the browser extension and How it works](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-scrape-step-light-transparent.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=8cdb752d4eb49cd564236e22390d4cbd) > [!NOTE] > > The old URL import, where you pasted a category page, sitemap or list of URLs and a WISEPIM server crawled the site, is retired. The browser extension replaces it. Saved URL import profiles and automation import steps that used it no longer run. XML feed imports through [Feed Hub](/en/essentials/feed-hub) are not affected. ## Connect the extension The extension works in Chrome, Edge and Firefox. You connect each browser once, for your whole account. **1. Install the extension** On the **Connect this browser** page, choose **Add to Chrome**, **Add to Edge** or **Add to Firefox**. Then click **I've installed it**. **2. Connect this browser** Click **Connect this browser**. WISEPIM shows "Paired as" with your email. The browser appears under **Connected browsers** with **All projects** and when it was last used. **3. Pick the project when you import** The extension asks which project to import into each time. One connected browser can import into any project you have access to. > [!NOTE] > > Connecting creates a key for this browser only, scoped to your account. The key is never shown, the extension never sees your password, and **Disconnect** stops it immediately. You can have up to 20 connected browsers. A browser connected before pairing became account-wide shows "Legacy: paired to one project". Click **Reconnect** to import into any project. ## Import products from a page **1. Open the page** Open a product page, or a category or search page with several products, in your browser. **2. Open the extension** The popup shows the products it found, with a project switcher at the top. On a listing page, load more products as you go. If the extension can't recognize a product, it offers **Import this page as a product**. **3. Choose the options** **Read in browser** (on by default) sends the page as your browser loaded it. **Enrich** runs the steps from [Import by Scraping Settings](/en/settings/import-by-scraping) on this import. Your **Enrich** choice is remembered. **4. Import** Select the products and import them. The import runs in the background. Follow it in the [Process Tracker](/en/other-features/process-tracker). ## What the extension reads * **Shop data first.** On Shopify, WooCommerce, Magento 2, Lightspeed eCom, Squarespace, Shopware 6, BigCommerce, Wix Stores, PrestaShop 1.7 and higher and Shoplazza, WISEPIM reads the shop's own product data where the shop publishes it. You get the full description, all variants and all images, without AI. A Shopify collection or WooCommerce category page imports from the shop's product list. * **Structured data and AI.** On other sites WISEPIM reads the page's structured data and uses AI only for what is still missing. The AI answer for an unchanged page is reused for 14 days, so importing the same page again costs no AI usage. * **Specifications in tabs.** Specs inside tabs, accordions and drawers are read as attributes. * **FAQs.** A page's FAQ section becomes the product's FAQs, up to 50 questions. That includes FAQ markup and visible FAQ headings, tabs and accordions in English, Dutch, German, French and Spanish. The FAQ block is removed from the description, and importing the page again doesn't add the same questions twice. * **Same product, same SKU.** A page you imported before under another SKU updates that product instead of creating a copy. What happens to specs and breadcrumbs that don't match your data model depends on the **Data model** switches in [Import by Scraping Settings](/en/settings/import-by-scraping). The import report lists what was left out and which setting caused it. ## Limits > [!NOTE] > > | Limit | Value | > | - | - | > | HTML per page | 2 MB. A larger page is fetched by WISEPIM from its URL instead. | > | HTML per import request | 8 MB | > | Imports running at the same time | 3 per account | > | Imports waiting in the queue | 10 per account. A new import shows "Import queued behind 2 of your imports." | > | Plan product limit | Counted per product, variants included. A variant that would pass the limit isn't created. | ## When a site blocks automated access Some webshops sit behind bot protection, such as Cloudflare or DataDome. Because the extension sends the page your own browser already loaded, that protection doesn't apply. When WISEPIM has to fetch a page itself, for example a page too large to send, and the site answers with a block (403, 429, 503, a bot wall or a challenge), WISEPIM tries once more through a residential connection in the site's own country. It never retries a page that doesn't exist (404 or 410), a page `robots.txt` excludes, or an address that isn't public. When the fetch still fails, the import names the cause, for example the bot protection vendor, a login or age gate, a timeout or a page that only works with JavaScript. A blocked or "not found" page is never imported as a product. > [!NOTE] > > You can't import pages of WISEPIM itself. ## Classify scraped products automatically If your project has adopted [classification standards](/en/products/classification), imported products can file themselves into them. 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. Creating ETIM attributes also needs **Create missing attributes**, and new GPC categories need **Create missing categories**. Classification is free and structural. It costs no credits, runs before the enrichment chain below, and does nothing until you've adopted at least one standard. > [!TIP] > > 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 product page rarely carries everything you want. WISEPIM can close that gap the moment an import finishes, without you selecting anything. ![WISEPIM import by scraping settings with project language and trusted website setup links, web research and Bulk Enrich](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-import-by-scraping-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=18dc19878d223586653e209517a94da3) Go to **Settings** > **Import by Scraping** and turn on **Enrich scraped products automatically**. It runs in order on every import the extension brings in: 1. **[Web research](/en/ai/web-research)** gathers facts about each product from the web. Researching every import 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. > [!TIP] > > Switch off **Enrich** in the extension to skip the chain for a single import. Useful when you grab one product just to look at it and don't want to spend credits enriching it. ## Act on what you find > **The extension finds no products on the page** > > Open a single product page instead of a listing, or use **Import this page as a product**. **Outcome:** the page still lands as a product, and you can fix any gaps afterwards. > **Specs or categories are missing after the import** > > Check the import report in the Process Tracker. When it says creating attributes or categories is off, switch on **Create missing attributes** or **Create missing categories** in [Import by Scraping Settings](/en/settings/import-by-scraping) and import the page again. **Outcome:** the specs land as attributes instead of being dropped. > **The imported product is missing fields** > > Some sites bury data in scripts or images. Fill the gaps with [Enriching Products with AI](/en/essentials/enriching-products) or turn on the enrichment chain. **Outcome:** a complete catalog even when the source page was thin. > **The source also has a feed** > > If the supplier can give you an XML or CSV feed, prefer [Feed Hub](/en/essentials/feed-hub) or a [file import](/en/essentials/importing-products) for repeated updates. Use the extension when no feed is available. **Outcome:** the right tool for each source. ## How it compares | | Browser extension | File or feed import | Web Research | | - | - | - | - | | **Input** | A webshop page open in your browser | A CSV, Excel, JSON or XML file or feed | A product you already have | | **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** | Fills what the page's data leaves out | Maps columns to fields | Searches and summarizes | ## Related > **[Import by Scraping Settings](/en/settings/import-by-scraping)** > > Decide what runs after every extension import. > **[Importing Products](/en/essentials/importing-products)** > > File and platform imports when you have structured data. > **[Feed Hub](/en/essentials/feed-hub)** > > Import from and publish to XML and feed sources. > **[Web Research](/en/ai/web-research)** > > Research products on the web to enrich what you already have. # 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 ![WISEPIM overview dashboard with catalog health, activity and quick actions](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/overview/overview-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=eb23dfa2f4323d7b3e9a38f0c522ba51) 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. > [!NOTE] > > 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 > **[AI that writes like you do](/en/essentials/enriching-products)** > > Generate descriptions, titles, SEO content, and attributes that match your brand voice, across your whole catalog in one click. > **[93 languages, zero translators](/en/products/translating-products)** > > AI-powered translations that read like a native speaker wrote them. Reach new markets in hours, not months. > **[Quality on autopilot](/en/quality-guard/overview)** > > Automated rules catch missing fields, bad formatting, and incomplete content before it reaches your customers. Every product, every channel. > **[Workflows that run themselves](/en/automations/overview)** > > Build visual automations that import, enrich, export, and notify on a schedule or when events happen. No manual steps. ## Core capabilities ![WISEPIM products table with images, categories, quality scores and bulk actions](https://mintcdn.com/swiftsyncai/9dRgNd_Mxv0P-DHa/images/marketing-screenshots/products/products-electronics-light-branded.webp?fit=max\&auto=format\&n=9dRgNd_Mxv0P-DHa\&q=85\&s=40ef76adc627a682caf58b139376aca1) > **[Import from anywhere](/en/essentials/importing-products)** > > Pull products from your e-commerce platform, a CSV, or your existing PIM, with smart field mapping. > **[Bulk editing](/en/essentials/bulk-editing)** > > Edit thousands of products at once. Filter, select, update. Done. > **[Prompt Library](/en/essentials/prompt-library)** > > Build reusable AI prompts that match your brand voice. Consistent content across your whole catalog. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Teach WISEPIM about your brand, audience, and products. The more it knows, the better the output. > **[Automations](/en/automations/overview)** > > Build visual workflows that handle repetitive tasks for you, on a schedule, on demand, or when events happen. > **[Analytics](/en/analytics/overview)** > > 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 > **E-commerce teams** > > Whether you manage 100 or 100,000 products, stop spending weekends on product descriptions and focus on strategy instead. > **[Marketing agencies](/en/essentials/agencies)** > > Manage multiple client catalogs from one platform. Deliver consistent, high-quality product content at scale. ## Get started > **[Quick Start Guide](/en/quickstart)** > > Go from zero to enriched products in four steps. > **[Connect your platform](/en/integrations/supported-platforms)** > > Set up your integration with Shopify, Magento, WooCommerce, Lightspeed, or CCV Shop. [YouTube video player](https://www.youtube.com/embed/akvGWYmbjAo) ## Related > **[Guides](/en/guides/overview)** > > Outcome-first walkthroughs that take you from a real problem to a working result. > **[Overview dashboard](/en/overview)** > > 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. > [!NOTE] > > 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 ![WISEPIM achievements tracking catalog milestones and progress](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/overview/achievements-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=8474d2670a0332415a33295520cdfb97) 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. ![WISEPIM achievement detail modal showing progress, requirements, and points](https://mintcdn.com/swiftsyncai/4ens5EbbkQ_RIThE/images/marketing-screenshots/overview/achievements-detail-light-transparent.webp?fit=max\&auto=format\&n=4ens5EbbkQ_RIThE\&q=85\&s=1381a14dcc0e54c99df02906558e31fb) ### 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 > **[Quickstart](/en/quickstart)** > > Get set up fast: connect a channel, import products, and run your first enrichment. > **[Analytics overview](/en/analytics/overview)** > > 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. ![WISEPIM Brand Portals with shareable read-only catalog links and live view counts](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/brand-portals/brand-portals-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=e30de0698cc8a10922584db3e99f4fea) 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. > [!NOTE] > > 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 **1. Open Brand Portals** Find **Brand Portals** in the top navigation under **Advanced**. **2. Click Create portal** 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. **3. Click Create portal again** 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 ![WISEPIM Brand Portal editor with product scope, column whitelist, access and branding panels](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/brand-portals/brand-portals-editor-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=d4c7c4caa8c5768d81dee0477ec315bd) 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. > [!WARNING] > > 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. > [!NOTE] > > 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. > [!TIP] > > 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 ![A public WISEPIM Brand Portal: branded, filterable read-only product catalog](https://mintcdn.com/swiftsyncai/t_sarMlF7wjzJzzt/images/marketing-screenshots/brand-portals/brand-portals-public-light-branded.webp?fit=max\&auto=format\&n=t_sarMlF7wjzJzzt\&q=85\&s=859d992cc10d0aec6a84d5e4e5699bf3) 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. > [!NOTE] > > 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 ![Password-protected WISEPIM Brand Portal lock screen with owner branding](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/brand-portals/brand-portals-locked-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=f0e49be207b9ccca08b4b1a7cf2e0fed) 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. > [!WARNING] > > **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. > [!NOTE] > > Password attempts are limited to **10 per hour** per visitor, so a portal cannot be brute-forced. ## Act on what you find > **You send the same spreadsheet to a retailer every month** > > 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. > **Partners should see their price, not yours** > > 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. > **A link went to the wrong person** > > 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. > **You want to check a portal before sharing 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. > **A campaign portal is finished** > > 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 > **[Pricing & Margins](/en/settings/pricing)** > > Show partner prices in a portal without touching your stored prices. > **[Exporting Products](/en/essentials/exporting-products)** > > Send a file when a page is not what someone needs. > **[Feed Hub](/en/essentials/feed-hub)** > > Scheduled product feeds for marketplaces and comparison sites. > **[Media Library](/en/products/media-library)** > > 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, audience, and what you sell, so AI writes copy that sounds like your team. Reuse the library in other projects. ![WISEPIM knowledge library powering grounded AI enrichment](https://mintcdn.com/swiftsyncai/Bm_4dGISV-TtPH6L/images/marketing-screenshots/knowledge/knowledge-library-light-branded.webp?fit=max\&auto=format\&n=Bm_4dGISV-TtPH6L\&q=85\&s=c678bc0095bd78d95a438dded2b0da99) The Knowledge Library is your brand's memory. It holds your voice, your audience, and what you sell in one place. AI features read from it, so the more you fill in, the more your generated content sounds like you. **Where to find it:** open **AI & Automation** > **Knowledge Library** in the top menu. > [!NOTE] > > You can generate descriptions without completing this library. Start with a few lines about your tone and audience, and add the rest when it is useful. Product facts come from your data and web research. The library adds your brand voice. ## 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 sections 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. > **Brand Identity** > > Your brand story, voice and tone, values, and visual identity. This is the foundation, so start here. > **Target Audience Profiles** > > Who you sell to. It starts with the **Business profile** (see below), then covers demographics, pain points, goals, decision-making factors, and the emotions behind a purchase. > **Product Context** > > Your product philosophy, what makes your products different, how people use them, and which products go well together. > **Industry Knowledge and Industry-Specific Knowledge** > > Industry terms, trends, standards, and certifications, plus details for your own industry, such as food and beverage, pet products, or fashion. > **Marketing & SEO Strategy** > > Target keywords, the information every description must lead with, and how you position yourself against competitors. > **Conversion Drivers and Customer Communication** > > What makes people buy, the trust signals and objections that matter, and the words your customers actually use. > **Channel-Specific Requirements** > > Content rules per sales channel and region, platform character limits, and content for each buying stage. > **Technical Specifications, Storytelling, and Sustainability** > > How to turn specs into benefits, the stories behind your products, and your environmental and ethical commitments. ## 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. ![WISEPIM knowledge library brand-identity form capturing brand story, voice and values for grounded AI](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/knowledge/knowledge-library-brand-identity-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=d1030bb5d3b66efcb4749066f6423b98) The main parts: * **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. * **Brand Voice & Tone**: how your brand sounds. Warm or precise, playful or expert. Add the words you use and the words you never use. * **Brand 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, descriptions, titles, SEO snippets, and translations are written from it. If AI output ever feels off-brand, this is the first place to look. ## Business profile The **Business profile** sits at the top of **Target Audience Profiles**. It tells the AI which markets you serve and what you sell, so every text speaks to the right buyer in your industry. | Field | What you enter | | - | - | | **Who do you sell to?** | Tick every group you sell to: **Consumers (B2C)**, **Professional buyers (B2B)**, **Resellers & wholesale**, **Public sector & institutions**, **Marketplace shoppers**. Put your main market first with the up and down buttons. The first one is marked **Main market**. | | **What do you sell?** | Pick the industries, segments, or assortments you sell, up to 40. Be as specific as you can, for example a segment instead of a whole industry. | The AI reads the business profile for every kind of enrichment except image alt text. When you sell to professional buyers, resellers, or the public sector, buyer FAQs also get a question about pack quantity. ## Fill in your Knowledge Library **1. Open the Knowledge Library** Go to **AI & Automation** > **Knowledge Library**. You can also jump straight to any section from the [Command Menu](/en/essentials/command-menu). **2. Start with brand identity** Begin with brand identity. It is the foundation every other section builds on. **3. Work one section at a time** Open a section and fill in its fields. Finishing one section before moving on keeps your context coherent. **4. Be specific** 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 section shows its own progress, and the overview shows your total. > [!TIP] > > 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. ### Fill with AI from your website Click **Fill with AI**, enter your **Website URL**, and click **Analyze Website**. WISEPIM reads your site and fills the library for you. About Us pages, your homepage, and product pages that describe your business work best. * **It only fills empty fields.** Fields that already have text are skipped and stay as they are. * **The business profile is a separate step.** After the text fields, the AI fills **Who do you sell to?** and **What do you sell?**, but only when those lists are still empty. If it is not confident enough, it leaves a list empty and reports it as skipped. For **What do you sell?** it keeps only medium or high-confidence picks. * **It runs in the background.** Larger sites can take a few minutes. Click **Close and keep working in the background** and keep working. Your library updates when the run is done. * **You see what changed.** The result lists the fields and sections it filled, including a **Business profile** chip, and an accordion with notes about the run, for example pages it could not read. > [!NOTE] > > If no worker picks up the run within 20 minutes, it fails with a timeout. A failed run is never retried automatically, so start it again yourself. If a site blocks the reader, WISEPIM retries it through a proxy in the site's country. ## Where each instruction belongs The Knowledge Library is for things that are true across your whole catalog. Put narrower instructions closer to where they apply. | What you want the AI to know | Where it belongs | | - | - | | Who buys from you and how they talk | **Who do you sell to?** and the rest of **Target Audience Profiles** | | What you sell overall | **What do you sell?** in the business profile | | The industry of one product group | The category's **Industry** field in [Managing Product Categories](/en/other-features/managing-categories) | | Facts or wording for one category | That category's AI notes | | The format or length of one run | The prompt you run | > [!NOTE] > > Buyer FAQs use the library as steering only: your brand, audience, purchase criteria, and the buyer hesitations and terms you describe. The library is never quoted as a source for an answer. See [Product FAQs](/en/ai/product-faqs). ## Track your progress The overview shows how much of the library you have filled. Use it to spot gaps. * **Per-section progress** shows which sections still need attention. * **Overall progress** shows how much of the profile is filled. * **Not started** sections are listed separately, so you can see where to focus next. ## Reuse a library in another project Running several stores or brands that share a voice? Click **Copy or move** on the Knowledge Library page to take fields to another project. The dialog **Copy or move knowledge** has two views: **Interface** and **JSON**. ### Copy or move to another project ![Copy or move knowledge dialog with all sections selected, a target project picker, Copy and Move options, and the Replace fields that already have text switch turned off](https://mintcdn.com/swiftsyncai/Bm_4dGISV-TtPH6L/images/marketing-screenshots/knowledge/knowledge-library-move-project-light-transparent.webp?fit=max\&auto=format\&n=Bm_4dGISV-TtPH6L\&q=85\&s=e35b55b922fca8aa4dda85ba87a07cd7) **1. Pick the sections** Under **Sections**, tick the sections to take along. Use **Select all** or **Clear** to change them all at once. **2. Choose the target project** Pick a **Target project**. You only see projects you can edit. **3. Choose what should happen** Under **What should happen?**, pick **Copy** (this project keeps its library, the other project gets a copy) or **Move** (fields are removed here once the other project has them). You can only move from a project you can edit. **4. Decide about existing text** **Replace fields that already have text** is off by default. Off, only empty fields in the target are filled and existing text never changes. On, filled fields get the new text. An empty source field never clears anything. **5. Run it** Click the button, for example **Copy 15 fields to** your target project. The result tells you how many fields were copied or moved and how many kept their text because the target already had text there. > [!WARNING] > > With **Move**, only fields that were transferred are emptied in this project. Fields the target skipped because it already had text stay here. ### Copy and paste as JSON The **JSON** view shows the selected fields as JSON. Click **Copy as JSON**, open the Knowledge Library of another project, open **Copy or move** there, and paste the JSON into the **JSON** view. If your browser blocks the clipboard, WISEPIM downloads the JSON as a file instead. ![Copy or move knowledge dialog in paste mode, showing which fields will be filled or stay as they are and a Paste fields button](https://mintcdn.com/swiftsyncai/Bm_4dGISV-TtPH6L/images/marketing-screenshots/knowledge/knowledge-library-paste-json-light-transparent.webp?fit=max\&auto=format\&n=Bm_4dGISV-TtPH6L\&q=85\&s=af872cffbeefece9dc76079116655dc3) After you paste, the **Interface** view switches to paste mode. It shows a preview before anything changes: how many empty fields will be filled, how many filled fields will be replaced, and how many stay as they are. Click **Paste N fields into** your project to apply. To go back to your own library, click **Use this library again**. If every selected field already has text, turn on **Replace fields that already have text** to overwrite it. JSON from a newer version of WISEPIM is refused. Copy it again from the source project. ## Supplier glossary The **Supplier glossary** card on the Knowledge Library page teaches WISEPIM how your suppliers write codes and abbreviations, so Catalog Jobs can read codes like `HB/908/101/56/16`. The glossary comes with common eyewear codes built in. Add your own when WISEPIM reads one wrong. | Entry kind | Example | | - | - | | **Abbreviation** | A short word in descriptions, like DRK for dark. | | **Brand prefix** | The letters a code starts with, like TB for Ted Baker. | | **Colour code** | A colour number of one brand, like 601 for black. | | **Product type** | A word that says what the product is, like SUN for sunglasses. | * **Add entry** opens **Add a glossary entry**. To change a built-in code, override it. Your meaning then wins for this project. * **Import** opens **Import your glossary**: drop a CSV file or paste lines, then choose **Add to my glossary** or **Replace my entries**. Replacing removes your own entries first. Built-in codes stay. * **Try a code** shows how WISEPIM reads a supplier code and description while you type. Unknown words are marked, and you can teach WISEPIM what they mean right there. * **We spotted these in your codes** suggests words that show up often in your products and that WISEPIM cannot read yet. ## 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 start selling to a new market. * 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 > **AI content doesn't sound like my brand** > > Fill in **Brand Identity** thoroughly, especially **Brand Voice & Tone**. Add concrete tone adjectives and example phrases your brand uses. Vague input gives vague output. > **Copy speaks to the wrong buyer** > > Check the **Business profile**. Put your main market first in **Who do you sell to?** and make **What do you sell?** as specific as you can. For a product group in another industry, set the category's **Industry** instead. > **Descriptions are too generic** > > Add detail to **Product Context** and **Marketing & SEO Strategy**. List your specific benefits and the sections every description must include. > **Fill with AI left fields empty** > > It only fills empty fields and skips anything it could not find on the page. Open the notes about the run to see which pages it could not read, then try a page that describes your business in more detail. > **I can't move fields to another project** > > Moving needs edit rights on this project, and the target list only shows projects you can edit. Use **Copy**, or ask a project owner for edit rights. ## Related > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Generate titles, descriptions, and SEO copy that draws on your Knowledge Library. > **[Managing Product Categories](/en/other-features/managing-categories)** > > Set an industry or AI notes for one product group. > **[Product FAQs](/en/ai/product-faqs)** > > Generate buyer FAQs steered by your business profile. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Build and test prompts that use your brand context automatically. > **[Managing Projects](/en/essentials/managing-projects)** > > Set up the projects you copy knowledge between. > **[AI Chat](/en/ai/ai-chat)** > > 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, organize and clean the attributes that make up your data model: option sets, families, CSV import and export, and AI label translation. ![WISEPIM Product attributes page with a Needs attention strip and Label, Group, Type, Filled and Behavior columns](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-attributes-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=45e7321c938423c11654258fe33b3971) 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. **Where to find it:** open **Catalog** > **Product Attributes** in the top menu. With the Experimental interface the same page is **Catalog** > **Catalog structure** > **Product fields**. > [!NOTE] > > Attributes are shared across your project. When you create an attribute, it becomes available for assignment to any [product family](/en/products/product-families). ## The Product attributes page The page header has two buttons: * **New attribute**: create one attribute by hand. * **More**: a menu in three sections. **Bring data in and out** holds **Import attributes** and **Export**. **AI** holds **Guide catalog structure**. **Related** links to **Attribute groups**, **Product families** and **Option sets**. The table shows the **Label** (with the code next to it), **Group**, **Type**, **Filled** and **Behavior** of every attribute. * **Filled** shows how many products have a value. Click the bar to open the products that are missing it. Attributes that don't count toward completeness show **Not tracked**. * **Behavior** only shows exceptions: **No import**, **No export**, **AI off** or **Not in enrichment runs**. A row without marks is imported, exported and included in enrichment. Click the cell to change the attribute's properties in place. Open **Density and columns** to switch between **Compact** and **Comfortable** and to add optional columns: **Code**, **Filled**, **Families**, **Created** and **Sort order**. **Created** shows when the attribute was added and sorts newest or oldest first. Attributes created before this column existed show **Unknown**. Switch between the **Table** and **Grouped** views. The grouped view sorts attributes under their group, and you can drag an attribute to another group. ### Needs attention Above the table, the **Needs attention** strip counts attributes with a likely problem. Click a chip to filter the table to those attributes. | Chip | What it means | | - | - | | **Duplicate labels** | Two attributes share a label, so people and channels can mix them up. | | **Select without options** | A Select attribute has no options, so AI can never fill it. | | **Number without unit** | Number values are stored without a unit. | | **Not in any family** | No product family uses the attribute. | | **Never filled** | No product has a value yet. | | **Required, under 80% filled** | A required attribute is missing on more than one in five products. | ### Row menu Every row has a pencil icon for quick edit and a **More actions** menu: * **Organize**: **Move to group…**, **Add to families…** and **See and merge values**. * **Settings**: **Cleaning rules**, **AI enrichment**, **Validation** and **Import and export**. Each opens the attribute settings on that tab. * **Reuse**: **Duplicate** and **Save as template**. * **Danger zone**: **Delete**. The attribute is also removed from product families and integration mappings. You can undo the delete for 5 seconds. ## 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 | | **Date & time** | 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 | | **Yes / no** | True/false toggle | Waterproof, wireless | | **Color** | Color picker | Primary color | | **Image** | Image upload | Product photo, diagram | | **File** | File upload | User manual, certificate | | **Range** | A from and to value | Operating temperature | > [!TIP] > > 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 ![WISEPIM new attribute modal with label, code, type and required/filterable/searchable options](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/attributes-create-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=568462bd681a8246d730febf0b7b9aa4) The **New product 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. **1. Click New attribute** On the Product attributes page, click **New attribute**. **2. Fill in the basics** Enter a **Label** (the name people see) and pick the **Type**. The **Code** (the technical identifier) is generated from the label as you type, and you can edit it. **3. Place it in your model** Optionally pick a **Group** and set a **Sort order**. These control where the field appears in product forms. **4. Set properties** Choose whether the attribute is **Required**, **Unique**, **Filterable**, **Searchable** or **Visible**, and whether **AI can fill** it. New attributes are visible by default. **5. Add a value source (for select types)** For **Select** and **Multi-select**, pick **Type options here** or **Use an option set** (see [Option sets](#option-sets)). For **Number** and **Decimal**, you can link a [unit set](/en/products/units-of-measure). **6. Save the attribute** Click **Create attribute**. Tick **Create another** first if you want the form to stay open for the next one. For options you type on the attribute itself, two switches decide what happens to values that don't fit yet: * **Add new options found during import**: an import that brings an unknown value adds it as a new option instead of dropping it. * **Let AI add new options**: when an AI run finds a value that no option fits, it adds it as an option. Off by default, so AI only picks existing options. Neither switch applies to attributes that use an option set. An option set has its own import rule. > [!WARNING] > > The attribute code can't be changed after creation. Use a descriptive, lowercase format like `screen_size_inches` or `is_waterproof`. Codes also can't clash with reserved system fields such as `sku`, `price`, `brand` or `weight`. > [!NOTE] > > Some plans cap the number of custom attributes. The header then shows how many you have used, and at the limit the **New attribute** button turns into **Upgrade for more**. [Upgrade your plan](/en/settings/billing) to add more. ## Attribute properties Properties shape how the field behaves across your catalog: * **Required**: needed before a product counts as complete. * **Unique**: no two products can share a value. * **Filterable**: shows up as a filter in product lists and channel feeds that support it. * **Searchable**: product search looks inside this value. * **Visible**: shown on the product page. * **AI can fill**: AI enrichment may write a value here. You don't have to reopen the form to change these. Click the **Behavior** cell of a row, switch the properties you want, and apply. ## 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 basics: label, type, group, sort order, properties and the value source for select types. The code stays read-only. Quick edit also holds **Name in other languages**: the attribute's name per project language. Shop exports use these names as the attribute title per language, for example Lightspeed filters and specifications. * **Settings** (the **Settings** items in the row menu) opens the deeper, tabbed configuration below. > [!WARNING] > > Changing the type of an existing attribute can leave product values that no longer fit, such as text in a number field. Quick edit asks you to confirm before it saves the new type. ## Configure attribute settings The settings decide how values are imported, cleaned, filled by AI and exported. They open in a tabbed modal: **General**, **Validation**, **Cleaning**, **Enrichment** and **Platforms**. Which options appear depends on the attribute type. ### General The **Data flow** and **AI** switches decide which operations the attribute takes part in. The **Behavior** column shows each switch you turn off. | Switch | When it's off | | - | - | | **Import values** | Imports skip this attribute's values. The row shows **No import**. | | **Export values** | Values are not sent to channels or export files. WooCommerce attribute sync, dynamic exports and Lightspeed specifications skip it. The row shows **No export**. | | **AI can fill this attribute** | AI enrichment skips it. Values you enter yourself are never touched. The row shows **AI off**. | | **Include in enrichment runs** | The attribute is left out of enrichment runs. Needs **AI can fill this attribute** to be on. | New attributes start with all of these on. **Quality scoring** shows how many products have a value, with a link to the products missing it. Per-attribute weights are set in the [data quality settings](/en/settings/data-quality). ### Validation rules Enforce data quality so bad values never reach your channels: * **Text length**: minimum and maximum character limits, plus a format pattern (email, alphanumeric, phone, or your own regular expression). * **Number ranges**: acceptable min and max values, and decimal places. * **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 replace empty values with a fallback. * **Text**: normalize case, strip special characters, fix encoding, strip 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 "Colour" and "Color" become one. ### Enrichment For text fields, tune how AI fills the attribute: * **Suggest values**: AI proposes values for this attribute when you enrich products. * **Minimum words** and **Maximum words**: word limits for generated text. * **Enrichment instructions**: tell the AI exactly what this field should contain, for example "only the screen size in inches, taken from the specifications". Whether AI values for an attribute are saved right away or wait for your approval is set per field in [**Settings** > **AI review**](/en/settings/ai-review). Filter the field list on **Attributes** to give one attribute its own rule. ### Platforms This tab shows how the attribute maps to each connected sales channel. Mapping itself happens in the integration's **Data Mapping** tool, and the tab links you straight there with **Open Data Mapping tool**. 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 model with Guide catalog structure Starting from scratch, or moving into a new industry? Choose **More** > **Guide catalog structure** (or the recommended card on an empty attributes page). It opens **Organize your products**, a guided flow that looks at the products you select and suggests families, attributes with options, categories and variant groups together. **1. Choose products** Search for a small group of products and select them. Pick **Use an industry guide** or **Choose automatically from my products**. **2. Review suggestions** Click **Find suggestions**. Open a suggestion to see why it was made, adjust it, or leave it out. **3. Confirm changes** Click **Review changes** to see exactly what will be created, reused, updated and linked. Then click **Apply these changes**. Your existing values, cleared fields and translations are kept. > [!NOTE] > > Guide catalog structure needs no credits. You can undo the applied changes as long as they haven't been edited since. ## Add attributes to families Link attributes to product families straight from this page, without opening each family. **1. Select the attributes** Tick the attributes and click **Add to families** in the selection bar. For one attribute, use **Add to families…** in its row menu. **2. Pick the families** Use **Search families** to tick the families that should get the attributes. **3. Decide if they are required** Turn on **Required in these families** if products in these families need a value for the new attributes. **4. Add them** Click **Add to N families**. The change is one step you can undo. Attributes already in a family keep their current settings there. Those links are skipped, not changed. New links are added at the end of the family's attribute order. | Limit per action | Maximum | | - | - | | Selected attributes | 500 | | Selected families | 100 | | New family links | 499 | Above 499 new links you get "That is more than 499 new family links at once." Select fewer attributes or families and run it again. ## Bulk actions on attributes Tick the checkboxes on several attributes and a selection bar appears. **Select all N** selects every attribute that matches your current filters, also on other pages. * **Set properties**: turn **Required**, **Unique**, **Filterable**, **Searchable**, **Visible** or **AI can fill** on or off for the whole selection. Properties you leave at **No change** stay as they are. * **Move to group**: reassign every selected attribute to another [attribute group](#organizing-with-attribute-groups), or to **No group**. * **Add to families**: see [Add attributes to families](#add-attributes-to-families). * **Edit settings**: push operations, cleaning, enrichment and validation rules to every selected attribute. Changing a setting turns its section on, and only sections that are on are applied. The **Preview** tab shows the exact before-and-after changes. * **Enrich**: translate missing attribute names and option labels with AI. See [Translate names and option labels with AI](#translate-names-and-option-labels-with-ai). * **Export**: export the selection. See [Export attributes](#export-attributes). * **Delete**: remove the selected attributes. You can undo it for 5 seconds. > [!TIP] > > Found a set of cleaning and enrichment settings that works well? Use **Save as template** in any attribute's row menu, then pick it with **Apply template…** in **Edit settings**. Templates copy general behaviour only. Enrichment instructions and validation rules stay per attribute. ## 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. ![WISEPIM attribute groups bundling related fields with category-scoped visibility](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/products/attribute-groups-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=27d932e2731076f8a5ccc2f6b81a8858) **1. Open Attribute groups** On the Product attributes page, choose **More** > **Attribute groups**. **2. Click New group** Create a group with a **name** and a **code**. Set a **sort order** to control where the group sits relative to other groups. **3. Set the visibility scope** 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. **4. Assign attributes** Select which attributes belong in this group. **5. Save the group** Click **Save**. The group organizes its attributes into a section in product forms. > [!TIP] > > Group attributes by purpose: a "Specifications" group for technical details, a "Marketing" group for descriptions and features, a "Logistics" group for shipping info. ## Option sets An option set lists the values a **Select** or **Multi-select** attribute accepts. Instead of typing the same options into every attribute, you define the list once and point several attributes at it. Update the list in one place and every attribute that uses it stays in sync. ![WISEPIM option sets page with per-set import handling and value previews](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-attribute-options-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=3c406659f8e58a294d70931a53f6a8b5) Open **Catalog** > **Option sets**, or choose **More** > **Option sets** on the Product attributes page. Click **New option set** to create one. Each option set has: * A **Name**, **Code** and optional **Description**. * A list of **Values**, each with a code and a label per language. Use **Paste values** to add many at once: one value per line, with a tab between code and label to set both. * An **Active** or **Inactive** state per value, so you can retire an option without deleting its history. * A rule for **When an import brings a value that is not in this set**: | Rule | What happens | | - | - | | **Add it and flag it for review** | The value joins the set with a review flag. | | **Add it automatically** | The value joins the set and is active right away. | | **Skip that product** | The product is not imported until the value is added to the set. | The **Used by** column shows how many attributes use each set. When you create or quick-edit a Select or Multi-select attribute, pick **Use an option set** and choose the set. ### Export option sets ![Export attribute options dialog with Scope set to All option sets and the CSV file, Connected platform and Another project destinations](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/attribute-options-export-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=f53f947f2716183e106ceabf18e5bab2) Select option sets and click **Export**, or choose **More** > **Export**. In **Export attribute options**, pick the **Scope** (**Selected option sets** or **All option sets**, up to 5,000 at a time) and a **Destination**: * **CSV file**: download option sets and their values as CSV. * **Connected platform**: export the attributes linked to each set. Most channels receive the values with the next product export. Lightspeed creates the filter definitions and their active values right away. Each option set needs a directly linked attribute. * **Another project**: copy option sets, localized values and import settings to a **Target project**. Sets and values with the same code there are overwritten, so you confirm with **Copy and overwrite**. Values that only exist in the target project stay. > [!TIP] > > Use a shared option 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 most effective way to stop near-duplicate values from creeping into your catalog. ## Translate names and option labels with AI Select attributes or option sets and click **Enrich** in the selection bar to fill missing translations of attribute names and option labels. ![Enrich attributes dialog with Items to enrich, Target languages and Fields to enrich set to Attribute names and Option labels](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/attributes-enrich-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=f0789501f7caa9a4b1485f7efbf3e367) **1. Choose the items** Under **Items to enrich**, pick **Selected** or **All**. You can enrich up to 5,000 items at a time. **2. Choose the languages** Under **Target languages**, tick the languages to fill. All project languages except your main language are ticked by default. **3. Choose the fields** For attributes, pick **Attribute names**, **Option labels** or both under **Fields to enrich**. For option sets, the dialog always fills **Option labels**. **4. Start** Click **Review enrichment**, check the summary, then click **Start enrichment**. Follow the run with **View tasks** in the [Process Tracker](/en/other-features/process-tracker). ![Enrich attribute options dialog with Items to enrich, Target languages and the fixed Option labels field](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/attribute-options-enrich-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=1373a6b71c4af0b0d3a080c31e3c3c23) Existing labels and option codes are kept. Only missing translations are filled. | What you translate | Cost | | - | - | | Up to 50 missing labels in one language (one AI call) | 1 credit | | Labels that already exist | Free | If you don't have enough credits, the dialog tells you how many the run needs and how many you have. This rate is separate from filling product attribute values with AI, which is covered in [AI Attribute Extraction](/en/ai/attributes). ## See and merge values Free-text attributes collect spelling variants over time: "Black", "black " and "Zwart". Choose **See and merge values** in an attribute's row menu to open **Attribute values**. It works for text, choice and color attributes. * **Look-alikes** groups values that only differ in capitals, spaces, spelling or wording. Pick the value to keep and click **Merge**. Merging changes the value on every product that has it. * **All values** lists every distinct value with its product count. Use **Rename**, **Merge into...** or **Make allowed** per value. * **Find look-alikes** asks AI to compare values the rules missed, like Zwart and Black. The button shows the most it can cost, and nothing is merged until you press **Merge**. If the AI doesn't answer, you are not charged. * When an attribute has no allowed values yet, **Use these N values as the allowed list** turns the cleaned-up values into its options. Every merge and rename can be reversed with **Undo last change**. Large merges keep running in the background. > [!WARNING] > > Export to your shop after a merge. Otherwise the next shop import brings back the old spelling. ## Export attributes Choose **More** > **Export**, or select attributes and click **Export** in the selection bar. In **Export attributes**, pick the **Scope** (**Selected attributes** or **All attributes**) and a **Destination**: * **CSV file**: download definitions and settings as a CSV you can import again as-is. * **Connected platform**: enable the attributes in the platform's product-export mapping with **Enable export**. For Lightspeed, pick the **Lightspeed store** and click **Export filters** to create them as filters right away. Their values and product links follow with the next product export. * **Another project**: copy definitions, settings, code sets and matching family links to a **Target project**. Attributes there with the same code are overwritten, so you confirm with **Copy and overwrite**. ## Import attributes Choose **More** > **Import attributes** to bring definitions in from Shopify, Magento, WooCommerce or a CSV file. For CSV, the column mapper covers every column of a WISEPIM attribute export, so an exported file imports again as-is. It also reads files with commas or semicolons as separators. Set a column you don't need to **Ignore** and it is really dropped. The review step shows "All N columns are mapped or skipped." once every column is handled. | Column | How the import reads it | | - | - | | **Group code** (`group`) | The code of one existing attribute group. A blank cell removes the group. An unknown code, or more than one code, fails the row. | | **Data model codes** (`families`) | Family codes separated by commas. This is the full list: listed families gain the attribute, families left out lose it, and a blank cell removes it from all of them. Existing links keep their per-family settings. An unknown code fails the row. | | **Options** (`options`) | `A\|B\|C`, `A;B`, one option per line, or JSON. Commas don't split, so `1,5 m` stays one option. | | **Translated labels** (`label_localized`) | The attribute name per language as JSON, for example `{"nl": "Lengte"}`. | | **Category code** (`category_code`) | Links the attribute to an existing category. A blank cell leaves links unchanged. | Files without the `group` and `families` columns leave groups and families untouched. The other columns (**Required**, **Unique**, **Filterable**, **Searchable**, **Visible**, **Differentiator**, **Sort order**, **Default value**, **Default unit**, and the validation, AI enrichment, cleaning and platform settings) match the export. > [!TIP] > > Pair export with import to bulk-edit: export your attributes, adjust groups or family membership in a spreadsheet, then import the file again. ## 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. * **Search**: search by label or code. * **Filters**: filter by group, type and properties, and combine them with **All** or **Any** matching. * **Views**: built-in views such as **Required**, **Not in a group** and **Needs attention**, plus your own. Use **Save view** to keep the current filters, search and group or type. ## 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. ### A Select attribute stays empty after AI enrichment * AI only picks existing options. A Select or Multi-select attribute without options can't be filled, and the product shows "This field has no options yet. Add options, or let AI add them." * Add options, link an option set, or import a list through the CSV `options` column. * Or turn on **Let AI add new options** in quick edit. ### Validation errors during data entry * Review the validation rules for overly strict settings. * Check for conflicting rules (for example, a minimum higher than the maximum). * Make sure error messages are clear so your team knows what to fix. ### Inconsistent data across products * Open **See and merge values** to merge look-alike values. * Switch from free text to **Select** or **Multi-select**, backed by a shared [option set](#option-sets) where possible. * Turn on **data cleaning** rules to normalize values automatically. * Use the [Data Quality](/en/analytics/data-quality) tools to find and fix inconsistencies. ## Related > **[Product Families](/en/products/product-families)** > > Assign attributes to product families to define which data each product type requires. > **[Units of Measure](/en/products/units-of-measure)** > > Link number and decimal attributes to unit sets for consistent, convertible measurements. > **[AI Attribute Extraction](/en/ai/attributes)** > > Let AI fill attribute values on your products from descriptions and research. > **[Managing Product Categories](/en/other-features/managing-categories)** > > Organize products into hierarchical categories for navigation and filtering. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track completeness and fix inconsistent attribute values across your catalog. > **[Process Tracker](/en/other-features/process-tracker)** > > Follow attribute imports, exports and label enrichment runs. # 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. **Where to find it:** open **Catalog** > **Product Categories**. > [!NOTE] > > Categories are shared across your project. A product can sit in many categories, but always mark one as the **primary category**. Platform integrations, reports and the product's industry all follow 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. > [!TIP] > > 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 that travels 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. | | **Parent category** | The category this one sits under. Leave it empty for a top-level category. | | **Active category** | **Active** categories are included in AI enrichment and channel exports. **Inactive** ones stay in your tree, but AI enrichment and channel exports skip them. | | **Description** | Rich text shown as the category page text on Shopify, Magento, WooCommerce and Lightspeed. | | **Industry** | The industry the AI uses for products in this category. Leave it empty to inherit. See [Set an industry per category](#set-an-industry-per-category). | | **Guidance for AI** | Notes only your team sees: the audience, tone and selling points the AI should use for this category. | | **FAQs** | Questions and answers that can be added to the products in this category. See [Add FAQs to a category](#add-faqs-to-a-category). | | **Meta title**, **Meta description**, **Meta keywords** | SEO fields for search engines. A **Search preview** shows how the result looks. | | **URL slug** | The URL-friendly identifier (for example `smartphones`). Generated from the name when you create the category, then read-only. | | **Sort order** | Position within the same level. Categories sort by this number, then alphabetically. | The full hierarchy path (like `electronics/smartphones`) is built automatically from the parents you choose, so you never type it by hand. ## Find your way around the page ![WISEPIM Product Categories page in tree view with attention chips and product and subcategory counts per category](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-categories-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=d291250ec869ee4cf38129a5eb699cec) ### Header actions The header shows how many categories you have and how many sit at the top level. Next to it you find: * **Enrich with AI**: write descriptions, SEO text and translations for your categories. See [Fill categories with AI](#fill-categories-with-ai). * **New category**: create a category. * **Product categorization policy**: opens [**Settings** > **AI review**](/en/settings/ai-review), where you decide whether AI category suggestions are saved right away or wait for your approval. * **More actions**, grouped in four sections: | Section | Actions | | - | - | | **Improve** | **Enrich with AI** | | **Bring in** | **Import categories** from a connected store or a CSV file | | **Send out** | **Export**, to a CSV file, a connected channel or another project | | **Set up** | **Suggest industries** and **Configure mapping** | ### Categories that need attention Above the tree, a strip of chips counts the categories with a gap. Click a chip to show only those categories. | Chip | What it means | | - | - | | **No products** | No subcategories or products. Shoppers who open it see an empty page. | | **No description** | No category text yet. Category pages with a description rank better in search. | | **No SEO** | Missing a meta title or meta description. | | **Inactive** | Switched off, so hidden from your channels. | | **Untranslated** | Missing a translated name or description in at least one of your languages. | | **On a parent** | Products sit on the parent instead of in a subcategory, so shoppers who browse deeper won't see them. | With a chip active you can click **Fill with AI** to fill that gap for every matching category, or **Select all** to act on them in bulk. When nothing is left, the strip says **Every category has products, a description and SEO.** When products in your catalog have no category at all, a callout counts them and offers **Suggest categories with AI** or **Assign manually**. ### Tree and table views Categories show as an interactive tree by default. Expand and collapse branches, or use **Expand all** and **Collapse all**. Each row shows the products assigned directly and the count "in branch", which includes the subcategories. Switch to **Table view** for a flat list with **Content** and **Status** columns. Search by name, path or description. Matches are highlighted, and parents of a match stay visible so you keep the context. ### Row menu Open the menu on any row for these actions: | Group | Actions | | - | - | | **Organize** | **Add subcategory**, **Rename**, **Move to…**, **Move up**, **Move down**, **Select with subcategories** | | **Content** | **Enrich this category**, **Category rules**, **Activate** or **Deactivate** | | **Products** | **View products**, **Add products** | | **Delete** | **Delete** | ### Work with a selection Tick the boxes to select categories. The selection bar lets you set the **Status**, move them with **Move to…**, **Translate**, **Enrich**, **Export** or delete them. Your selection can span pages. Select every row on the page, then choose to select all matching categories. WISEPIM selects up to 5,000 at once. Above that you see **Selected the first 5,000 matching categories.** ## Create a category ![WISEPIM New category dialog with name, parent category, active switch and the Create and add another button](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/categories-create-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=aed0f2712923fda9b9b9fde0d0c35d23) **1. Open Product Categories** Go to **Catalog** > **Product Categories**. **2. Click New category** Click **New category**. To add a child straight away, use **Add subcategory** in the row menu of the parent instead. **3. Fill in the basics** Enter a **Name**. Only a name is needed. Pick a **Parent category** if this is a subcategory, and leave **Active category** on unless you want to hide it for now. **4. Add content (optional)** Open **Add description, AI notes and SEO (optional)** to add a description, an industry, guidance for the AI and SEO fields. You can also leave these empty and let AI write them later. **5. Save** Click **Create category**. Building out a branch? Click **Create and add another** to keep the dialog open for the next one. WISEPIM warns you when the parent already has a category with the same name, and offers to open the existing one instead. ## Set an industry per category Your project has one primary industry, set in [General Settings](/en/settings/general). Mixed catalogs often need more than one. The **Industry** field on a category tells the AI which industry knowledge to use for the products in it and in subcategories that don't set their own. * Leave the field empty (**Inherit**) and the category uses the industry of the nearest parent that has one. The field then shows **Inherited from** that parent. * If no parent sets an industry, you see **Not set. Products here use the project's industry.** A product takes the industry of its primary category. Descriptions, titles, SEO meta and buyer FAQs all use it. When you change a category's industry, or move it under a parent with a different one, WISEPIM recalculates the quality scores of the affected products shortly after. ### Let AI suggest industries Setting an industry on every branch by hand is slow. Open **More actions** > **Suggest industries** and the AI picks an industry for each product group. **1. Start the suggestions** The AI reads your category names, paths, a few subcategories and product names, your project industry and the business profile in your [Knowledge Library](/en/other-features/knowledge-library). By default it looks at your top-level categories, plus the subcategories of a top-level category that has no products of its own, up to 80 categories per run. **2. Review each row** Every row shows the suggested industry with **High confidence**, **Medium confidence** or **Low confidence**, and up to two alternatives under **Also fits:**. Choose **Accept**, **Choose another** or **Skip**. Use **Accept all high confidence** to take every strong match at once. **3. Apply** Click **Apply N changes** to save the accepted changes. They are saved together: if a category changed while you reviewed, nothing is saved and you open the review again. > [!NOTE] > > | | | > | - | - | > | **Cost** | 1 credit per 15 categories reviewed. The dialog shows the credits used. | > | **Refund** | If the AI can't return suggestions, you are not charged. | > | **Limit** | Up to 80 categories per run. | > | **Access** | You need edit rights on the project. Team spending limits apply. | ## Add FAQs to a category When you edit a category, the **FAQs** group holds questions and answers for the whole category. Add them once and they can be added to every product in it. * With **Added to products in this category** on, products directly in this category get these questions after their own. Subcategories don't inherit them. * With **Not added to products**, the questions stay on the category only. The tree shows an FAQ count on categories that have questions. Translate category FAQs along with the rest of the content in the enrichment dialog. Read [Product FAQs](/en/ai/product-faqs) for how product and category FAQs work together. ## Assign products to categories There are three ways to put products into a category: * **From the category:** open the row menu and choose **Add products**. Pick products from your catalog, then add them in the selection bar. * **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. Or let the AI do it with [AI Categorization](/en/ai/categorization). > [!TIP] > > Assign products to the most specific child category, not a broad parent. A laptop belongs in "Electronics > Laptops", not just "Electronics". The **On a parent** chip finds the ones that slipped through. ## Keep AI categorization in the right place AI categorization is fast, but some products must never land in some categories. **Category rules** in the row menu set limits by attribute, for example **Never put products here** when an attribute has a certain value, or **Only put products here** when it does. You can also ask the AI to check with you below a confidence level, or **Always ask me before putting products here**. Click **Test on 5 products** before you **Save rules**. Rules apply to the category and its subcategories. Read [Catalog Jobs](/en/products/catalog-jobs) for the full rule editor and the jobs that use it. ## 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 Click **Enrich with AI** for every active category, select categories and click **Enrich**, or use **Enrich this category** in a row menu. You choose: * **Fields to enrich**: description, meta title, meta description and meta keywords. Tick **Also translate category names** or **Also translate category FAQs** to include those. * **Target languages**, so multilingual catalogs get covered in one run. Content is written in your primary language plus the languages you pick. * **Internal links** to weave in. The AI adds 2 to 4 of your targets as natural links. Leave it empty and the AI picks related categories itself. * **Fill empty fields only**: on, fields that already have text are skipped. Off, AI text replaces what's there now. Not sure about the result? Use **Preview on a sample** to try one category first. Nothing is saved until you start the run. The run continues in the background and shows up in the [Process Tracker](/en/other-features/process-tracker). Inactive categories are skipped. When your selection includes some, the dialog says how many are skipped, and they are not charged. ### Translate categories Already happy with the text in your main language? Select categories and click **Translate**. WISEPIM translates the main-language text into the languages you pick and never touches the main language. **Keep existing translations** skips fields that already have a translation. Fields without main-language text are skipped, so nothing gets made up. ### Per-category AI assist When you edit a single category, the **AI assist** group lets you generate a description or SEO meta for that one category, compare it with the current text and apply it. Save a new category first to generate a draft. Add **Guidance for AI** to steer the result toward your tone or must-mention details. > [!NOTE] > > | Action | Cost | > | - | - | > | **Bulk enrichment and translation** | 1 credit per category per language the AI writes. The dialog shows the maximum before you start. | > | **Preview on a sample** | 1 credit | > | **Skipped and inactive categories** | Free | > | **Failed categories** | Refunded | ## Import and export categories You do not have to build your tree by hand. ### Import Open **More actions** > **Import categories**. Import the tree from a connected store, or choose **CSV import** to map a spreadsheet. The import runs in the background; follow it in the [Process Tracker](/en/other-features/process-tracker). ### Export Open **More actions** > **Export**, or select categories and click **Export** in the selection bar. ![WISEPIM Export product categories dialog with selected or all categories and CSV file, another project and channel destinations](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/products/categories-export-modal-light-transparent.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=7bf99321ef4201817a003beb60d0b846) First pick the **Scope**: **Selected categories** or **All categories**. Then pick a **Destination**: | Destination | What happens | | - | - | | **CSV file** | Downloads category names, hierarchy and content as CSV, with id, name, slug, path, parent, sort order, product count, active status and description. | | **Another project** | Copies the categories and their required parents to a project you can edit. Categories there with the same slug and parent are overwritten after you confirm **Copy and overwrite**. Other categories and existing channel links stay as they are. | | **A connected channel** | One card per connected Shopify, WooCommerce, Magento, Lightspeed or CCV Shop store. For a selection, the required parent categories are included to keep the hierarchy. Click **Start export** and follow it in the Process Tracker. | > [!WARNING] > > Channel exports only create and link **active** categories, and every parent of a selected category must be active too. When something in your selection is inactive, the dialog says **Export will fail** and names the categories, marking parents as "(parent category)". Click **Activate category** (or **Activate N categories**) to switch them on, or **Show inactive categories** to review them first. > [!NOTE] > > A channel export takes up to 5,000 selected categories. Exports and copies cost no credits. ## Reorganize your tree Use the row menu to **Rename** a category, **Move to…** a new parent, or **Move up** and **Move down** within its level. When you move a category, its children move with it and the hierarchy path updates automatically. Renaming keeps the URL slug. The slug is set when you create the category and stays the same, so links on your channels don't break. 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. ### Delete categories Choose **Delete** in the row menu, or select categories and delete them together. Before you confirm, the dialog sums up what gets deleted: the selected categories, the subcategories below them, and how many product links are removed. **Your products stay in the catalog.** Want a backup first? Download the categories as CSV straight from the dialog. > [!WARNING] > > Deleting a category also deletes its subcategories, and this can't be undone. To hide a category for now, **Deactivate** it instead. ## Map categories to your sales channels Every platform has its own category system. Open **More actions** > **Configure mapping** to map your WISEPIM categories to each platform's categories, 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 | | **CCV Shop** | CCV Shop categories | ## Troubleshooting > **Products are not showing in a category** > > * Confirm the product is assigned to the category on its product page. > * Check whether the category is **Inactive**. > * Products on a parent don't show up in its subcategories. The **On a parent** chip finds them. > **A category is not showing on a platform** > > * Confirm the category has a mapping under **Configure mapping**. > * Check that the category and all its parents are active. Channel exports skip inactive ones. > * Review the platform's category rules. Some require specific fields or formats. > **The export to a channel failed** > > * Activate the inactive categories or parents the dialog named, then export again. > * On CCV Shop, an import row fails when two WISEPIM categories are linked to the same CCV category. Merge them before you import again. > **Enrichment skipped some categories** > > * Inactive categories are always skipped and not charged. > * With **Fill empty fields only** on, fields that already have text are skipped. > * Translation skips fields that have no main-language text. > **The tree looks wrong** > > * 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 > **[Product Families](/en/products/product-families)** > > Define which attributes each product type needs using families. > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > Create the custom fields that store your product data. > **[AI Categorization](/en/ai/categorization)** > > Let the AI put products in the right category. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Run catalog jobs and set the category rules they follow. > **[Product FAQs](/en/ai/product-faqs)** > > Add buyer questions to products and categories. > **[Category Insights](/en/analytics/category-insights)** > > 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. ![WISEPIM overview dashboard with catalog-health score, quality trends and a ranked action queue](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/overview/overview-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=eb23dfa2f4323d7b3e9a38f0c522ba51) 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. > [!NOTE] > > 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 `{gap}`**, a gap taken from the project's current catalogue coverage. * **Next: review `{channel}`**, when a channel's latest sync reports errors. * **Next: complete `{locale}`**, 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 **1. Health header** 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. **2. Daily briefing** 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. **3. Quality pulse** 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. **4. Action queue** "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. **5. Catalog health and activity** 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. **6. Quick launcher** 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. > [!TIP] > > 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. ![WISEPIM overview scrolled to recent activity and improvement-impact ranking](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/overview/overview-activity-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=f909195874c90f1fcb2c7b95dfe9a5ca) ## Act on what you find > **Your quality score dropped overnight** > > 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. > **A product family is dragging the score down** > > 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. > **You want the deeper numbers behind a pulse** > > 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." > **You are not sure what to do first** > > 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 > **[Analytics Hub](/en/analytics/overview)** > > The full reporting suite behind the Overview's pulse and health numbers. > **[Data Quality](/en/analytics/data-quality)** > > Field-level health, quick wins, and the fix workspace. > **[Managing Products](/en/essentials/managing-products)** > > Where the action-queue jumps land, filtered and ready to fix. > **[Quick Win](/en/essentials/quick-win)** > > A guided first run that shows the dashboard come to life. > **[Weekly catalog health routine](/en/guides/weekly-maintenance-routine)** > > A 45-minute Monday ritual that turns this dashboard into a repeatable habit. # Catalog Jobs Source: https://docs.wisepim.com/en/products/catalog-jobs Guided background jobs that fill gaps, complete supplier sheets, fix images and more. See the credit estimate first and review what AI is unsure about. ![WISEPIM Catalog Jobs hub with review, schedule and run counts, a banner with suggestions waiting for review, job filters, recently used jobs and job cards](https://mintcdn.com/swiftsyncai/t_sarMlF7wjzJzzt/images/marketing-screenshots/catalog-jobs/catalog-jobs-light-branded.webp?fit=max\&auto=format\&n=t_sarMlF7wjzJzzt\&q=85\&s=3b83a432328f686b166f78306e6aa862) Catalog Jobs are guided jobs that work through your catalog in the background. Pick a job, such as **Fill the gaps** or **Fix missing images**, check the settings WISEPIM prepared for you, and start it. The job scans your products, tells you what it will cost, does the work, and puts every result it is unsure about in a review queue. Nothing reaches your shop until the export step. **What this page enables:** you can pick the right job for a catalog problem, know what it costs before you start, decide how much WISEPIM may apply on its own, and set a job to repeat by itself. **Where to find it:** in the **Catalog** menu, choose **Catalog Jobs**. It carries a **Beta** chip: the feature is new and still being improved. ## Where to find Catalog Jobs The **Catalog** menu looks different depending on your **Interface version** (see [Appearance Settings](/en/settings/appearance)): | Interface version | Where Catalog Jobs sits | | - | - | | **Stable** (default) | **Catalog** > **Catalog Jobs**, in the main list next to **All Products** and **Product Categories**. | | **Experimental** | **Catalog** > **Catalog Jobs**, at the bottom of the menu next to **Review inbox**. | You can also start a job from the products table. Select products, then click **Run a job** in the selection bar. A menu such as **Run a catalog job on 40 products** lists the jobs that fit, with the note "You see the estimate before you start." The job then opens with your selection already filled in. Or open the command menu (Ctrl/⌘ K) and type **Catalog Jobs**. ## The hub The hub is where you start jobs and keep an eye on them. | Part | What it shows | | - | - | | Header counts | How many suggestions are open **to review**, how many **runs** you have and how many **schedules**. | | **Suggestions waiting for you** | A banner when suggestions need your review, for example "97 suggestions need your review". Click **Review now** to open the [review queue](/en/products/catalog-jobs-review). | | **Recommended for you** | One next step, based on what the scan found in your catalog. **Not now** hides that recommendation for two weeks. **Also worth a look** lists other good candidates. | | **Start a job** | Every job as a card. Search with **Search jobs...** or filter with **Show jobs for**: **All**, **Add products**, **Improve products**, **Keep in sync** or **Sell on more shops and channels**. | | **Recently used** | The jobs you ran last, each with **Run again**. | | **Run it on a schedule** | Ready-made schedule templates. See [Schedules](#schedules). | | **Your schedules** | Jobs that run by themselves. | | **Recent runs** | Every run with its status, open suggestions and headline results. | Each job card shows what it does, what it needs, how long setup takes ("About 2 minutes to set up") and chips such as **Free** (the job uses no AI), **Repeats** (the job can run on a schedule) or **Coming soon**. Click **Start** to open the setup. ## How a job works Every job follows the same five stages. **1. Scan** WISEPIM checks your catalog first, so every setup step opens filled in. For example, **Fill the gaps** tells you how many products miss at least one attribute and which attributes have allowed values. **2. Estimate** Before you start, the **This run** card shows the expected cost in credits, broken down per step. If you are short, it says so and offers **Buy credits**. **3. Run** The job works through its steps in the background. You can close the page: the run keeps going and shows up in Catalog Jobs. **4. Review** Results at or above your confidence threshold are applied for you. Everything else waits in the [review queue](/en/products/catalog-jobs-review), where you accept, change or reject each suggestion. **5. Export** Accepted changes go to your shop, into an import file, or stay in WISEPIM. You choose which on the last setup step. ## Set up and start a job The setup is a short wizard. It shows **Step 1 of 3** and so on, with **Back** and **Continue**. The steps depend on the job: **Fill the gaps** has **Products**, **How to fill** and **Start**; **Complete a supplier sheet** has **Upload**, **Read the codes**, **What to add** and **Start**. > [!TIP] > > In a hurry? Click **Start with recommended settings** to skip straight to the start step with the settings WISEPIM picked for your catalog. ### Choose the products Under **Which products?** you pick the scope: * **Only the 40 products you selected**, when you came from the products table. * **All 1,250 matching products**: everything that matches your filters on the products page. * **Every product this job finds**: the job looks across your whole catalog. Switch on **Only parent products, variants follow** when values such as frame colour or size are the same for every variant. It saves credits. ### Adjust each step Each step opens with **How to set up this step**: keep **Recommended** or choose **Customize**. Chips next to each setting tell you where its value comes from, such as **Recommended**, **Your last setting for** a shop, **From this schedule**, **Project setting**, **Shop setting** or **Default**. A setting you changed shows **Changed**, and **Back to recommended** resets it. Settings that protect your data are locked and marked **Always on**. With more than one shop, choose **Same settings for every shop** or **Settings per shop**. The **What this does** preview shows the effect on a sample of your products. The numbers are close, not exact. ### Decide what WISEPIM applies on its own **When should we apply changes for you?** sets the confidence threshold for this run: | Preset | What it means | | - | - | | **Careful** | Only when WISEPIM is at least 95% sure. More to review. | | **Balanced** | At least 85% sure. The default, and what most teams pick. | | **Fast** | At least 70% sure. Less to review, so check the report. | | **Never** | Don't apply anything. You review every suggestion. | After you have reviewed enough suggestions, WISEPIM can show **Recommended from your past reviews** with a threshold based on what you accepted before. Everything below the threshold waits in the review queue. ### Choose what happens when it is done Under **When it's done** you pick where accepted changes go. For a WooCommerce shop the choices are: * **Send to WooCommerce after I review**: only accepted changes are sent, after a review step. * **Send without waiting for my review** * **Give me a WooCommerce import file** * **Keep the changes in WISEPIM** With several shops you choose per shop: **Send to the shop**, **Keep in WISEPIM** or **Download a file**. Tick **Remember these choices for** your shop to reuse them next time. ### Try it first **Try it on 10 products first** runs the job on a small sample. The trial suggestions wait in the review queue, and the full run reuses them, so nothing is wasted. Click **Start run** when you are ready. If a run can't start, nothing is charged. ## Available jobs | Job | What it does | What it needs | | - | - | - | | **Fill the gaps** | Finds products that miss attributes and fills them from the photo and the web. Sticks to your allowed values or the ones your shop already uses. Free text answers wait for your check. | Your products in WISEPIM | | **Complete a supplier sheet** | You upload a sheet with codes and short descriptions. WISEPIM decodes them, finds images and fills the details. Rows that belong together become one product with variants. | A supplier sheet: Excel (.xlsx, .xls) or CSV | | **Fix missing images** | Swaps placeholder images for real photos, from your old store or the web. | Products with a placeholder or no image | | **Turn look-alikes into variants** | Products that are one model in several colours become one product with variants. See [Product Variants](/en/products/product-variants). | Your products in WISEPIM | | **Image studio** | White background, square frame, a lighter file and alt text for every photo. | The photos you already have | | **Complete beauty product data** | Ingredients, volume, shade and skin type from the pack photo and trusted sites. | Products in your beauty categories | | **Map categories between shops** | Matches your categories to another shop's tree once, so products you list there land in the right place. | Another shop you can open in WISEPIM | | **Sync supplier stock and prices** | Reads your supplier's list, updates stock and prices, and shows what is new or gone. | A stock or price list by upload, link, FTP, SFTP or email | | **Retire sold-out products** | Moves sold-out products out of your shop. Never touches products with open orders. | Works best with your orders synced | | **Make each shop unique** | Writes a version of each product for every shop, so your shops stop competing in Google. | 2 or more shops in this project | | **Translate a shop** | Translates products, categories and values. Brand and shade names stay as they are. | A second project language | | **Get ready for Google and Meta ads** | Gets your products approved on Google Shopping and Meta by fixing categories, identifiers, titles and claims. | Merchant Center or a feed | If a job doesn't fit your project yet, its card says why, for example "Add a second language first" or "You have no other shop in WISEPIM yet". ## Credits > [!NOTE] > > Only steps that use AI cost credits. The rest is free. You always see the estimate before you start, and each step is charged once per product, even if a run is retried. | AI step | Credits | | - | - | | Reading a product photo | 1 per product | | AI decision (for example, picking an allowed value or reading a code) | 0.05 per decision (20 decisions is about 1 credit) | | AI reading a supplier code the rules couldn't read | 1 per product it improves | | Checking a product's photos | 1 per product | | Sorting a product into a category with AI | 1 per product | | Web search | 5 per product, the standard [Web Research](/en/ai/web-research) rate | Some jobs add their own options with a price shown next to the switch: | Job option | Credits | | - | - | | **Read missing options from the photo** (look-alikes) | 1 per product without the option | | **Alt text** (Image studio) | 1 per product for each language | | **Check cut-outs** (Image studio) | About 1 per cut-out | | **Use AI for rows the codes don't find** (supplier sync) | About 1 per row it looks at | | Translation **Quality**: **Standard** / **Best** | 1 / 5 per product per language | | **Also translate categories and attribute values** | 1 per category per language | | Long description in **Make each shop unique** | 1 more per product per shop | | **Search the web for barcodes and brands** (ads) | 5 per product | | Trusted websites (beauty data) | 5 per product family | Fetching photos from your old store, photo edits in Image studio, rule-based code decoding and exports are free. Reviewing is free too, including bulk decisions. If credits run out during a run, it pauses with **Paused: not enough credits**. Top up and click **I've topped up**, or click **Continue with what we have**: the run uses your remaining credits and lists the products it skipped in the report. ## Limits | Limit | Value | | - | - | | Products per run | 50,000. Select more and WISEPIM takes the first 50,000; start another run for the rest. | | Schedules per project | 100 | | Accept all High in the review queue | Up to 2,000 suggestions per click | | Bulk review decisions | Up to 50,000 suggestions at once | ## Schedules ![WISEPIM Catalog Jobs hub showing Your schedules with Needs you, Paused and Active chips, a skipped-run note, and Recent runs with open suggestion counts](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/catalog-jobs-schedules-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=522cf5d3d4ae33555d694b2d55713414) A schedule turns a job into an automation that runs by itself. There are two ways to make one: * **On the start step**, under **Repeat this job**, pick **Just this once**, **After every import**, **When a file arrives**, **Every day**, **Every week** or **Every month**. For timed runs, set the **Day of the week** or **Day of the month**, the **Time** and the **Time zone**. The cost line tells you what each run uses and what that adds up to per month. * **From a template** under **Run it on a schedule** on the hub: **Fill gaps every week**, **Complete new supplier sheets** or **Fix new missing images**. Click **Use template**. > [!NOTE] > > Repeated runs don't wait for you. They send what is checked and keep the rest in your review queue. WISEPIM lets you know when one needs you. **Your schedules** on the hub lists each schedule with its timing, next and last run, and a status chip: **Active**, **Paused**, **Needs you** or **Last run stopped**. Open one to manage it: | Action | What it does | | - | - | | **Run now** | Starts a run right away. The confirmation shows the expected credits. Your schedule stays the same. | | **Pause** / **Resume** | Stops or restarts the schedule. | | **Review** | Opens the open suggestions from this schedule. | | **Delete schedule** | Stops the schedule. Past runs and their reports stay. | The schedule page also shows **How it's set up** (**When**, **What**, **Review**, **When it's done**, **Cost**), **Since last run** and the **History** of every run. WISEPIM skips a run, and tells you why, when the previous run is still busy, when a run is too late to catch up, or when there aren't enough credits. You get at most one notification per schedule per day, for example that a schedule needs you, stopped, or was skipped twice in a row. Schedules are automations, so they also show in the [Automations](/en/automations/overview) builder. ## Follow a run Open a run from **Recent runs** to see it live. The header shows the credits used against the estimate, and a line like "So far: 120 applied · 32 to review · 2 need attention". **Steps of this run** shows where it is. Each run has a status: **Not started**, **Estimating**, **Running**, **Needs your review**, **Exporting**, **Done**, **Stopped**, **Cancelled**, **Ready to send**, **Ready for your file** or **Ready to go on**. * **Cancel run** stops after the current batch. Changes already applied stay, and open suggestions stay in the review queue. * When the run waits for you before exporting, choose **Review 32 suggestions**, **Send what's accepted now** or **Download a file instead**. ## The run report ![WISEPIM run report for Fix missing images with result cards, a Step by step table with ok, to check and credit counts per step, and before and after examples](https://mintcdn.com/swiftsyncai/t_sarMlF7wjzJzzt/images/marketing-screenshots/catalog-jobs/catalog-jobs-report-light-branded.webp?fit=max\&auto=format\&n=t_sarMlF7wjzJzzt\&q=85\&s=b68dd6f1d0d2b10afe9513d1510aac80) When a run finishes, its page becomes the **Run report**. Use **Print** for a copy or **Run again** to repeat it. | Section | What it shows | | - | - | | Result cards | The numbers that matter for this job, such as **Attributes filled**, **Images found**, **Decoded**, **Categorized**, **Checked and kept**, **Needs review**, **Applied for you** and **Exported**. Hover the question mark for the definition. | | **Step by step** | Every step with its products, how many are ok, to check or failed, and its credits, or **Free**. Click **Show products** for the details. | | **Before and after** | Example products per step, so you can judge the quality. | | **What needs you** | Open suggestions with a **Review** link, and products that didn't work. | | **Export** | What was sent to your shop, or **Download file** for an import file. | If a run ran out of credits, the report says how far it got, for example "We ran out of credits after 400 of 1,000 products.", with **Run the rest**. If a step failed, everything done before it is kept. ## Act on what you find > **Too many suggestions end up in the review queue** > > Lower the threshold for the next run, from **Careful** to **Balanced**, or use the threshold WISEPIM recommends from your past reviews. In the review queue itself, **Accept all** on the High band clears the confident suggestions in one click. > **A run costs more than you expected** > > Open the report and check the credits per step in **Step by step**. Web search is usually the biggest cost: turn off **Search the web when the photo isn't enough** or switch on **Only parent products, variants follow** for the next run. > **A scheduled run was skipped** > > Open the schedule. The page says why, for example that there weren't enough credits or that the previous run was still busy. Top up, or use **Run now** once the earlier run has finished. > **A job card says it isn't available** > > Read the note on the card. Most jobs need something first, such as a second shop, a second language or a connected Merchant Center. ## Related > **[Catalog Jobs Review Queue](/en/products/catalog-jobs-review)** > > Accept, change or reject what a job suggested. > **[Review Inbox](/en/products/review-inbox)** > > Every AI suggestion waiting for a person, from any source. > **[Product Variants](/en/products/product-variants)** > > How parents and variants work, and how to group look-alikes. > **[Catalog Structure](/en/products/catalog-structure)** > > Set up families, categories, fields and variant groups. > **[AI Review Settings](/en/settings/ai-review)** > > Choose which AI changes are saved right away and which wait for you. > **[Usage Settings](/en/settings/usage)** > > See where your credits went, per action and team member. # Catalog Jobs Review Queue Source: https://docs.wisepim.com/en/products/catalog-jobs-review Check what a Catalog Job suggested before it reaches your products. Filter by confidence, accept the sure ones in bulk, change values, reject or undo. ![WISEPIM Catalog Jobs review queue with run and attribute filters, High, Check and Unsure tabs, an Accept all High banner, keyboard hints and suggested attribute values with confidence scores](https://mintcdn.com/swiftsyncai/t_sarMlF7wjzJzzt/images/marketing-screenshots/catalog-jobs/catalog-jobs-review-light-branded.webp?fit=max\&auto=format\&n=t_sarMlF7wjzJzzt\&q=85\&s=610dd5447d31d5d3dffddad115e92566) Every [Catalog Job](/en/products/catalog-jobs) ends in the review queue. Anything the job was not sure enough to apply on its own waits here: attribute values, categories, images, supplier codes, variant groups and more. Accept what looks right, change a value, or reject it. Nothing reaches your shop before you export. **What this page enables:** you can clear a pile of suggestions quickly by accepting the confident ones in bulk, spend your attention on the unsure ones, and take back a decision when you got it wrong. **Where to find it:** click **Review now** on the [Catalog Jobs](/en/products/catalog-jobs) hub, or **Review 32 suggestions** (with your own count) on a run page. When you open it from a run, the header shows **From:** with the run name, so you only see that run's suggestions. > [!NOTE] > > The review queue only holds Catalog Jobs suggestions. AI suggestions from other sources, such as AI fill or web research, wait in the [Review Inbox](/en/products/review-inbox). Catalog Jobs suggestions show there too, marked **From a Catalog Jobs run**. ## Confidence bands Each suggestion carries a confidence score and falls into one of three bands: | Band | Score | What to do | | - | - | - | | **High** | At or above your threshold (85% by default) | "We're confident. Safe to accept." | | **Check** | Between 60% and your threshold | "Probably right. Give it a quick look." | | **Unsure** | Below 60% | "We're not sure. Check this one or reject it." | The threshold is the one you picked when you started the job (**Careful**, **Balanced** or **Fast**), or your project default. Click the score on a row to see what it means: "Out of 100 suggestions this sure, we expect about 94 to be right." ## Filter and sort The toolbar narrows the list: | Control | What it does | | - | - | | **Run** | Show one run, or **All runs**. | | **Field** | Show one attribute or kind of suggestion, or **All fields**. | | Search | Find a product by **SKU or product name**. | | Band tabs | **All**, **High**, **Check** or **Unsure**, each with its count. | | **Any confidence** | Pick a custom confidence range. | | Sort | **Surest first** or **Least sure first**. | Suggestions are grouped per field, with a count of what is still open in each group. ## Accept all High When there are High suggestions, a green banner says, for example, "17 High suggestions. We're confident about these." Click **Accept all 17** to apply them in one go. The confirmation reminds you that you can still change any value on the product afterwards. To pick your own cut-off, click **Choose a threshold**. A small chart shows how your open suggestions spread over the confidence range. Pick a preset (**Careful**, **Balanced**, **Fast** or **Recommended**, which is based on what you accepted before) or drag to a value, then accept everything at or above it. **Use the default** goes back to your normal threshold. > [!NOTE] > > One click accepts up to 2,000 suggestions. If there are more, click again after the first batch. Suggestions that fail to apply stay in the queue with the reason. ## Decide on one suggestion Each row shows the product, the field, where the value came from (for example "from the photo" or "from your rules"), the current value, the suggestion and its confidence. | Action | What it does | | - | - | | **Accept** | Applies the suggestion to the product. | | **Reject** | Leaves the product as it is. | | **Change value** | Pick or type another value, then accept that instead. | | **Why?** | Opens the **Why we suggest this** drawer. | | **Undo** | Takes back the decision you just made. | ### Why we suggest this The drawer explains the suggestion: * **Why we think so**: the reasoning, such as the value it matched or the rule it followed. * **Sources**: the photo, web page or supplier code behind it. * **How sure we are**: the score, and the **Runner-up** value it almost picked. A small gap is flagged as a close call. * **Decided by**: "our judge model", "an AI model", "a fixed rule, no AI" or "the source, copied as is". ### Image suggestions Image rows show the current image next to the suggested one. Depending on the job, the actions are **Replace placeholder**, **Replace image**, **Add to gallery**, **Add as main image** or **Remove: doesn't match**. Click **Compare images** to see them side by side. ### Variant group suggestions ![WISEPIM review queue filtered to variant groups, each row showing which products become one product with their SKUs and colour options](https://mintcdn.com/swiftsyncai/t_sarMlF7wjzJzzt/images/marketing-screenshots/catalog-jobs/catalog-jobs-review-variants-light-branded.webp?fit=max\&auto=format\&n=t_sarMlF7wjzJzzt\&q=85\&s=e6bad6bdddbb6a6a7e997770fad08909) **Turn look-alikes into variants** suggests groups such as "4 products become one: Snap Retro", with each member's SKU and option value. Accepting a group creates one parent product with the members as its variants. See [Product Variants](/en/products/product-variants). Click **Edit group** to fix a group before you accept it: "Untick a product that is a different model. At least two stay in the group." You can also rename the new product. > [!WARNING] > > A group with products that are already listed on your Shopify shop can't be accepted yet. The row says so: "Can't be accepted yet: some of these products are on your Shopify shop". ## Work in bulk Tick rows, or use **Select all 37 on this page** (with your own count), and a dock appears: | Action | What it does | | - | - | | **Accept all** | Accepts every selected suggestion. | | **Reject** | Rejects every selected suggestion on this page. | | **Set to...** | Sets one value on every selected row. This only works when every selected row is the same attribute. | Bulk decisions are free. Large batches run in the background, so you can keep reviewing. One bulk decision covers up to 50,000 suggestions. ## Keyboard shortcuts The queue is built for the keyboard. Click **Hide keyboard hints** to hide the reminder bar. | Key | Action | | - | - | | J / K | Move to the next or previous suggestion | | A | Accept | | X | Reject | | E | Change value | | Enter | Why? | | Space | Select | | ⌘Z | Undo | | ⇧A | Accept all High | | / | Search | ## Undo a decision **Undo** on a row, or ⌘Z, takes back your last decision. After a bulk decision, the result message offers undo for the whole batch, for example "We took back 17 decisions". The suggestions go back into the queue. You can undo attribute values, product details, categories and supplier codes. A value that changed on the product since you accepted it stays as it is. Photos can't be undone from here: "17 photos stay as accepted. Change them on the product." ## When a suggestion can't be applied Sometimes an accept fails. The row stays in the queue with the reason: | Message | What happened | | - | - | | "This product changed since we suggested this. Nothing was applied." | Someone edited the field after the job ran. Check the product. | | "That value isn't one of your allowed values." | The option list changed. Pick another value with **Change value**. | | "This attribute no longer exists." | The attribute was deleted. Reject the suggestion. | | "Someone already decided this one." | A teammate got there first. | ## Act on what you find > **Hundreds of suggestions are waiting** > > Start with the **High** tab and **Accept all**. Then sort the **Check** tab by **Least sure first** and work down with the keyboard. Leave **Unsure** for last: reject what looks wrong. > **The same wrong value keeps coming back** > > Open **Why?** to see the source. If a supplier code is misread, teach it in the supplier glossary. If the allowed values are too broad, tighten them on the attribute in [Managing Product Attributes](/en/other-features/managing-attributes). > **You accepted something by mistake** > > Press **Undo** on the row, or ⌘Z right away. For a bulk accept, use the undo in the result message. > **A variant group mixes two models** > > Click **Edit group**, untick the product that doesn't belong, and accept the rest. Or reject the whole group. ## Related > **[Catalog Jobs](/en/products/catalog-jobs)** > > Start jobs, set the confidence threshold and read run reports. > **[Review Inbox](/en/products/review-inbox)** > > The project-wide inbox for every AI suggestion. > **[Product Variants](/en/products/product-variants)** > > What happens when you accept a variant group. > **[AI Review Settings](/en/settings/ai-review)** > > Decide which AI changes wait for approval. # Catalog Structure Source: https://docs.wisepim.com/en/products/catalog-structure See how families, categories, fields and variant groups fit together, get free setup suggestions from your own products, and undo structure changes. ![WISEPIM Catalog structure overview with a Get setup suggestions button, a Start here card about variant groups that need options, and cards for product families, categories, product fields and variant groups](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/catalog-structure-home-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=038af5c3082fd65afbc3d95d0a59e7bb) Catalog structure is the workspace for the shape of your catalog: which [product families](/en/products/product-families) you have, which [categories](/en/other-features/managing-categories) products sit in, which [fields](/en/other-features/managing-attributes) they store, and which products are variants of one another. It shows where the gaps are, suggests a setup based on your own products, and keeps a history of every structure change so you can undo it. **What this page enables:** you can spot products without a family or category in seconds, let WISEPIM propose families, fields, categories and variant groups for a group of products, apply only the changes you want, and take them back later. **Where to find it:** in the Experimental interface, choose **Catalog** > **Catalog setup** > **Catalog structure**. In the Stable interface, open **Settings** > **Attribute scope**: it has the same tabs. You can also open the command menu (Ctrl/⌘ K) and type **Catalog structure**. > [!NOTE] > > The **Catalog structure** menu branch only shows in the Experimental interface. Switch under **Interface version** in [Appearance Settings](/en/settings/appearance), or from the command menu with **Switch to Experimental**. The setting is saved per browser. In the Experimental menu, the branch holds **Product Categories**, **Product families**, **Product fields** and **Option sets**; use **Show catalog structure pages** to expand it. The workspace has four tabs: | Tab | What it is for | | - | - | | **Overview** | Gaps in your structure and a card for each part of it. | | **Guided setup** | The wizard that suggests a structure from products you select. | | **Change history** | Every recorded structure change, with undo. | | **Settings** | Where product attributes come from. See [Attribute Scope Settings](/en/settings/catalog-structure). | ## Overview The top of the page has **Get setup suggestions**, which opens [Guided setup](#guided-setup). ### Start here WISEPIM checks your saved structure and puts the most useful next step on top. Depending on what it finds, you see: | Finding | Button | | - | - | | Variant groups that need size, color or other options | **Choose variant options** | | Products with no family | **How to assign a family** | | Products with no category | **Open categories** | More findings sit under **Other things to check**, such as empty families, unused fields or categories without a default family. When nothing is missing, the card says **Next, check your sales channels**. ### Manage your setup Four cards link to each part of your structure, each with its count and its gaps: | Card | Shows | Link | | - | - | - | | **Product families** | Products without a family, families with no products | **Edit product families** | | **Categories** | Products without a category, categories with no default family | **Edit categories** | | **Product fields** | Fields with no values or setup links | **Edit product fields** | | **Variant groups** | Groups missing variant options | **Set up variant groups** | **Your saved catalog** shows how many products the project has and what **Fields defined by** is set to: **Families**, **Categories** or **Families and categories**. > [!NOTE] > > These counts describe your saved structure. They don't measure whether a channel accepts your products or how complete the product data is. For that, use [Quality Guard](/en/quality-guard/overview). ## Guided setup Guided setup looks at a group of products you pick and suggests families, fields, categories and variant groups for them. It runs on fixed rules, not AI, so it is free. The page says **No credits needed**. **1. Choose products** ![WISEPIM guided setup step Choose products with a product search, an Only products without a family filter and a selectable product list](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/structure-wizard-scope-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=6bea246f245bf7f873bc840e3e801b38) Search with **Find products by SKU or name** and tick the products you want to organize. **Only products without a family** narrows the list. **Select visible page** ticks the 50 products on the page. Your selection stays when you search or change pages; check it under **Review selected products**. Open **Customize suggestions** to choose: * **What should we look at?**: **Product families**, **Product fields**, **Categories** and **Variant groups**. * **Use an industry guide** (Fashion, Beauty, Electronics, Furniture, Hardware or Food) or **Choose automatically from my products**. * **Prepare reusable setup without selecting products**, to build families and fields without assigning or grouping anything. Click **Find suggestions**. **2. Review suggestions** ![WISEPIM guided setup step Review suggestions with selected product and suggestion counts and a Product families section suggesting a new Apparel family](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/structure-wizard-review-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=de9f3b127d77e3ff4d8d54db972f6bf9) Suggestions are grouped into **Product families**, **Product fields**, **Categories** and **Variant groups**. Tick the ones you want, or use **Select all available suggestions** per section. Each suggestion has a label that says what it does, such as **Create family**, **Reuse attribute**, **Add option values**, **Assign product family** or **Create variant group**. Open a suggestion to see **Evidence confidence** and the details. Under **Advanced: adjust suggestion** you can change the name, the parent SKU of a variant group, the field type, the allowed values or the variant options, or reuse an existing family or category. Suggestions that need you first are listed under **Needs your attention**, with the reason. For example, two products have the same variant options, or some products are already listed on a sales channel. Click **Review changes** when you're done. **Reset my choices** starts over; **Check again, keep my choices** refreshes the suggestions after your catalog changed. **3. Confirm changes** ![WISEPIM guided setup step Confirm changes listing a new Apparel family and a family assignment for two products, with an Apply these changes button](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/structure-wizard-confirm-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=80aa43ba95e17a1046cfb8b394f1036d) You see exactly what will change: how many records are created, reused or updated, how many links are added, and how many products and variant groups are affected. **See all included changes** lists everything, including setup your choices need. "Your existing values, cleared fields and translations are kept." The preview is valid until the date shown under **Available until**. Click **Apply these changes**, then confirm **Make these changes?**. If anything changed in the meantime, nothing is applied and you are asked to review again. **Edit choices** takes you back. **4. Done** WISEPIM confirms "The reviewed changes were applied." Under **More things you can do** you can **View products**, **Check channel requirements** or **Review missing fields**. Changed your mind? **Check undo options** shows what can still be undone, and **Undo eligible changes** restores it. Undo works while the saved changes are unchanged and still kept; later edits or published variant groups can block it. > [!NOTE] > > You can select up to 500 products per guided setup. It uses no credits. Guided setup never deletes anything. It doesn't create missing variant products either: it only groups the products you already have. ### From onboarding ![WISEPIM guided setup opened from onboarding, with a Back link and the Choose products step](https://mintcdn.com/swiftsyncai/aNPvWPdGvNzu2lNs/images/marketing-screenshots/onboarding/structure-wizard-onboarding-light-branded.webp?fit=max\&auto=format\&n=aNPvWPdGvNzu2lNs\&q=85\&s=7688cc7fb7737c30495942868a6666b9) When your first onboarding fix changed products, the onboarding result page offers a card **Organize your products**: "Choose a few products, review the suggestions and apply only the changes you want." Click **Choose products** to open the same guided setup, with a **Back** link instead of the workspace tabs. It doesn't affect whether onboarding counts as complete. ## Change history ![WISEPIM Change history with an applied structure change, its recorded before and after state for the Size attribute, the undo deadline and an Undo this change button](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/catalog-structure-history-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=3829765443bb4978972843d396faf39c) **Change history** lists every recorded change to your families, categories and attributes: "See what changed and check whether it can be undone. Later edits are kept." Click **Refresh history** for the latest, and **Newer changes** or **Older changes** to page through. Each entry shows when it happened, how many structure changes it holds and where it came from: **Manual edit**, **Guided setup**, **Catalog structure** or **Other source**. Its status is **Applied**, **Restored** or **Partially restored**. Click **Show details** to see the recorded before and after state of each change, for example "Required: No" before and "Yes" after, and how many products it affected. ### Undo a change **1. Open the details** Click **Show details** on the entry. The line **Undo available until** shows the deadline. **2. Undo** Click **Undo this change**, then confirm **Undo this structure change?**. **3. Check the outcome** WISEPIM checks the current values again before restoring. Newer edits are kept and reported as conflicts, so the result can be a partial restore. Undo is refused when, for example, the undo window has expired, a product was edited after the change, the object no longer exists, or other records now depend on an object the change created. ## Family runs ![WISEPIM Change history for one run with an Undo recorded changes from this run card, the undo deadline, the plan's retention period and an Undo this run button](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/catalog-structure-family-run-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=9fe8380ca405f4521648ebaf458cbc31) When you assign a family to many products at once, through **Bulk edit** > **Assign product family** on the Products page or **Assign family to these products** under category default families in [Attribute Scope Settings](/en/settings/catalog-structure), the work is recorded as one run. The result message links to it with **Review change history**. The run view opens on **Undo recorded changes from this run**. Click **Undo this run** to take back the whole assignment. > [!WARNING] > > "Only recorded catalog changes can be restored. This does not reverse exports or changes already sent to a shop." ## How long undo is available Undo is available on every plan. How long depends on your plan: from 1 day on the free plan up to 90 days on Enterprise. The run view says it exactly, for example "Undo history is kept for 30 days on your plan.", and every entry shows its own **Undo available until** date. Expired history is cleaned up automatically. ## Act on what you find > **Many products have no family** > > If your shop works mainly with categories, you may not need families: set **Use attributes from** to **Categories** in [Attribute Scope Settings](/en/settings/catalog-structure). Otherwise run **Guided setup** with **Only products without a family** ticked, or select products and use **Bulk edit** > **Assign product family**. > **Variant groups need options** > > Click **Choose variant options** on the Start here card, or open a parent product and set its options on the **Relations** tab. See [Product Variants](/en/products/product-variants). > **A guided setup made a mess** > > Go to **Change history**, open the entry from **Guided setup** and undo it. Changes you made by hand afterwards are kept. > **You see suggestions waiting in the Review inbox** > > Structure and family suggestions from AI wait in the [Review Inbox](/en/products/review-inbox) under **Structure** and **Families**. Review them there. ## Related > **[Attribute Scope Settings](/en/settings/catalog-structure)** > > Choose whether attributes come from families, categories or both. > **[Product Families](/en/products/product-families)** > > Create families and the fields their products share. > **[Managing Product Categories](/en/other-features/managing-categories)** > > Build your category tree and set default families. > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > Create the fields your products store. > **[Product Variants](/en/products/product-variants)** > > Parents, variants and variant options. > **[Review Inbox](/en/products/review-inbox)** > > AI suggestions waiting for your approval. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Guided jobs that fill gaps, fix images and group look-alikes. > **[Appearance Settings](/en/settings/appearance)** > > Switch between the Stable and Experimental interface. # Classification (ETIM & GS1 GPC) Source: https://docs.wisepim.com/en/products/classification Adopt ETIM classes and GS1 GPC bricks, score products against them, and let AI find EU or US HS codes for customs. ![WISEPIM classification hub with the imported ETIM release, adopted classes and the browsable ETIM class catalog](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=4714c12ad183559d6a24dcc6fb385a1d) 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 **Catalog** > **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. > [!NOTE] > > 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 ![WISEPIM ETIM class detail for LED lamp with the class feature table, types, units and permitted values](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/classification/classification-etim-class-detail-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=a4eb0b568a9979afd9a1fe9914b333ba) 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. > [!TIP] > > 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 ![WISEPIM ETIM mapping review queue with tiered suggestions, confidence scores and adopt or dismiss actions](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-mapping-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=b337cdce97eb7445f8954ae97f42afe5) 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 match between a family and a class 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. > [!TIP] > > 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 ![WISEPIM GS1 GPC browser drilling from segments to bricks with add-as-category actions](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-gs1-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=3020ff542dcbd39b3bd0d79ccc9da6f4) 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**. > [!NOTE] > > 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, with the old and new name, 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 ![WISEPIM product editor ETIM conformance tab with readiness score, per-feature validation and AI auto-fill](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/classification/product-editor-etim-conformance-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=e3114616bf9f660972e6fcae37394dcd) 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. ## HS codes The HS code is the customs code a product ships under. WISEPIM AI can find it for you in the official nomenclature, using your product data, and write it to the product's **HS Code** field. | Customs market | Nomenclature | Code length | | - | - | - | | **EU (CN, 8 digits)** | EU Combined Nomenclature 2026. Use it for shipping into or within the EU. | 8 digits | | **US (HTS, 10 digits)** | US Harmonized Tariff Schedule 2026. Use it for shipping into the United States. | 10 digits | ### Find HS codes **1. Select products** On the **Products** page, select the products on the page. HS code runs work on selected products only, not on all matching products. **2. Open Enrich with AI** Click **Enrich with AI** and pick the **HS codes** card ("Find each product's customs code in the official EU or US nomenclature"). **3. Choose the options** Pick the **Customs market**, what happens **When a code is found**, the **Confidence needed to save a code**, and whether to **Replace existing HS codes** (see the table below). **4. Start the run** Click **Find HS codes**. You see "HS code classification started" with a link to the run. | Option | Choices | | - | - | | **When a code is found** | **Save confident codes right away** (default): codes at or above your confidence bar are written to the product, the rest wait for review. **Review every code**: nothing is written, every code waits as a suggestion. | | **Confidence needed to save a code** | **High**, **Medium (recommended)** or **Low**. Codes below the bar wait for your review. | | **Replace existing HS codes** | Off by default: products that already have a code are skipped and get their credit back. | > [!NOTE] > > A run costs **1 credit per selected product**, charged when the run starts. Products that are skipped or can't be classified get their credit back. ### Review suggested codes Codes that wait for review show up in the product editor, on the **Inventory** tab, as a **Suggested HS code** card under the **HS Code** field. The card shows the code, its official description, the confidence, the reason, and **Other codes that could fit**. Click **Accept** to save the code, **Use this code** to take one of the alternatives, or **Dismiss**. See [Editing Products](/en/products/editing-products#suggested-hs-code). Every code WISEPIM writes is recorded with its evidence, so you can check later where it came from in [Field Evidence](/en/products/field-evidence). ## 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. > [!NOTE] > > ETIM classification © ETIM International, licensed under ODC-By 1.0. ## Related > **[Product Families](/en/products/product-families)** > > Adopted ETIM classes become product families with the standard's attributes. > **[Managing Product Categories](/en/other-features/managing-categories)** > > GPC bricks import as categories in your project tree. > **[Feed Hub](/en/essentials/feed-hub)** > > Export a BMEcat catalog straight from your adopted ETIM classes. > **[Data Quality Analytics](/en/analytics/data-quality)** > > 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. > [!NOTE] > > 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 ![Creating a new product in WISEPIM with AI-assisted fields](https://mintcdn.com/swiftsyncai/fwacY8U1nbSrQErX/images/marketing-screenshots/products/products-create-modal-light-transparent.webp?fit=max\&auto=format\&n=fwacY8U1nbSrQErX\&q=85\&s=26550b2d20d7c7d30e0da7edd7764402) **1. Open the create modal** Click the **+** button in the top-right toolbar of the Products page. **2. Give it a name** 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. **3. Add more detail (optional)** Switch to the **Details**, **Pricing**, **Inventory & shipping**, **SEO**, or **Attributes** tab for the rest. See the [full field list](#product-fields) below. **4. Click Create Product** 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. > [!TIP] > > 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. > [!TIP] > > 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. ### Choose a product family The **Product Family** picker is searchable and shows how many attributes each family has. Once you pick one, a summary such as "Brings 12 attributes" and "3 required" tells you what the family adds, with **Fill in attributes** to jump to them. On the **Attributes** tab, the family's attributes come first under "From" plus the family name, followed by **Other attributes** that are not part of the family. Fill those in only if they apply. Without a family, the tab says **No product family selected** and lists every attribute. > [!NOTE] > > Choosing a family at create time attaches its attributes to the product, ready to fill in now or later from the editor's **Attributes** tab. You can change the family later on the editor's **Pricing** tab. See [Product Families](/en/products/product-families). > [!TIP] > > Selling before stock arrives? The create modal has **Allow backorders**. The customer notice and the **Expected availability date** for backordered products are set afterwards in the editor, on the **Inventory** tab. See [Editing Products](/en/products/editing-products#backorders-and-availability-date). ## Products that are variants of each other ![WISEPIM product families grouping variants under a shared parent](https://mintcdn.com/swiftsyncai/1ZDruLqY6VJzMb_v/images/marketing-screenshots/products/product-families-light-branded.webp?fit=max\&auto=format\&n=1ZDruLqY6VJzMb_v\&q=85\&s=d64a355fead1d39f8eac9631cb10a456) 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 on the editor's **Pricing** tab, under **Product structure**, or select them all in the table and run the **Group as Variants** [bulk action](/en/essentials/bulk-editing/group-as-variants). See [Product Variants](/en/products/product-variants) for the full setup. ## 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 > **Set up templates before you start** > > Configure your [product templates](/en/settings/templates) first. You then skip filling in the same defaults on every new product. > **Use product families for attributes** > > 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. > **Import many products at once** > > 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 > **[Product Templates](/en/settings/templates)** > > Configure default values and SKU patterns that pre-fill every new product. > **[Product Families](/en/products/product-families)** > > Assign a family to add the right set of attributes automatically. > **[Importing Products](/en/essentials/importing-products)** > > Create many products at once from a spreadsheet or connected platform. > **[Editing Products](/en/products/editing-products)** > > 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. ![Configuring which product columns are visible in WISEPIM](https://mintcdn.com/swiftsyncai/fwacY8U1nbSrQErX/images/marketing-screenshots/products/products-columns-modal-light-transparent.webp?fit=max\&auto=format\&n=fwacY8U1nbSrQErX\&q=85\&s=181aa68ee08c0a4f1890306e95449d21) **1. Open the column selector** Click **Columns** in the toolbar. **2. Show or hide columns** Check a column to show it, uncheck to hide it. Use the search box to find columns fast. **3. Reorder columns** Drag columns up or down in the selected list to change their order in the table. **4. Apply** 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) > [!NOTE] > > 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. ### The FAQs column Add the **FAQs** column to see how many questions each product has of its own. Questions a product gets from its category are not counted. Pair it with the **No FAQs** preset in the [filters](/en/products/filtering-products) to find products without any. See [Product FAQs](/en/ai/product-faqs). ### The Quality Score column The **Quality Score** column shows each product's score with its recent change and a small trend line. See [Managing Your Products](/en/essentials/managing-products#quality-score) for what the trend and the tooltips mean. ### Show every language as columns In a project with more than one language, choose **All languages** in the toolbar's language selector. Every translated field then gets one column per language next to the primary column, with the language's flag and code in the header. WISEPIM remembers the choice per project. To pick specific languages instead, use **Configure Language Columns**. ### 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. ![WISEPIM saved layouts, store and reload named product views with columns, sort and filters](https://mintcdn.com/swiftsyncai/sZPsCKeRUxsBrGey/images/marketing-screenshots/products/products-layouts-modal-light-transparent.webp?fit=max\&auto=format\&n=sZPsCKeRUxsBrGey\&q=85\&s=261aad71007689cc051e49bcba66f8ed) 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 **1. Set up your view** Configure columns, filters, and sorting the way you want them. **2. Open the Layouts modal** Click the **Layouts** button in the toolbar. **3. Save your current view** Click **Save Current View**, give it a clear name, and optionally set it as your default. > [!TIP] > > 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 > [!NOTE] > > When your current view differs from the active layout, an **Update** button appears. Use it to save your changes without creating a new layout. > [!TIP] > > Searching for a parent SKU that has many variants? Turn on **Collapse variants** in [Product Views](/en/settings/product-views) ("Group variant matches under their parent product during search.") so the variants fold under their parent instead of filling the page. ## Tips for everyday use > **Build a layout per task** > > 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. > **Set a default layout** > > Make your most-used layout the default. The Products page then opens ready for your main workflow every time. > **Reset a cluttered view** > > Use the **Reset to Default** button in the column selector to start fresh whenever your view gets too busy. ## Related > **[Filtering & Searching Products](/en/products/filtering-products)** > > Narrow the table down, then save the filters as part of a layout. > **[Product Families](/en/products/product-families)** > > See where the custom attribute columns come from. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Build a layout that makes editing many products at once easier. > **[Exporting Products](/en/essentials/exporting-products)** > > 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, tier pricing, promotions and customer group pricing in WISEPIM, and export them to Magento 2 and Lightspeed. Reward bulk buyers, run timed promotions, and give B2B customers their own prices. You build every pricing rule in WISEPIM, and exporting your products sends the discounts to Magento 2 and Lightspeed. > [!NOTE] > > 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. > [!NOTE] > > 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 export to Magento 2 and Lightspeed. 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 ![WISEPIM discounts and pricing rules](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/discounts/discounts-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=dbb1b1cc019b751bb341fa58ca964073) 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), **Platform support** (which platforms receive discounts), 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 ![WISEPIM customer groups for targeted pricing](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/discounts/discounts-customer-groups-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=5182d3f03129d4dfa2cf120bc9b06e5e) Customer groups let you show different prices to different buyers. Use them for B2B clients, wholesale buyers, VIP members, or retail shoppers. **1. Open Customer Groups** Go to **Discounts > Customer Groups** in the sidebar. **2. Click Create** Open the form for a new group. **3. Add the details** Enter a **name** (for example, "Wholesale"), a unique **code** (for example, `wholesale`), and an optional description. **4. Set the options** Choose whether the group **requires approval** before customers can join. Choose whether it is the **default group** for new customers. **5. Map to platforms (optional)** Enter the group's Magento 2 or Lightspeed customer group ID. The group's discounts then export to that customer group. Mappings for other platforms are saved but not synced. **6. Save** 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 customer group on 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. > [!TIP] > > Map each group to its Magento 2 or Lightspeed customer group. An unmapped group's discounts are skipped on export, and the export row tells you so. ## Choose a discount type Volume discounts reward customers for buying more. There are six types. Pick the one that fits your goal: > **Flat Discount** > > A simple percentage or fixed amount off, no matter the quantity. Good for sales and promotions. > **Bulk Discount** > > 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+. > **Tier Pricing** > > 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+. > **Buy X Get Y** > > Give free products when customers buy in multiples. For example: buy 2, get 1 free. > **Progressive Discount** > > The discount grows as the quantity grows. For example: 5% off at 10+, 10% off at 25+, 15% off at 50+. > **Quantity Break** > > Apply different discount rates to different quantity ranges within the same order. ## Create a volume discount ![WISEPIM volume discounts with tiered quantity pricing](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/discounts/discounts-volume-discounts-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=6fe45690bbe1e395fe355c31245203b0) You can start from a template or build a discount from scratch. Templates are faster, so start there. ### Start from a template **1. Open Create Discount** Go to **Discounts > Create Discount**. You will see a set of templates. **2. Pick a template** 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 **3. Adjust the settings** The template fills in common settings and example tiers. Change the name, tiers, scope, and targeting to fit your needs. **4. Save** 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 > [!NOTE] > > 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. > [!WARNING] > > 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 > [!TIP] > > 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. > **Flash sales** > > Run a timed promotion that starts and ends on its own. > **Seasonal promotions** > > Set up holiday or seasonal discounts weeks ahead and let them run. > **Product launches** > > Offer intro pricing for a limited time when you launch a product. > **Clearance events** > > 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. ## Send discounts to your stores Volume discounts go out when you export products. Magento 2 receives them as tier prices and Lightspeed as quantity discounts. Other channels don't receive volume discounts. | Platform | Volume discounts | | - | - | | Magento 2 | Supported, as tier prices | | Lightspeed | Supported, as quantity discounts | | Shopify | Not synced | | WooCommerce | Not synced | | CCV Shop | Not synced | | Feeds and other channels | Not synced | ### Who gets the discount on each platform The **Apply To** setting decides which shoppers get a discount. Not every platform can express every audience, so WISEPIM never widens a discount to more shoppers than you chose. Anything it cannot send is skipped and listed as a warning on the export row. | Apply To | Magento 2 | Lightspeed | | - | - | - | | **All customers** | Sent to all customer groups | Sent to all customers | | **Specific groups** | Sent to each mapped Magento group. Unmapped groups are skipped. | Sent to each mapped Lightspeed group. Unmapped groups are skipped. | | **Logged-in users** | Sent to every mapped group except NOT LOGGED IN | Not sent | | **Specific customers** | Not sent | Not sent | > [!NOTE] > > Lightspeed quantity discounts can't express a **Buy X Get Y** discount, so those are not sent to Lightspeed. A tier that would price the product at zero or less is skipped too. When you deactivate a discount, the quantity discounts WISEPIM sent for it are switched off on the next export. Discounts you created in Lightspeed yourself are never touched. > [!NOTE] > > 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 > **Set clear priorities** > > When two discounts could hit the same product, set the priority so you know which one wins. > **Test with a small scope** > > Apply a new discount to one product or category first. Check the price is right before you widen the scope. > **Use groups for B2B** > > Put wholesale and B2B buyers in their own groups. Assign volume discounts to those groups so retail customers never see wholesale prices. > **Schedule ahead** > > Set start and end dates on seasonal and promo discounts in advance. You will never forget to switch one on or off. ## Troubleshooting > **The discount is not applying** > > * 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. > **The wrong price is showing** > > * 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). > **Customer group pricing is not reaching the store** > > * Discounts only reach Magento 2 and Lightspeed, and only when you export the products. > * Make sure the group has a **platform mapping** for the target store. > * Check the export row in the Process Tracker for skipped discounts, such as an audience the platform can't express. > * 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 > **[Editing Products](/en/products/editing-products)** > > Set base prices and product details before you layer discounts on top. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Update prices and fields across many products at once. > **[App Marketplace & Integrations](/en/essentials/integrations)** > > Connect Magento 2 or Lightspeed to receive your discounts. > **[Billing Settings](/en/settings/billing)** > > See your plan limits and upgrade for more discounts and groups. # Editing Products Source: https://docs.wisepim.com/en/products/editing-products Edit products in Quick Edit for fast fixes or in the full editor for content, pricing, research, FAQs, attributes, quality, performance and field evidence. 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 deep work with AI enrichment, research, FAQs, quality fixes, performance data and field evidence. ## 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** | Up to 9 tabs | Up to 13 tabs | | **AI enrichment** | Enrich buttons on titles, descriptions, SEO metadata and attributes, plus **Generate translations** | Enrich buttons on every major field | | **Research** | No | Full **Research** tab with research results, evidence and field merging | | **Relations** | Parent product only | Link variants, bundles, cross-sells, upsells | | **Field evidence** | **Field evidence** button in the header | **Field evidence** button in the header, plus a link per attribute | | **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 | Margin shown next to the price | | **Sidebar scores** | Completion, quality, translation status, and **Quick wins** | Completion, quality, and translation status | | **Unsaved changes** | Discard confirmation when you close | Navigation blocking with confirmation dialog | > [!NOTE] > > Both editors share the same core fields (name, descriptions, pricing, inventory, SEO, categories, 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. ![Product table showing the pencil icon location in the Actions column](https://mintcdn.com/swiftsyncai/S-w7KF_v4FmvTEgA/images/screenshots/products/editing/products-quick-edit-pencil-icon-location-transp.webp?fit=max\&auto=format\&n=S-w7KF_v4FmvTEgA\&q=85\&s=c823f048ff4b043ef7ef8311d08700e6) The pencil icon in the Actions column opens the quick edit modal. ![WISEPIM quick-edit Pricing tab with live profit margin, sale presets and volume discounts](https://mintcdn.com/swiftsyncai/ifkQcJ7iuiQKJM36/images/marketing-screenshots/products/products-quick-edit-pricing-light-branded.webp?fit=max\&auto=format\&n=ifkQcJ7iuiQKJM36\&q=85\&s=ec8f2eb3da5b6c39da61c581e16eec2c) ### Tabs * **Content:** product name and enriched name, SKU, brand, manufacturer part number, supplier, and the description and short description, original and enriched side-by-side * **Shops:** which connected shops this product syncs to, the same controls as the [Shops tab](/en/products/shops) in the full editor * **Organization:** product type, product family, parent product, status, visibility, and a tree-based category selector with multi-select * **Pricing:** regular price and cost with live profit margin, special pricing with quick sale presets, volume discounts with conflict warnings * **Inventory & Shipping:** EAN, UPC, HS code, country of origin, shipping class, stock quantity and status, low stock threshold, backorder settings, shipping and handling switches, handling instructions, dimensions and weight * **SEO:** meta title, description, keywords with a live Google search preview and character counts * **Media:** this product's images. Upload files, generate one with AI, link an asset from the [Media Library](/en/products/media-library), drag to reorder, set the main image, or remove a background * **Custom Attributes:** product attributes from the assigned product family, in the same [attributes panel](#attributes) 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 > [!NOTE] > > Some of these are conditional. **SEO**, **ETIM** and **Media** follow the matching modules in your workspace, and **Custom Attributes** only appears when the product's family has attributes. So nine tabs is the maximum, not what you'll always see. ![WISEPIM quick-edit Custom Attributes tab with code-set-backed selects, localized options and unit pickers](https://mintcdn.com/swiftsyncai/ifkQcJ7iuiQKJM36/images/marketing-screenshots/products/products-quick-edit-attributes-light-branded.webp?fit=max\&auto=format\&n=ifkQcJ7iuiQKJM36\&q=85\&s=8ee9de2e2c337d23d79f1b225d5cd34b) ![WISEPIM quick-edit SEO tab with a live Google search-result preview and character counts](https://mintcdn.com/swiftsyncai/ifkQcJ7iuiQKJM36/images/marketing-screenshots/products/products-quick-edit-seo-light-branded.webp?fit=max\&auto=format\&n=ifkQcJ7iuiQKJM36\&q=85\&s=a7da6fa78ec23fd3d0b13954eea5c1c9) 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. > [!TIP] > > Work from the **Quick wins** list in the sidebar when you are going through a cleanup list. It names the small fixes that lift this product the most right now, and clicking one opens the tab that owns the field. ### 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 **Content** 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. > [!WARNING] > > 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). See [Discounts & Pricing](/en/products/discounts) for which channels receive them. ## 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. ![WISEPIM full product editor with tabbed sections and a live quality/completion sidebar](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-editor-overview-light-branded.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=55ebb4a8cf58e2270397e1177df8cb5d) ### Tabs The tabs sit in one sticky row above the form, in this order: | Tab | What you edit there | | - | - | | **Content** | Product name, enriched name, brand, SKU, MPN, and the original and enriched descriptions and short descriptions | | **Pricing** | Price, sale price and cost, status and visibility, product type, family and parent, and the supplier | | **Research** | Facts WISEPIM found on the web, with sources and evidence, ready to merge into product fields. See [Web Research](/en/ai/web-research). | | **Inventory** | EAN and UPC first, then HS code, country of origin, stock, backorders, dimensions, weight and shipping switches | | **SEO** | Meta title, description and keywords with a live Google search preview, plus internal link suggestions | | **Categories** | Tree-based category selector with multi-select. Child categories automatically include their parents. | | **FAQs** | The product's buyer questions and answers, and AI suggestions waiting for review. See [Product FAQs](/en/ai/product-faqs). | | **Relations** | Variants, bundle items, grouped items, cross-sells, upsells and related products, as a list or a graph | | **Attributes** | Custom attributes grouped by attribute group, with the product family's attributes first | | **ETIM** | Conformance against the product's [ETIM class](/en/products/classification), with plain-English fixes and AI auto-fill | | **Quality** | The quality score, what you can gain, and the fixes to do next | | **Performance** | How the product sells and converts compared with similar products | | **[Shops](/en/products/shops)** | Per-shop sync and listing settings for this product | The **Brand**, **Supplier**, **HS code** and **Shipping class** fields autocomplete from the values already used across your catalog, so spellings stay consistent. > [!NOTE] > > Not every tab shows on every product. **Research**, **SEO**, **ETIM** and **Performance** follow the Web research, SEO, Classification and Analytics modules in your workspace. **Performance** also waits until GA4, Search Console or your store's orders are connected. **Attributes** shows when the product has attributes, and **Shops** only when your project has more than one shop. So thirteen tabs is the maximum. ### Rename a product from the heading The heading shows the product's enriched name when it has one. Hover it and click the pencil to rename it inline. **Enter** or clicking away finishes the edit, **Escape** puts the old name back, and the new name is saved with the rest of your changes when you click **Save Changes**. ### Edit every language on one page If your project has more than one language, open the language picker in the header and choose **All languages** ("Edit every translation on one page"). The **Content** and **SEO** fields then show once per language, the primary language first with a **Primary** badge, and one **Save Changes** saves them all. The other tabs show the primary language. See [translating products](/en/products/translating-products). ### Content The **Content** tab holds the product's names and descriptions. 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. #### Images in the description The **Description** editor accepts images. Click **Insert image** in the toolbar and choose **Upload from your computer**, **Browse media library**, **From this product's media**, or paste an **Image URL**. You can also drag images or paste them straight into the text. Images can be up to 20 MB. Click an image for **Image options**: * **Float left, text wraps around**, **Centered**, **Float right, text wraps around** or **Full width** * A size from **Small (a third of the width)** to **Original size** * **Alt text**, to describe the image for search engines and screen readers * **Remove image** Lists and other blocks sit in the **Lists & blocks** section of the text style menu (the **Paragraph** dropdown). Only the main description takes new images. FAQ blocks pasted into a description (`
` with a ``) stay intact when you edit the text. ### Pricing The **Pricing** tab is split into four sections: | Section | What it holds | | - | - | | **Price** | What customers pay, an optional sale price and your cost. **Customers pay** and the margin update as you type. | | **Status and visibility** | Whether the product is active and shown in your storefronts | | **Product structure** | **Product Type**, **Product family** and **Parent product**: together they decide which attributes and variants apply | | **Sourcing** | Who supplies the product | The **Product family** picker is searchable and shows how many attributes each family brings. See [Product Families](/en/products/product-families). ### Inventory The **Inventory** tab leads with the **EAN** and **UPC**, followed by customs, stock and shipping fields. #### Backorders and availability date Next to **Backorders Allowed** there are two settings for products you sell before they are back in stock: | Field | What it does | | - | - | | **Notify customers about backorders** | Your shop tells customers the item ships later before they order. Supported by WooCommerce and Magento. It is off until **Backorders Allowed** is on. | | **Expected availability date** | Sent to Google Shopping and other channels while the product is on backorder. Pick a day, or use **Clear date** to remove it. | Both fields are also in Quick Edit, on the **Inventory & Shipping** tab. #### Suggested HS code When an [HS code run](/en/products/classification#hs-codes) found a code it was not sure enough about, a **Suggested HS code** card appears under the **HS Code** field. It shows the code, its official description, a **High confidence**, **Medium confidence** or **Low confidence** chip, the reason, and **Other codes that could fit** with **Use this code** on each. Click **Accept** to save the code on the product, or **Dismiss** to drop the suggestion. If the product already has a code, the card says which one it replaces. When more suggestions are queued, the card tells you how many are waiting after this one. #### Barcodes on save A product that was imported with an EAN that fails the checksum still saves when you change other fields. Only changing the barcode itself requires a valid code. ### Research The **Research** tab shows what [web research](/en/ai/web-research) found for this product, with merge status per field. Under **Research evidence**, each researched claim is marked **Supported**, **Contradicted**, **Unknown** or **Not assessed** against its sources, with a count such as "4 of 6 claims assessed" and links to the source pages. > [!NOTE] > > The probabilities shown next to claims are model probabilities. As the tab says: "Model probabilities are not calibrated accuracy or product trust scores." Check the source before you rely on a value. Specs the research found but that no attribute holds yet are listed under **Specs without an attribute**, so you can create those attributes with the value filled in. If the product was researched recently, **Research again** starts a fresh run on purpose. ### FAQs The **FAQs** tab holds the buyer questions shown with this product, including translations per language. When AI has suggestions waiting, the tab label shows how many. Accept, edit or dismiss them in the **Suggested questions** tray. See [Product FAQs](/en/ai/product-faqs) for generating, reviewing and exporting FAQs. ### Relations ![WISEPIM product editor Product Relationships tab with cross-sells, upsells and related products, each linked product shown as a card](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-editor-relationships-light-branded.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=27f1dabd3b5dbee15b996991e9b474b0) The **Relations** tab links this product to other products: variants, bundle items, grouped items, cross-sells, upsells and related products. ![WISEPIM Link Products modal choosing a relationship type and selecting products to link](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/product-editor-link-products-modal-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=2a2ba548f25232901cbb0fbefe8a55fe) * **Link Products** attaches products to the current one: pick the relationship type, search by name or SKU, select the products, and link them in one go. * Each linked card has an **Actions** menu with **View Product** and **Remove Link**. Removing a link never deletes the product. ![WISEPIM relationships graph view mapping variants and linked products around the current product](https://mintcdn.com/swiftsyncai/1ZDruLqY6VJzMb_v/images/marketing-screenshots/products/product-editor-relationships-graph-light-branded.webp?fit=max\&auto=format\&n=1ZDruLqY6VJzMb_v\&q=85\&s=20df4ab52c146284582d01310d3bf5c1) 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. #### Variants A variant is a product that hangs under a configurable parent, for example each size and color of the same shirt. In short: * Make a product a variant by picking its **Parent product** on the **Pricing** tab, under **Product structure**, or on the **Organization** tab in Quick Edit. In bulk, use [Group as Variants](/en/essentials/bulk-editing/group-as-variants). * On a configurable parent, the **Variant options** card at the top of **Relations** sets which attributes tell the variants apart, and previews every combination before you save. * On a variant, the tab shows "This product is a variant of" with a link to the parent, and **Use a photo from the parent product** lets you pick one of the parent's photos as the variant's main image. The photo is linked, not copied. See [Product Variants](/en/products/product-variants) for the full setup, the rules for parents and variants, and how variants export to each channel. > [!WARNING] > > **Deleting a configurable parent permanently deletes all of its variants** along with it. Detach the variants first if you want to keep them as standalone products. ### Attributes The **Attributes** tab is built for catalogs where a product can carry hundreds of fields (an adopted [ETIM class](/en/products/classification) alone brings dozens). A banner at the top tells you where the list comes from. With a family, it reads "Attributes from the Shoes family" (with your family's name) and counts how many attributes come from the family and how many are general. It also counts required fields that are still empty, with a link to each one, and has **Manage this family**. Without a family it says **No product family selected**, shows every attribute, and offers **Browse product families**. Change the family on the **Pricing** tab and the list follows. * **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. * **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 [option set](/en/other-features/managing-attributes#option-sets) 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. * **Rich values:** colors show as swatches, energy labels and country flags render as you would expect them on a product page. * **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. * **Source and verification:** each attribute has a link that opens its [field evidence](/en/products/field-evidence). #### When AI leaves fields empty After **Enrich with AI** on this tab, a notice such as "3 fields stayed empty" lists what AI did not fill and why: "AI enrichment only fills a field when the product data or research backs up the value." The reasons per field are: | Reason | What to do | | - | - | | "This field has no options yet. Add options, or let AI add them." | Click **Edit options** and add the allowed values | | "Found "…", which isn't one of this field's options." | Add the value as an option if it is correct | | "The product data and research don't mention it." | Add source data or run web research | | "The value couldn't be confirmed in the sources." | Check the sources and fill it in yourself | | "The value found doesn't fit this field's type or rules." | Check the attribute's type and validation | | "The value couldn't be checked this time. Try again." | Run the enrichment again | ### Quality ![WISEPIM product editor Quality tab with the quality score ring, completeness, translation and 30-day trend, a Fix 5 issues to reach up to 100% bar and the domain breakdown cards](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-editor-data-quality-light-branded.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=38aafedf06d7bf2c7c9e9c6ad341c78c) The **Quality** tab starts with the **Quality score** card: the score and grade, completeness, translation status and a **30-day trend**. Below it, a bar such as "Fix 5 issues to reach up to 100%" shows what you can gain ("Every fix shows a preview first."). Click **See fixes** to jump to the list. The area cards (completeness, channel readiness, SEO and discoverability, conversion potential) show each area's score and issues. Pick an area to see only its fixes, or show all again. **What to fix next** lists the fixes with the most important first. Nothing changes until you confirm the preview. ### Performance The **Performance** tab shows how this product sells, over the last 28 days, updated every night: | Card | What it shows | | - | - | | Suggested next step | One headline about the product, for example that most similar products do better on add-to-cart rate, or that its revenue fell, with a button to the **Content** or **SEO** tab | | **Shopper funnel** | Product views, added to cart and purchased, with the rate per step and the change against the previous 28 days. Needs GA4. | | **Rank among similar products** | Where the product stands in its category or family, against the median of similar products | | **Store sales** | Orders, units, revenue and revenue per order from your store, plus a weekly revenue chart. Pins mark the weeks the product changed; hover a bar to see what changed. | Search clicks and positions are on the **SEO** tab, and **Open in Analytics** takes you to the full [Product Performance](/en/analytics/product-performance) report. > [!NOTE] > > A dash means WISEPIM can't tell yet, never zero. A rank needs enough similar products and enough views, and the comparison with the previous period only shows when GA4 data covers both periods. New products show their first numbers the night after a source is connected. ### ETIM and Shops The **ETIM** tab scores the product against its family's ETIM class, see [Classification](/en/products/classification#etim-conformance-in-the-product-editor). The **Shops** tab sets per-shop sync, listing state, price and stock, see [Shops](/en/products/shops). ### Sidebar The right sidebar shows the product's media and three live scores: * **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 so you can see exactly what changed. Updates appear in real time, also values that a background research run fills while you have the editor open. When a run saves nothing, you see "AI enrichment didn't change anything" with the reason, for example "Existing content was kept: there was no empty field to fill.", and **View task log**. A run that fails or is stopped says so: "AI enrichment failed" or "AI enrichment was stopped". ### Field evidence Click **Field evidence** in the header to see where a saved value came from, how confident the source was and what evidence it left, and to mark the value verified. See [Field Evidence](/en/products/field-evidence). ### Product gallery The gallery next to the form holds the product's images. Besides uploading and linking from the [Media Library](/en/products/media-library), you can click **Choose images from a product page**, paste the manufacturer's page and pick the images to add. See [Media Library](/en/products/media-library#choose-images-from-a-product-page). Images mirrored from your source webshop but never stored in the Media Library 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 to get the full toolset. ### 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 ### Saving Click **Save Changes** to save. If you try to navigate away with unsaved changes, WISEPIM shows a confirmation dialog so you don't accidentally lose work. * If the server refuses a save, the banner names the field that caused it, so you know what to fix. * Saving without changing a field does not mark the product's values as your own edits. An AI-written description you did not touch stays an AI value, so a later enrichment run can still improve it. ## 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. ![WISEPIM product preview comparing original and AI-enhanced content side by side](https://mintcdn.com/swiftsyncai/sZPsCKeRUxsBrGey/images/marketing-screenshots/products/products-preview-compare-light-branded.webp?fit=max\&auto=format\&n=sZPsCKeRUxsBrGey\&q=85\&s=d0bb1b03a97119fa348be9fe6df68de2) The header shows the product's thumbnail, name, SKU, brand and review state. The preview has six tabs: | Tab | What it shows | | - | - | | **Compare** | **Original** and **AI Enhanced** content side-by-side, with word and character counts | | **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 | ![WISEPIM product preview Details tab with identifiers, pricing, inventory, translation coverage and an SEO search preview](https://mintcdn.com/swiftsyncai/sZPsCKeRUxsBrGey/images/marketing-screenshots/products/products-preview-details-light-branded.webp?fit=max\&auto=format\&n=sZPsCKeRUxsBrGey\&q=85\&s=17a8bc02cd25b1780522455c1b719c46) From the preview you can also: * **Browse** through products with the previous/next arrows, or the left and right arrow keys * **Switch tabs** with the number keys 1 to 6 * **Change status** (Reviewed / Needs Review), or press **R** * **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 ![WISEPIM product preview Marketplace tab mirroring the live Amazon listing with a channel-readiness score and Restyle with AI options](https://mintcdn.com/swiftsyncai/R5A08f16GZcH3s4C/images/marketing-screenshots/products/products-preview-marketplace-light-branded.webp?fit=max\&auto=format\&n=R5A08f16GZcH3s4C\&q=85\&s=550a8cec29c8ce84ba40d5e653e7ed85) 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. > [!TIP] > > 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 > **[Product Families](/en/products/product-families)** > > Set up families to define which custom attributes apply to a product. > **[Product Variants](/en/products/product-variants)** > > Group sizes and colors under one parent and choose the option attributes. > **[Field Evidence](/en/products/field-evidence)** > > See where a value came from and verify it. > **[Product FAQs](/en/ai/product-faqs)** > > Generate, review and translate buyer questions per product. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Learn how AI enriches titles, descriptions, attributes, and more. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Change the same field across many products at once. # Field Evidence Source: https://docs.wisepim.com/en/products/field-evidence See where a saved product value came from, how sure the source was and what backs it up, then mark it verified so automatic sources leave it alone. Every time WISEPIM writes a product value, it can keep a receipt: which source wrote it, how confident that source was, and the evidence it used. Field evidence shows you that receipt for any field, and lets you confirm the value yourself. A value you verify is protected from being replaced by imports, rules and AI. **What this page enables:** you can check why a field holds the value it holds before you publish it, and lock in the values you have checked so the next import or AI run does not overwrite them. **Where to find it:** open a product in the full editor or in Quick Edit and click **Field evidence** in the header, next to **Save Changes**. On the **Attributes** tab, each attribute also has its own **Source and verification** link. ![WISEPIM product editor with the Source and verification panel open on the Name field, showing the saved value, a Not verified chip, Supplier as source, the recorded evidence and the Mark verified button](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-editor-field-evidence-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=b5d3896c07c3564c8c490294ecfd9805) ## Open the evidence for a field **1. Open the panel** Click **Field evidence** in the product header. The **Source and verification** panel opens. **2. Pick the field** Choose it under **Choose a product field**. The list covers the core fields, such as **Name**, **Description**, **SEO title**, **EAN**, **Price**, **HS code**, **Product family**, **Categories** and **Variant axes**, plus the generated display name and descriptions. **3. Check the language** Fields that differ per language show **Saved locale** with the language you are editing. Fields that are the same in every language show **Shared product value**. For a custom attribute, use the **Source and verification** link next to that attribute on the **Attributes** tab instead. > [!NOTE] > > The panel describes the **saved** value, not what you have typed since. If you have unsaved edits, it asks you to save or discard them before you verify. ## What the panel shows | Part | What it tells you | | - | - | | **Saved value to verify** | The value as it is stored now. An empty field shows **Blank**. Long values have **Show full saved value**. | | **Verified** / **Not verified** | Whether someone has confirmed this value. | | Source | Who or what wrote the value (see the table below). | | **Recorded confidence** | How sure the source was, when it reported a confidence. Otherwise **Not recorded**. | | **Actual model** | The AI model that produced the value, for AI sources. | | **Receipt updated** | When the receipt was last written. | | **Run** | The import, enrichment or other run that wrote it. | | **Recorded evidence** | The reasoning and source links the writer kept. AI image extraction can add **Open image evidence**. | Click **Refresh evidence** to reload the panel after a change elsewhere. ### Sources | Source label | Where the value came from | | - | - | | **Human edit or verification** | A person typed or confirmed it | | **Import** | A product import | | **Supplier** | A supplier delivery, such as a supplier sheet imported through a supplier profile | | **Automation rule** | An automation or bulk rule | | **Formula** | A calculated value | | **Parent product** | Inherited from the variant's parent | | **Classification standard** | A standard such as an ETIM class | | **Channel** | A connected sales channel | | **AI text extraction** | AI enrichment or attribute extraction from text | | **AI image extraction** | AI reading the product images | | **AI document extraction** | AI reading a document | | **Web research** | Facts merged from [web research](/en/ai/web-research) | | **Source unknown** | No receipt exists for this value | **Source unknown** is normal for values that were saved before WISEPIM kept receipts, or that arrived through a route that does not record one. The panel says: "No source is recorded for this saved value. Verification records your confirmation without inventing an AI or supplier origin." If the value changed after the receipt was written, for example by a direct edit in a route that keeps no receipt, the panel warns that the saved value differs from the recorded change. The details then describe the **Earlier source**, not the value you see. ### Why is this blank? For an empty field, **Why is this blank?** explains what happened: * "A recorded proposal is waiting for review." An AI or supplier value is waiting in the [Review Inbox](/en/products/review-inbox). * "The recorded proposal was rejected." Someone turned the suggestion down. * "This verified blank is protected from automatic replacement." A person cleared it on purpose. * "No recorded change or proposal explains this blank. Its cause is unknown." ## Verify a value Click **Mark verified** to confirm the saved value, or **Verify this blank** to confirm that an empty field should stay empty. You see "Verification saved." and the chip changes to **Verified**. The original source stays on the receipt, so you still know where the value came from. What a verified value means for later writes: * **Imports, supplier deliveries, automation rules and AI skip it.** Automatic replacements follow your project's lock policy, and by default a person's verification outranks every automatic source. You can still edit the field yourself. * **AI enrichment leaves it out.** Verified and hand-edited fields are not offered to AI as fields to fill. * **A verified blank stays blank for imports and rules.** AI can still fill a field a person cleared, because the lock protects content, not an empty field. * **Enriched copy is the exception.** When you start an enrichment run, it replaces the enriched name, enriched description and enriched short description even if they were verified, because starting the run is the choice for new copy. Source fields, attributes, SEO fields and translations keep their protection. Accepting a suggestion in the [Review Inbox](/en/products/review-inbox) also counts as a verification, so you do not have to verify those values twice. > [!NOTE] > > Field evidence and verification are available on every plan and cost no credits. Verifying needs edit rights on the project and, with a custom role, permission for that field. Without it the panel says: "You can inspect this field, but you do not have permission to verify it." ## Where receipts come from These actions write a receipt you can inspect: | Action | Recorded source | | - | - | | Saving a product in the editor or Quick Edit | **Human edit or verification** | | [Bulk editing](/en/essentials/bulk-editing), assigning a product family, saving variant options | **Human edit or verification** | | Accepting a suggestion in the Review Inbox | **Human edit or verification** | | Supplier sheet imports through a supplier profile | **Supplier** | | AI enrichment and attribute extraction | **AI text extraction** | | Photo-based fill and image checks | **AI image extraction** | | Merging web research into the product | **Web research** | Saving a product without changing a field does not turn its values into your own edits. An untouched AI description stays an AI value, so a later enrichment run can still improve it. ## Act on what you find > **A value came from AI with low confidence** > > Read the **Recorded evidence** and open its source links. Correct the field if needed, save, then click **Mark verified** so the next run leaves it alone. > **An import keeps overwriting a value you fixed** > > Verify the fixed value. Imports and supplier deliveries skip verified values from then on. > **A field should stay empty but AI keeps filling it** > > A verified blank stops imports and rules, not AI. Turn off AI for that attribute in its [attribute settings](/en/other-features/managing-attributes), or send its AI changes to review in [AI Review Settings](/en/settings/ai-review). > **Most fields show Source unknown** > > That is expected for older values. Check the ones that matter, such as name, price and EAN, and verify them. New writes from the actions listed above record their source automatically. ## Related > **[Editing Products](/en/products/editing-products)** > > The full editor and Quick Edit, where the Field evidence button lives. > **[Review Inbox](/en/products/review-inbox)** > > Accept or reject AI and supplier suggestions before they change products. > **[AI Review Settings](/en/settings/ai-review)** > > Choose which AI changes wait for your approval. > **[Web Research](/en/ai/web-research)** > > Where web-sourced facts and their evidence come from. # 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. Search for an exact SKU or EAN and you get that product, not every product that shares part of the code. With fuzzy search on, exact matches are pinned to the top of the results. Paste a list with one value per line into the search bar and WISEPIM moves it to **Select by Identifier** for you: "We moved your pasted list here. Each line is one value, and products matching any of them are shown. Pick the field your list contains." > [!TIP] > > 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. ![Describing a product filter in plain language in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-natural-language-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=fab147b5be7f9140a748f0ea7f93201a) **1. Describe what you want** Type something like "Products under €50 missing a description" or "Inactive products created in the last 30 days." Press **Enter** to generate. **2. Review the filters it built** 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. **3. Apply or refine** Click **Apply** to use the filter, or **Refine in Advanced filters** to adjust a condition by hand. **New search** clears it and starts over. > [!TIP] > > 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. A description can be up to 2,000 characters. If you paste something longer, such as a list of products, WISEPIM points you to **Filter by this list**, which filters on the list as identifiers instead. 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. > [!NOTE] > > 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. ![Building advanced product filter conditions in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-advanced-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=d5731fca446cd53e3c739b0d9d0adfb1) **1. Add a condition** Click **Add filter**, choose a field, pick an operator, and enter a value. **2. Add more conditions** Stack as many as you need. Toggle any condition off without deleting it, so you can test combinations fast. **3. Choose the logic** 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." **4. Check the count, then apply** 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. > [!TIP] > > 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. On descriptive text fields such as brand, **in list** and **is one of** ignore capitals and spaces around the values. SKU, EAN, UPC and MPN always match exactly. This is the fastest way to act on a list someone sent you: paste, apply, then enrich, edit, or export the result. > [!NOTE] > > 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 and Organization** | Categories, Product Family, Inferred Industry | | **Basic Information** | Name, SKU, EAN, UPC, MPN, Brand, Supplier | | **Descriptions** | Description, Original vs. Enriched, Short Description, word counts, **FAQ Count**, **Has FAQs** | | **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, **Question check** | | **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) | **FAQ Count** counts the product's own questions, not the ones it gets from a category. **Has FAQs** counts category questions too, so "No FAQs" means shoppers see no questions at all. **Question check** filters on the answers of your [Question Checks](/en/quality-guard/questions) in Quality Guard. > [!NOTE] > > Conditions and presets on **Quality Score**, such as **Low Quality**, only match products that have been scored. Freshly imported products are scored shortly after the import and join the results then. On **Quality Score**, **Is empty** finds the products that are not scored yet, and **Is filled in** the ones that are. 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 > [!TIP] > > 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. **1. Build your filter** Set up the conditions you want to keep. **2. Name and save it** Enter a name in the **Save filter set** box and click save. **3. Load it later** Open the modal and click a saved set to apply it instantly. Rename or delete sets any time. > [!NOTE] > > 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. ![Filtering products by a Quality Guard rule in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-filters-compliance-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=262043f6dfada63a9b8ff95db0f78c12) **1. Pick a rule** Search and select one of your active Quality Guard rules. Each card shows its scope and severity. **2. Choose a direction** **Violates** finds the products that fail the rule (the ones to fix). **Complies with** finds the products that have been checked and pass. **3. See the count, then apply** 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. > [!NOTE] > > 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. ![One-click data quality preset filters in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-presets-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=dc8066e07c1179935c9b1a348ee64ea1) 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, and **No FAQs** | | **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. > [!TIP] > > 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: **1. Filter to the products that need work** Use any of the four modes to get a focused list. **2. Select them** Tick individual products, or use **Apply to all** to select every product that matches your filter, across all pages. **3. Run one action on all of them** [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 > **[Managing Your Products](/en/essentials/managing-products)** > > See how search, filters, and selection fit into your daily product workflow. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Act on a filtered selection: update many products at once. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Filter for missing content, then fill it with AI. > **[Quality Guard Overview](/en/quality-guard/overview)** > > 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. > [!NOTE] > > 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 ![WISEPIM digital asset manager with product images and documents](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/media/media-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=9fea66ac9b8a44a623ca643c2e5b1002) 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 ![Generating a product image from scratch with AI in WISEPIM, text prompt, aspect ratio and output quality](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-ai-generate-light-branded.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=90af7966cf91ea20967d8701f336b260) 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. > [!NOTE] > > 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. **1. Pick an image type** 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. **2. Link it to a product (optional)** 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. **3. Describe the image** 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. **4. Add reference images (optional)** Add reference images to steer the style or composition. Pick them from your Media Library, or paste an image URL. **5. Choose the output quality** **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. **6. Generate and review** 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. > [!TIP] > > 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 ![WISEPIM media asset detail panel with AI image tools, variants, tags and linked products](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-asset-detail-light-branded.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=ea9b35295cbb3c34ab17a9ba373adbc0) 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 ![WISEPIM media lightbox, a full-screen overlay to zoom and rotate a product image](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/media/media-lightbox-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=c69f68d7bafa27103ec5d0760a797c79) 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 ![Editing a product image with AI in WISEPIM, with prompt, reference images and output quality](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-ai-image-edit-light-transparent.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=2e0834a617d981147dbfc7fc64d9c7d6) 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 ![Animating a product image into a short video with AI in WISEPIM](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-ai-animate-video-light-transparent.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=80ef508de2bb764038943f3060c258d8) 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. > [!NOTE] > > 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 ![Optimizing a product image per platform in WISEPIM, with channel-perfect dimensions, format and compression](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-optimize-platform-light-transparent.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=752f9893499f1c06124eec558e421da2) 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 ![Bulk image tools in WISEPIM, removing backgrounds, resizing and optimizing many product images at once](https://mintcdn.com/swiftsyncai/POxM_PxrzQgq4jY_/images/marketing-screenshots/media/media-bulk-image-actions-light-transparent.webp?fit=max\&auto=format\&n=POxM_PxrzQgq4jY_\&q=85\&s=8f2c8b8f2d68147463e3611595214b78) 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 and go to its gallery. In the full editor that is the **Media** panel next to the form, in Quick Edit the **Media** tab. 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 ### Choose images from a product page Has the manufacturer published better photos than you have? Click **Choose images from a product page** in the gallery to pull them in. **1. Paste the page** Paste the address under **Manufacturer product page URL** and click **Find images**. **2. Pick and order the images** WISEPIM shows the images of the product on that page. It only uses a page whose product matches this product's exact SKU, EAN or MPN. Select up to 30 images and put them in order with the move earlier and later buttons. **3. Add them** Click **Add selected**. The images are queued and appear in the gallery as they finish downloading, after the images you already have. Existing images and the main image are kept. In an empty gallery, the first image you selected becomes the main image. If some images have not appeared after a while, use **Check gallery again**, or **Choose images again** if the import failed. > [!NOTE] > > If the product's main image is an **Imported** image (see below), link or upload it into the Media Library first. Until then WISEPIM refuses to add images from a product page, so the new images can never push your current main image out. ### Imported images Some galleries hold images that were mirrored from your source webshop but never stored in the Media Library. They carry an **Imported** badge: "Imported from the source webshop, not stored in your media library. It is still sent to your sales channels, so delete it here to stop that." There is no library asset behind an imported image, so you cannot reorder it, keep versions, or run AI edits on it. Upload or link the same image from the Media Library to get the full toolset. ### Photos for variants A variant can use one of its parent's photos as its main image. On the variant's **Relations** tab, click **Use a photo from the parent product**, pick a photo under **Choose from the parent's photos** and click **Use as main image**. The photo is linked, not copied, so there is still one file in the library. See [Product Variants](/en/products/product-variants). ## Related > **[Editing Products](/en/products/editing-products)** > > Open the product editor and manage a product's gallery. > **[Managing Your Products](/en/essentials/managing-products)** > > 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. > [!NOTE] > > 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 ![WISEPIM product families grouping variants under a shared parent](https://mintcdn.com/swiftsyncai/1ZDruLqY6VJzMb_v/images/marketing-screenshots/products/product-families-light-branded.webp?fit=max\&auto=format\&n=1ZDruLqY6VJzMb_v\&q=85\&s=d64a355fead1d39f8eac9631cb10a456) 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 tells this family's variants apart, 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. > [!NOTE] > > 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 > [!TIP] > > 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 ![WISEPIM new product family modal with parent, code and per-attribute variant/required config](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/product-family-create-modal-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=4b732cbf0f2ebcbcb919c6a48c32ffd1) **1. Open Product Families** Go to **Product Families** in the sidebar. You'll see a table of every existing family. **2. Click New Family** Click **New Family** in the top-right corner to open the form. **3. Enter the details** 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. **4. Set a parent (optional)** To inherit attributes from another family, pick a parent. Leave this empty for a top-level family. **5. Assign attributes** 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. **6. Save** Click **Save**. The family appears in the table right away. > [!WARNING] > > 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. You can pick the family in three places: | Where | How | | - | - | | Full editor, **Pricing** tab | Under **Product structure**, choose the **Product family**. | | Quick Edit, **Organization** tab | Choose the **Product family** without leaving the product list. | | Full editor, **Attributes** tab | The banner at the top shows which family the list comes from. Use **Manage this family** to open it, or **Browse product families** when none is set. | The family picker is searchable, lists sub-families too, and shows how many attributes each family brings, so you can tell similar families apart. When you change the family, the **Attributes** tab updates to the new family's attributes plus the general ones that apply to every product. Values you already filled in stay stored, also for attributes outside the new family. When you create a product, the create modal has the same picker. See [Creating Products](/en/products/creating-products#choose-a-product-family). ### Assign in bulk To set or clear the family for many products at once, select them on the **Products** page and run the **Assign product family** bulk action, in the **Families, categories & variants** group. It previews which attributes each product gains before you apply it, and existing attribute values stay stored. See [Assign Product Family](/en/essentials/bulk-editing/assign-family). ### Add attributes to families in bulk Working from the other side? On the attributes page, select attributes and click **Add to families**, or use **Add to families…** in a row's menu, to link them to several families in one step. You can mark them as required in those families at the same time. See [Managing Product Attributes](/en/other-features/managing-attributes). ### Variant axes Attributes marked as **Variant axis** on a family tell its variants apart, such as size or color. When you save the variant options on a configurable parent, WISEPIM stores them on the family when every variant shares that family, and on the parent otherwise. See [Product Variants](/en/products/product-variants). ## 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. | > **Edit a family** > > 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. > **Delete a family** > > 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. > **[Manage attributes](/en/other-features/managing-attributes)** > > Create, edit, and organize the individual attributes that make up your data model. > **[Manage attribute groups](/en/other-features/managing-attributes)** > > Group related attributes for cleaner organization. For example, put "width", "height", and "depth" in a "Dimensions" group. ## Best practices > **Plan your hierarchy first** > > Map out your product types and how they relate before you build families. A clear plan saves time and avoids duplication. > **Keep families focused** > > Each family should represent one distinct product type. Avoid broad families with dozens of optional attributes. > **Mark only essentials as required** > > Too many required fields slow down product creation. Require only the fields you truly need. > **Lean on inheritance** > > 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 > **A family doesn't appear in the product form** > > * Check that the family saved successfully. > * Confirm the family belongs to the correct project. > * Refresh the Products page to load the latest family data. > **Attributes are missing from a child family** > > * 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. > **You can't delete a family** > > * Confirm you have permission to delete families. > * If the family has children, reassign or delete the children first. ## Related > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > Build the attributes your families are made of. > **[Assign Product Family](/en/essentials/bulk-editing/assign-family)** > > Set or clear the family for many products in one action. > **[Product Variants](/en/products/product-variants)** > > Use variant axes to group sizes and colors under one parent. > **[Editing Products](/en/products/editing-products)** > > Pick a product's family and fill in its attributes. # Product Variants Source: https://docs.wisepim.com/en/products/product-variants How parents and variants work in WISEPIM: expand them in the products table, choose variant options, preview every combination and group look-alikes. ![WISEPIM products table with a configurable jeans product expanded to show its five size variants, each a simple product with its own SKU](https://mintcdn.com/swiftsyncai/MJhIcuPvHFtY9cDn/images/marketing-screenshots/products/products-variants-expanded-light-branded.webp?fit=max\&auto=format\&n=MJhIcuPvHFtY9cDn\&q=85\&s=45c8085661afd4eedf489431f90fe88b) A product that comes in several sizes or colors is stored in WISEPIM as one parent with variants. The parent is a **Configurable** product. Each variant is a **Simple** product linked to that parent, with its own SKU, price, stock, photo and values. The attributes that tell the variants apart, such as size or color, are the parent's variant options. **What this page enables:** you can find and expand variants in the products table, set and check the options that tell variants apart, give a variant a photo from its parent, and turn look-alike products into one product with variants. **Where to find it:** variants show in **Catalog** > **All Products** under their parent. Variant options live on the parent's **Relations** tab in the product editor. ## How variants work | Part | What it is | | - | - | | **Parent** | A product with **Product Type** set to **Configurable Product**. It groups the variants and carries the shared content. | | **Variant** | A simple or virtual product whose **Parent product** points at the parent. It has its own SKU, price, stock and photo. | | **Variant options** | The attributes that make each variant different, such as Size or Color. Every variant needs a value for each option, and no two variants may share the same combination. | A variant can't have variants of its own, and the parent must be a top-level product in the same project. > [!NOTE] > > WISEPIM doesn't create variant products for you from a list of options. **Preview combinations** checks the variants you already have. To add a missing size, create the product and link it to the parent. ## Variants in the products table A parent row shows the number of variants under its name, for example "5 variants". Click it to expand the variants beneath the parent, and click again to collapse them. The **Product Type** column shows **Configurable** for the parent and **Simple** for each variant. The footer counts variants separately, for example "Showing 1-1 of 1 · 6 products incl. 5 variants". * **Search** by the parent SKU to find the parent and all its variants at once. * **Filter** with **Has Variants** to find parents, or **Is Variant** to find variants or standalone products. The smart filter **Parent Products** does the same in one click. See [Filtering & Searching Products](/en/products/filtering-products). * **Collapse variants** in [Product Views](/en/settings/product-views) groups variant matches under their parent during search, so a search for "jeans" doesn't list every size. > [!WARNING] > > Deleting a product also deletes its variants. Detach the variants first if you want to keep them. ## Make a product a variant Open the product you want to turn into a variant and go to the **Pricing** tab. The **Product structure** section holds **Product Type**, **Product family** and **Parent product**: "Type, family and parent decide which attributes and variants apply." **1. Pick the parent** In **Parent product**, search by name or SKU. The list shows configurable products. Turn on **Show all products, not just configurable ones** to pick a simple product instead. **2. Save** If you picked a simple product, WISEPIM warns you first that saving will convert it to a configurable (parent) product. Save to link the variant. To detach a variant, clear **Parent product** and save. The product becomes standalone again. On a variant, the **Relations** tab shows a banner "This product is a variant of" with a link to the parent. ### Use the parent's photo A variant without its own photo can borrow one. On the variant's **Relations** tab, click **Use a photo from the parent product** and pick the image. It becomes the variant's main image, and WISEPIM confirms with "Variant photo set". ## Choose variant options ![WISEPIM Variant options card with Color selected as option attribute, detected from variant values as Blue and Red, and Preview combinations and Save options buttons](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-editor-variant-options-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=3e0793cdd645e320988267e3bdbda600) On a configurable parent, the **Variant options** card sits at the top of the **Relations** tab: "Choose the attributes that distinguish these variants. Preview every combination before saving." **1. Pick the option attributes** Open **Option attributes** and choose the attributes that tell the variants apart, such as Color and Size. **2. Preview combinations** Click **Preview combinations**. WISEPIM lists each option with its values, for example "Color: Blue, Red", and warns you about problems: * "1 variant needs an option value." A variant has no value for one of the options. * "1 duplicate combination needs attention." Two variants have the same values. **3. Save options** Fix any warnings on the variants, then click **Save options**. The button stays disabled while there are warnings. WISEPIM confirms with "Variant options saved." The line under the field tells you where the current options come from: | Source | Meaning | | - | - | | **Set on this product** | Someone chose the options on this parent. | | **From the product family** | The parent's [product family](/en/products/product-families) marks these attributes as variant axes. | | **Detected from variant values** | No options were set, so WISEPIM looked for attributes every variant has with different values. | | **From the imported grouping** | The options came with the import that grouped the variants. | | **No option attributes found** | Nothing to go on yet. Choose the options yourself. | When every variant shares the same family and nothing conflicts, WISEPIM saves the options on that family, so other parents in it get them too. Otherwise it saves them on this parent only. > [!NOTE] > > A parent can have up to 32 option attributes. As the card warns, products without option attributes cannot be published as grouped variants. Without write access to the project, you can view the options but not change them. ## Group look-alike products Imports often arrive flat, with every color or size as a separate product. There are three ways to turn them into one product with variants: | Way | Best for | How | | - | - | - | | **Group as variants** (bulk edit) | You know which products belong together and which parent to use. | Select up to 500 products on the page, then **Bulk edit** > **Group as variants**. See [Group as Variants](/en/essentials/bulk-editing/group-as-variants). | | **Turn look-alikes into variants** (Catalog Job) | You want WISEPIM to find the groups across your catalog. | Start the job on the [Catalog Jobs](/en/products/catalog-jobs) hub. Every group waits in the [review queue](/en/products/catalog-jobs-review) for you to accept. | | **Guided setup** | You are organizing families, fields and categories at the same time. | Select products in [Catalog Structure](/en/products/catalog-structure) guided setup and pick the **Create variant group** suggestions. | ### Turn look-alikes into variants The job looks for top-level simple products that share a name or the start of their SKU. It never groups across brands or categories. AI checks each member is the same model in another color or size, and can read a missing option from the photo for 1 credit per product. You set **What makes a group** (**We pick**, **Same name** or **Same start of the SKU**), the allowed **Price difference**, and under **In this shop** whether to change only WISEPIM (**Only in WISEPIM**) or also **Merge the pages in my shop**. When you accept a group, WISEPIM creates the parent and links the members as its variants. | Limit | Value | | - | - | | Products per group | 50 | | Groups per run | 2,000 | | Options per group | 3 | > [!WARNING] > > A group with products that are already listed on your Shopify shop can't be accepted yet. > [!TIP] > > Grouping links the products but doesn't set the variant options. After grouping, open the parent and check **Variant options**, or mark the variant axes on the [product family](/en/products/product-families) first. ## Variants on export When a variant has no value of its own for its description, short description, brand, meta title, meta description, images, categories or FAQs, the export uses the parent's value. SKU, price, stock and the variant options are never taken from the parent. Nothing is copied into the variant itself: the fallback only happens on export. How variants arrive in your shop depends on the channel. For Shopify, switch on **Export variants as options** on the connection to send a parent as one product with options. See [Shopify Integration](/en/integrations/shopify). ## Act on what you find > **Preview combinations says a variant needs an option value** > > Open that variant and fill in the missing attribute, for example its size. Then preview again on the parent. > **Two variants have the same combination** > > Either one of them is a duplicate, or the options miss an attribute that tells them apart. Delete the duplicate, or add the missing attribute to **Option attributes**. > **Your catalog has hundreds of look-alikes** > > Run **Turn look-alikes into variants** from [Catalog Jobs](/en/products/catalog-jobs) and accept the High groups in the review queue in one go. Check the Unsure groups with **Edit group**. > **A variant shows no photo in the shop** > > Click **Use a photo from the parent product** on the variant, or leave its images empty so the export falls back to the parent's images. ## Related > **[Group as Variants](/en/essentials/bulk-editing/group-as-variants)** > > Attach many products to one parent in a single action. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Let WISEPIM find look-alikes and group them for you. > **[Product Families](/en/products/product-families)** > > Mark variant axes once for every product in a family. > **[Editing Products](/en/products/editing-products)** > > Every tab of the product editor. > **[Catalog Structure](/en/products/catalog-structure)** > > Find variant groups that miss their options. > **[Shopify Integration](/en/integrations/shopify)** > > Send parents as one Shopify product with options. # Review Inbox Source: https://docs.wisepim.com/en/products/review-inbox One inbox for every AI suggestion waiting for a person: values, categories, families, variants, structure, channels and images. Accept, change or reject. ![WISEPIM Review inbox with open and High counts, type tabs, search and Filters, a banner to accept all High suggestions, keyboard hints and Main image rows replacing placeholders with suggested photos at High confidence](https://mintcdn.com/swiftsyncai/S-ZB-hYvRnPueaxY/images/marketing-screenshots/catalog-jobs/review-light-branded.webp?fit=max\&auto=format\&n=S-ZB-hYvRnPueaxY\&q=85\&s=2a9d3e1b1139066dd5fc7f60778adeef) The Review inbox collects every AI suggestion in your project that needs a person before it changes your products. Suggestions from AI fill, web research, categorization, supplier updates, structure suggestions, channel mappings and [Catalog Jobs](/en/products/catalog-jobs) all land in one list. Nothing changes on your products until you accept. **What this page enables:** you can see in one place everything AI is waiting to change, approve the confident suggestions in bulk, and reject the wrong ones with a reason. **Where to find it:** in the Experimental interface, choose **Catalog** > **Review inbox**. The menu entry shows how many suggestions are waiting, and the **Catalog** item in the top bar gets a dot when something is pending. In the Stable interface there is no menu entry: open the command menu (Ctrl/⌘ K) and type **Review inbox**, or follow a link from a notification or from **AI review** settings. > [!NOTE] > > Which menu you see depends on **Interface version** in [Appearance Settings](/en/settings/appearance). Stable is the default. ## Why suggestions land here A suggestion waits in the inbox when: * AI isn't sure. The confidence is below the threshold for that field, or the suggestion has no confidence score at all. Suggestions without a score always wait for you. * Your AI review setting asks to check changes first. In [AI Review Settings](/en/settings/ai-review), the project switch **Review AI changes before they're saved** sends every AI change here. It is off by default. A single field can also have its own rule, such as **Ask me** (every change waits) or **Auto above** a percentage. * A Catalog Jobs run left it for review. These rows carry the chip **From a Catalog Jobs run**. You can review them here or in the [Catalog Jobs Review Queue](/en/products/catalog-jobs-review). Click **AI review settings** at the top of the inbox to change these rules. ## Browse by type The header shows how many suggestions are open and how many of them are High. Tabs split the inbox by what the suggestion changes, each with its count. A tab only shows when it has suggestions waiting (or when you have it open): | Tab | What it holds | | - | - | | **All** | Everything waiting. | | **Values** | Attribute values, product details, supplier codes, unit fixes, text edits, stock and price changes from suppliers, translations. | | **Categories** | Category suggestions and products that look misfiled. | | **Families** | Product family assignments. See [Product Families](/en/products/product-families). | | **Variants** | Groups of look-alike products that could become one product with variants. See [Product Variants](/en/products/product-variants). | | **Structure** | Suggested changes to your data model, such as merging values or new attributes. | | **Channels** | Category and value mappings to your sales channels. | | **Images** | Image suggestions and photo edits. | | **Other** | Suggestion types that don't have a tab of their own yet. | ## Filter and sort Search by **SKU or product name**, or click **Filters** to narrow the list: | Filter | Options | | - | - | | **Source** | **All sources**, **AI fill**, **Web research**, **Categorization**, **Supplier updates** or **Other source**. | | **Confidence** | The confidence band or range to show. | | **Order** | Surest first or least sure first. | | **Matching values only** | Shows only rows that suggest the same value, so you can decide on them together. | **Clear filters** resets everything. ## Decide on suggestions The inbox works like the Catalog Jobs review queue. Each row has a confidence band (**High**, **Check** or **Unsure**), the current value and the suggestion. * **Accept** applies the suggestion. **Change value** lets you pick another value first. * **Reject** leaves the product as it is. Use **Reject with a reason** to tell WISEPIM what was wrong: **Wrong value**, **Wrong unit**, **Does not apply**, **Incorrect source** or **Other**. * **Why?** opens the evidence: the reasoning, the sources and how sure the AI was. * **Accept all High** accepts every confident suggestion in one go. The green banner shows how many there are, for example "56 High suggestions. We're confident about these.", with **Choose a threshold** to set your own cut-off. A suggestion that failed to apply before is held back from the bulk accept and stays in the list with the reason. * Tick rows to accept, reject or set a value in bulk. Bulk decisions are free. The keyboard shortcuts are the same as in the review queue: J and K to move, A to accept, X to reject, E to change a value, Enter for Why?, ⇧A to accept all High and / to search. See [Catalog Jobs Review Queue](/en/products/catalog-jobs-review#keyboard-shortcuts) for the full list, bulk limits and undo. When the inbox is empty, it says "Nothing waiting for review". ## Act on what you find > **The inbox fills up faster than you can review** > > Accept the **High** band first. Then check [AI Review Settings](/en/settings/ai-review): if **Review AI changes before they're saved** is on, every AI change waits here. Give fields you trust a rule like **Auto above** a percentage so only the unsure ones wait. > **AI keeps suggesting the same wrong value** > > Reject it with a reason such as **Wrong value** or **Incorrect source**. If the attribute has free text, add allowed values in [Managing Product Attributes](/en/other-features/managing-attributes) so AI has to pick from your list. > **Many products need the same decision** > > Turn on **Matching values only** in **Filters**, select the rows and decide on them together. > **You use the Stable interface and can't find the inbox** > > Use the command menu (Ctrl/⌘ K) and type **Review inbox**, or switch to Experimental under **Interface version** in [Appearance Settings](/en/settings/appearance). ## Related > **[AI Review Settings](/en/settings/ai-review)** > > Choose which AI changes are saved right away and which wait here. > **[Catalog Jobs Review Queue](/en/products/catalog-jobs-review)** > > Review the suggestions from Catalog Jobs runs. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Guided jobs that fill gaps, fix images and more. > **[Catalog Structure](/en/products/catalog-structure)** > > Families, categories, fields and variant groups in one place. > **[Product FAQs](/en/ai/product-faqs)** > > Generate buyer questions and answers for your products with AI. # Shops Source: https://docs.wisepim.com/en/products/shops Set how each connected shop works, then decide per product where it is listed, its state, price and stock per shop, and which shops it syncs to. ![WISEPIM product shop controls with per-connection sync settings and CCV visibility overrides](https://mintcdn.com/swiftsyncai/fwacY8U1nbSrQErX/images/marketing-screenshots/products/products-editor-shops-light-branded.webp?fit=max\&auto=format\&n=fwacY8U1nbSrQErX\&q=85\&s=119f75e9f44cb72bfeb29b302b50f164) When you sell through more than one shop, not every product belongs everywhere. A shop in WISEPIM is one connection to a platform, such as your Shopify store or one of your WooCommerce stores. You set up each shop once, then the **Shops** tab on a product decides where that product is listed and how it shows there. **Where to find it:** open a product and pick the **Shops** tab in the product editor, or click the **Shops** cell in the products table. Shop-wide settings live on the connection: **Settings** > **Integrations**, open the platform, then **Shop settings** next to the shop. ## Set how a shop works Each connected shop has its own settings. Open them with **Shop settings** on the platform's page in Integrations. The panel shows what WISEPIM found in the shop and why it picked each starting value, and **Check again** reads the shop once more. | Setting | Choices | | - | - | | **Which products this shop sells** | **Every product**, **Products I choose** (you switch them on per product), or **Products in its own category tree** | | **Category tree** | **Same categories as** your main shop, or **Its own category tree** under a top category you pick | | **Prices** | **Same prices as WISEPIM**, **Prices from my pricing rules for this shop**, or **Prices I set per product** | | **Stock** | **Same stock for every shop**, or **This shop keeps its own stock**, which WISEPIM never overwrites | | **How this shop shows other languages** | **Only one language**, **A separate shop for each language**, **WPML on this shop** or **Polylang on this shop** | | **Google and feeds** | Which Merchant Center accounts and feeds take their product links from this shop | The first shop you connect on a platform is your **Main shop**. When something does not say which shop, WISEPIM uses the main shop. Pick another one with **Make main shop** in the shop's menu. > [!WARNING] > > Sending products to a second shop of the same platform is not supported yet. Importing from it works, but an export to it stops with "Sending to a second shop isn't supported yet. It's coming soon." and names your main shop as the one you can still send to. ## Listed in this shop: state, price and stock The top of the product's **Shops** tab lists every shop with **Listed in this shop** or **Not in this shop yet**. For a shop that does not have the product, **Add to** the shop queues it for the next export. **In this shop** sets how the product shows there: | State | What shoppers see | | - | - | | **Same as in WISEPIM** | Follows the product's status. This is the default. | | **Live** | Shoppers can find and buy it. | | **Draft** | Shoppers can't see it. | | **Hidden from the catalog** | Not in categories or search. Its link still works. | | **Archived in this shop** | Sent once as a draft, then WISEPIM stops sending it to this shop. | When the shop uses **Prices I set per product**, you set the **Price** and **Sale price** here. When it keeps its own stock, you set **Stock** here too. WISEPIM checks your values before saving: a sale price above the price is refused, and a price below the product's cost gets a warning. ## Sending: one card per connection Below that, under **Sending**, every shop you have connected gets its own card, headed by the shop name with its platform and profile number underneath ("CCV Shop · #4821"). What you can set there: | Control | What it does | | - | - | | **Sync this product** | Whether this product is included in future exports to that connection. | | **Visibility on next CCV sync** | CCV Shop only. Overrides the storefront visibility this product gets on the next sync. | | **Connection and field settings** | Opens the connection itself, where field mappings, languages, and export behavior live. | Change something and **Save settings** lights up, next to a discard button that puts the card back the way you found it. Nothing leaves the page until you save. > [!WARNING] > > Saving controls future exports, not the past: "Turning sync off does not remove an existing listing. Start an export to apply visibility changes." If a product is already live in a shop, switch sync off *and* remove or hide the listing on the platform. If a whole connection has exports switched off, the card says so: "Export is disabled for this connection. Enable it in the connection settings to resume syncing." Product-level sync still saves; it simply does nothing until the connection resumes. ## CCV Shop and multishop CCV Shop connections get two extras, because CCV manages shop membership on its own side. **Visibility on next CCV sync** takes one of three values: * **Use product visibility**: inherit whatever the product's own visibility says. This is the default. * **Enabled**: force the product visible in this shop. * **Disabled**: force it hidden, whatever the product says. **Manage CCV shops** opens the multishop panel, with a switch per CCV shop for assigning this product. A few things to know before you use it: > **You need the multishop parent connection** > > "Assignments are managed by the multishop parent." Connect the parent, not a child shop. A child or single-shop connection shows: "This connection is a child or single shop. Connect the multishop parent to manage product assignments." > **One change at a time** > > Flip one switch, read the line that appears ("Apply will assign this product to the selected CCV shop", or the matching removal wording), then click **Apply to CCV Shop**. The other switches stay locked until that change is applied or undone. Other shop assignments are preserved. > **CCV confirms in its own time** > > CCV processes multishop changes through a queue, so a successful apply means accepted, not finished: "CCV Shop accepted the change. It processes multishop changes in its own queue; reload to check the result." If a change is still unconfirmed, WISEPIM blocks the next one until you reload and check. > **API access in CCV** > > The parent connection needs `GET products/webshops` and `PUT webshops` under CCV's API settings. Per-shop field exceptions are set in CCV itself, under **My Webshop > Settings > General > Multishop settings**. > [!NOTE] > > Turning the product's sync toggle off does not cut CCV's parent out: "CCV's parent can still update child shops when this sync toggle is off. Use the parent connection to manage CCV shop assignments." ## See destinations from the products table ![Per-shop product sync status in the WISEPIM products table](https://mintcdn.com/swiftsyncai/R5A08f16GZcH3s4C/images/marketing-screenshots/products/products-shops-table-light-branded.webp?fit=max\&auto=format\&n=R5A08f16GZcH3s4C\&q=85\&s=4231d3d4b1828e103bec58519846d951) Add the **Shops** column to your product table and you can read sync status without opening anything. Click **Columns**, search for "shops", tick it, and click **Apply**. Each row then shows a chip per shop, with a **+2** style counter when a product goes to more than two. The icon carries the state: | Chip | Meaning | | - | - | | Green with a check | **Sync on**. The product goes out on the next export. | | Grey with a pause | **Sync off** for this product, or **Connection paused** for the whole connection. | Hover a cell for the full list with each shop's status. Click it to jump straight to that product's Shops tab. > [!TIP] > > Pair the Shops column with a [saved view](/en/products/customizing-views) per channel. One glance tells you which products are missing from a shop you just launched. ## Who can change what Two different permissions are at play, and the tab spells them out: "Project editors manage product destinations. Integration managers configure connections and field mappings." So a project editor decides *which* products go to a shop. An integration manager decides *how* they get there. If you only have view access, the tab tells you: "You can view shop settings. A project editor must save changes." If nothing is listed at all, there is nothing connected yet: "Connect a shop in Integrations to manage product destinations." ## Change many products at once Setting sync product by product gets old fast. The [Shop sync bulk action](/en/essentials/bulk-editing/set-shop-sync) sets the same choice across an entire selection, one setting per shop, leaving the shops you do not touch exactly as they were. ## Related > **[Shop sync](/en/essentials/bulk-editing/set-shop-sync)** > > Switch sync on or off for whole selections, shop by shop. > **[Exporting Products](/en/essentials/exporting-products)** > > Send your catalog to the shops and files that are set to receive it. > **[CCV Shop Integration](/en/integrations/cvv-shop)** > > Connect CCV Shop, including multishop setups. > **[Editing Products](/en/products/editing-products)** > > Everything else in the product editor, tab by tab. # Translating Products Source: https://docs.wisepim.com/en/products/translating-products Translate product titles, descriptions, metadata and FAQs into your project languages with AI, then review every language side by side. ![Enriching products with AI, translation in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-translation-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=722b9d0d6f75260d3cef655eca099e31) 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 up to seven fields: **product name**, **description**, **short description**, **meta title**, **meta description**, **meta keywords**, and the product's **FAQs**. Attribute values are not part of a product translation, so codes and spec values stay as they are. Attribute names and the labels of select options are translated separately, from the attributes page, at 1 credit per 50 labels per language. Select attributes translate their labels and never their codes. See [Managing Product Attributes](/en/other-features/managing-attributes#translate-names-and-option-labels-with-ai). > [!NOTE] > > 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. > [!TIP] > > [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. > [!NOTE] > > 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 **1. Select products** Check individual products on the **Products** page. Or apply filters and choose **Apply to all** to translate your whole filtered catalog. **2. Open Enrich with AI** Click **Enrich with AI** in the toolbar. The modal opens with every available action. **3. Choose Translation** Select **Translation**. AI translates the core fields into each language set up in your project. Open the options to fine-tune what gets translated and how (see below). **4. Pick a mode** Choose **Fast** or **Pro**. Fast is the default and the right choice for almost every run (see below). **5. Start enrichment** 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. | > [!NOTE] > > 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. > [!TIP] > > 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 ![WISEPIM translation dictionary with multilingual term mappings and do-not-translate brand terms](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-dictionary-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=cf6a3eceaab67a0245192e1c57d6c6c6) 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. A remembered translation is only reused for the exact same source text (capitals count) in the same field, language and categories, with the same dictionary and instructions. Change any of those and the text is translated fresh. * **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. > [!NOTE] > > 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. > [!TIP] > > 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: > **Pick the fields** > > Choose which of the seven fields to translate. Skip the ones you do not need, or translate only metadata for an SEO pass. > **Set the tone and style** > > 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. > **Preserve brand names** > > Keep brand and product names exactly as written, so they are never translated by accident. > **Add custom instructions** > > Give AI extra guidance, for example "use formal address" or "keep units in metric." Save instructions you reuse as a template. > [!TIP] > > 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. ![Language selector dropdown on the Products page for switching between languages to compare translations](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/products/language-selector.webp?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=1054c051c06bd9133f71d684126bdae8) **1. Switch language** Pick a target language with the language selector. **2. Check the fields** Review the translated title, description, short description, and meta fields. **3. Compare side by side** Choose **All languages** in the language selector ("Primary columns plus one column per translation"). Each translation gets its own column next to its field, with the language's flag and code in the header. Or use **Configure Language Columns** to pick the languages yourself. To correct translations, open a product in the full editor and choose **All languages** in its language picker. The **Content** and **SEO** fields then show once per language, primary language first, and one save stores every language. FAQ translations are on the product's **FAQs** tab. See [Editing Products](/en/products/editing-products#edit-every-language-on-one-page). When a translatable text attribute has no value in the language you are editing, the field stays empty and shows the original next to it ("No German translation yet. Original: …", with your language), so you never save the primary text as a translation by accident. ### 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 > **Improve before translating** > > Enrich products in your primary language first. Better source text means better translations. > **Start with a small batch** > > Translate 5 to 10 products first to check quality before you run the full catalog. > **Review specialized terms** > > Technical terms, brand names, and product jargon may need a manual touch-up after translation. > **Translate by category** > > Filter by category and translate in batches. This makes review easier and keeps each category consistent. ## Troubleshooting > **The Translation option isn't available** > > Set up at least one target language besides your primary language in **[Settings > General](/en/settings/general)**. > **The translation didn't start** > > 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". > **Translation quality is poor** > > Improve your source content first. [Enrich with AI](/en/essentials/enriching-products) in your primary language before you translate. > **Some fields weren't translated** > > Only the seven text fields are translated. Numbers, images, codes and attribute values stay as they are. An empty source field has nothing to translate. ## Related > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Sharpen titles, descriptions, and metadata before you translate. > **[General Settings](/en/settings/general)** > > Set up the project languages that translation uses. > **[Process Tracker](/en/other-features/process-tracker)** > > Watch the progress of background translation jobs. > **[Managing Your Products](/en/essentials/managing-products)** > > Filter, select, and review products across languages. > **[Launch a new market language you trust](/en/guides/launch-a-new-language)** > > 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. > [!NOTE] > > 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 ![WISEPIM units-of-measure code sets for weight, dimensions and volume with conversion factors](https://mintcdn.com/swiftsyncai/MJhIcuPvHFtY9cDn/images/marketing-screenshots/products/uom-code-sets-light-branded.webp?fit=max\&auto=format\&n=MJhIcuPvHFtY9cDn\&q=85\&s=042272bcb86e6edeaf041e37cd70dc3f) Go to **Catalog** > **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 ![WISEPIM unit-set editor with base unit, conversion factors and export formatting](https://mintcdn.com/swiftsyncai/R5A08f16GZcH3s4C/images/marketing-screenshots/products/uom-code-set-modal-light-transparent.webp?fit=max\&auto=format\&n=R5A08f16GZcH3s4C\&q=85\&s=58874f815d9103dbd8f1bda301dd63ad) 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. > [!TIP] > > 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** in the code set modal (**Append (100 mm)**, **Separate Columns**, **Ignore Unit** and the column suffixes) are stored with the code set, but exports don't read them today. What decides the unit format of an export is the **Unit Export Format** you choose in the export dialog for that run: * **Default**: each layout keeps its own unit handling. Dynamic and numbered attribute columns keep the unit in their own "Attribute Uom" column, and other exports write the value only. * **Append**: value and unit in one cell, e.g. `100 mm` * **Separate**: value and unit in separate columns * **Ignore**: value only, no unit See [Exporting Products](/en/essentials/exporting-products#units-of-measure-in-exports). ## Importing UOM via the UOM Importer ![WISEPIM units-of-measure importer wizard, upload and map a unit-set spreadsheet](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/products/uom-importer-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=d0334b9e2dba671d7bb957fe033cd4d2) 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: **1. Upload and preview** 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. **2. Column mapping** Match your CSV columns to the UOM fields. Required fields are marked with an asterisk. The importer auto-detects common column names. **3. Import options** 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. **4. Import progress** 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 on the [Managing Attributes](/en/other-features/managing-attributes) page. 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, click **Edit** on the selection bar, and pick **Change unit** under **Fields and attributes**. 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 > **[Change Unit of Measure](/en/essentials/bulk-editing/change-uom)** > > Bulk-convert units across products, with optional automatic value conversion. > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > 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 **1. Connect your platform** [Set up your integration](/en/integrations/supported-platforms) with your e-commerce platform. We support Shopify, Magento, WooCommerce, Lightspeed, CCV Shop, and more. **2. Import your products** [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. **3. Enrich with AI** [Select products and click Enrich](/en/essentials/enriching-products). WISEPIM writes optimized titles, descriptions, and attributes from your prompts and Knowledge Library. **4. Export back to your store** [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. > **Get your platform access ready** > > 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. > **Build your first prompt** > > 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. > **Fill your Knowledge Library** > > 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. > [!TIP] > > [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"). On the signup form, the box "I want to receive product updates in my mailbox." is optional. A few steps do more than collect answers: * **About you**: "Only your company name is required. The industry is optional and sharpens the examples we generate." The industry list goes down to segments and assortments. When WISEPIM has read your store, it can preselect a segment for you: "Suggested from your store. Open the list to pick another segment or the whole industry." * **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. * **Shape your workspace** preselects tools from your goals. Pick **Simple** to keep the menus short or **Advanced** to switch every tool on. You can change this any time in [Workspace Features](/en/settings/features). When the wizard ends, "Your next steps are saved under Settings → Onboarding", so you can come back to anything you skipped. That is the [setup checklist](/en/settings/onboarding), and it stays available for as long as you need it. > [!NOTE] > > Some new accounts get a store-first setup instead. The signup form then has an optional **Store URL** field: "We read up to 25 public products so your first result uses your own catalog. Nothing on your store changes." You get a catalog health report, fix your first gap with AI, and see the score go up. See [Start from your store](/en/settings/onboarding#start-from-your-store). > [!TIP] > > Want help organizing your catalog? The optional **Organize your products** step suggests families, categories, fields and variant groups for a few products you pick, and it needs no credits. See [Catalog Structure](/en/products/catalog-structure). ![WISEPIM onboarding welcome step with language and a guided checklist](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/onboarding-welcome-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=08a723d976ac5fb64dcdf1f9b42950fd) 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). ![WISEPIM onboarding markets step selecting primary and additional locales](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/onboarding-markets-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=92e3152c5952b7185ae83b1483ce9f67) 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. ![WISEPIM onboarding website step that crawls your store to pre-fill data](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/onboarding-website-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=823401849cda34d040f7748c7616256a) ## 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** and **Projects** sit at the top level on their own, next to the four groups. The **Catalog** menu has two versions. **Stable**, the default, lists all catalog tools in one list. **Experimental** groups them under **Work with products** and **Catalog setup**, and adds **Catalog structure** and the **Review inbox**. Switch under [Appearance](/en/settings/appearance#choose-the-interface-version). > [!TIP] > > 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 ![WISEPIM command menu (⌘K) with context-aware page actions for the products view](https://mintcdn.com/swiftsyncai/z5d3CJO9XHp3yTbr/images/marketing-screenshots/products/command-menu-page-actions-light-transparent.webp?fit=max\&auto=format\&n=z5d3CJO9XHp3yTbr\&q=85\&s=92d6e26b4e3a4e43311da8ebedbb7669) 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` | > [!TIP] > > 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*. ![WISEPIM account menu with the Documentation shortcut that opens help for the current page](https://mintcdn.com/swiftsyncai/4ens5EbbkQ_RIThE/images/marketing-screenshots/overview/account-menu-documentation-light-transparent.webp?fit=max\&auto=format\&n=4ens5EbbkQ_RIThE\&q=85\&s=3ca82ebd3611cede7a63b7809f9d1c61) 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. > [!TIP] > > 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: > **[Enrich descriptions](/en/essentials/enriching-products)** > > Pick a few products and generate AI descriptions. Compare the before and after. > **[Translate your catalog](/en/products/translating-products)** > > Pick a few products and translate them into a new language. Native-quality results in seconds. > **[Check data quality](/en/analytics/data-quality)** > > See how your catalog scores on completeness, channel readiness, SEO, and conversion potential. > **[Test in the Prompt Lab](/en/essentials/prompt-lab)** > > Try different prompt setups and see the results live before you apply them to your catalog. ## Need help? > **[Integration guides](/en/integrations/supported-platforms)** > > Step-by-step setup for every supported platform. > **[Contact support](https://wisepim.com/contact)** > > Our team is here to help with any question or setup. ## Related > **[Set up WISEPIM before you import](/en/guides/first-catalog/set-up)** > > A five-part guide that takes these four steps all the way to live, enriched listings. > **[Managing Your Products](/en/essentials/managing-products)** > > Filter, sort, and select products once your catalog is in WISEPIM. # Analytics settings Source: https://docs.wisepim.com/en/analytics/analytics-settings Set the timezone and currencies every order report uses, record exchange rates per order date, and update past reports after a change. Every order report in the project reads the same three settings: the timezone that decides when a day ends, the currency stores are added up in, and the currency of the cost prices in your catalog. This page sets them, holds the exchange rates you record, and recalculates past reports when something changed. **What this page enables:** one agreed definition of "yesterday" and "total" for the whole team, converted totals across stores at rates you chose, and margin on orders that would otherwise stay unknown for lack of a cost currency. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar and click **Analytics settings**. The **Confirm reporting basics** step on the [Today](/en/analytics/today) page lands here too. ![WISEPIM Analytics settings with reporting basics, exchange rates and report updates](https://mintcdn.com/swiftsyncai/sYRp2D_RvWvuuDNm/images/marketing-screenshots/analytics/order-evidence-settings-light-branded.webp?fit=max\&auto=format\&n=sYRp2D_RvWvuuDNm\&q=85\&s=b2b8b639bb8800ada6fb492313c25e46) > [!NOTE] > > These settings apply to every report in this project. Changing them needs permission to manage settings. Reports per store stay in each store's currency whatever you set here; the reporting currency only adds a converted total on top. ## Reporting basics The **Reporting basics** card offers a **Recommended** set and a **Customize** option. | Setting | What it does | Recommended value | | - | - | - | | **Timezone** | Sets where each order day starts and ends. Complete days, comparisons, targets and schedules all follow it | From your browser or from your store settings | | **Reporting currency** | The currency stores are added up in on the reporting card of the Orders page. Each store also keeps its own currency | The currency most of your stores sell in, shown as **EUR, used by N of N stores** | | **Currency of your cost prices** | The currency of the cost prices in your catalog, so Margin can use them. Empty means unknown, never zero | **Same as your main store** | Click **Use recommended settings** to accept all three, or **Customize** to pick your own. Before you save, the preview line reads **Reports will use `{timezone}` days and add stores up in `{currency}`. N stores need exchange rates.** > [!WARNING] > > Saving does not rewrite history by itself. The page says **Saved. Your reports still use the old settings until you update them.** Run **Update reports** below so past days are recalculated with the new timezone and currencies. ## Exchange rates Stores that sell in another currency than the reporting currency need a rate for every order date. The **Exchange rates** card tells you how many: **N order days need a rate**. * **Enter one rate** adds a single rate: the from-currency, the order date and the rate, read back as **Read as `{rate}` `{reporting}` per 1 `{currency}`** so you can check the direction. **Record rate** saves it. * **Paste rates** takes one line per day: date and rate, separated by a tab or semicolon, and records them all at once. * The card links to where to find official rates: ECB reference rates. > [!NOTE] > > Rates are yours. WISEPIM stores the rate as you enter it and doesn't look it up, uses one exact rate per date, and doesn't fall back to the day before or to an inverse rate. An order date without a rate stays unconverted and is counted under **Orders without a rate for their date**. ## Report updates The **Report updates** card recalculates reports for 1 to 366 days across the whole project, whatever store or currency filter you use. Save your settings first, pick the **From** and **To** dates, and click **Update reports**. Statuses: **Queued**, **Running**, **Done**, **Cancelled**, **Replaced by a newer update** and **Failed**. When it finishes, reopen a report to see the new numbers. Other pages ask for an update too: linking products under [Unmatched products](/en/analytics/unmatched-products) and posting purchase prices under [Costs](/en/analytics/costs) both end with **Reports need an update.** ## Act on what you find > **Margin is unknown on every order** > > Check **Currency of your cost prices**. While it is empty, catalog cost prices cannot be used, and Margin says **Needs product costs**. Set it, save, and run **Update reports** for the period you care about. > **The converted total is marked Known so far** > > Some order days have no rate. Open **Exchange rates**, read the count, and paste the missing days. The reporting card on the Orders page shows the exact number under **Orders without a rate for their date**. > **You changed the timezone and the targets now say Check the dates** > > Day boundaries moved, so each target's period has to be confirmed. Open [Targets](/en/analytics/targets), check the start and end dates, and save each one. > **An update says Replaced by a newer update** > > Someone started another update that covers the same days. Nothing was lost; the newer run carries the work. Wait for it to read **Done**. ## Related > **[Today](/en/analytics/today)** > > The setup checklist that starts with these settings. > **[Margin](/en/analytics/margin)** > > What the cost currency and exchange rates unlock. > **[Costs](/en/analytics/costs)** > > Purchase prices and fee imports that also need a report update. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Complete days, native currency and why nothing is converted implicitly. # 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. ![WISEPIM category insights fusing catalog health and revenue](https://mintcdn.com/swiftsyncai/A1sxlhei3Shk5Iku/images/marketing-screenshots/analytics/analytics-categories-light-branded.webp?fit=max\&auto=format\&n=A1sxlhei3Shk5Iku\&q=85\&s=2dde3ca7e27b92cebfbd6d2d229de368) 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. > [!NOTE] > > 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. | > [!TIP] > > 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. > [!TIP] > > 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. **1. Market Share donut** 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. **2. Revenue by Category bar chart** 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. **3. Category table** 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 ![WISEPIM category insight drawer, per-field coverage, storefront content and a fix hand-off](https://mintcdn.com/swiftsyncai/Xm3w-iQn_JY7KCn5/images/marketing-screenshots/analytics/analytics-category-insight-drawer-light-transparent.webp?fit=max\&auto=format\&n=Xm3w-iQn_JY7KCn5\&q=85\&s=4cc9cf8afab65cd825a212c6b99612dd) 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. > **A high-revenue category has low completeness** > > 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. > **A category's market share is dropping** > > 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. > **A category has many orders but low AOV** > > 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. > **A category has good content but no sales traction** > > 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. > **One category dominates revenue** > > 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 or deep hierarchy** > > 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. > **Many products are uncategorized** > > 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 > **[Product Performance](/en/analytics/product-performance)** > > Drill down from categories to individual products. > **[Revenue & Sales](/en/analytics/revenue-sales)** > > See the full revenue picture across categories and channels. > **[Channels](/en/analytics/channels)** > > Compare category performance across your sales channels. > **[Data Quality](/en/analytics/data-quality)** > > Fix the field-level gaps the category detail drawer flags. # 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. ![WISEPIM Competitor Intelligence overview with a threat score, share-of-voice matrix and the single highest-impact move to close each gap](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-competitors-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=ad06a6d2a3366254369a2758b052c629) 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. > [!NOTE] > > 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. > [!NOTE] > > 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 **1. Open Competitor Intelligence** Find **Competitor Intelligence** in the Analytics sidebar. Before your first run you see the starting screen: "Know exactly where your competitors beat you". **2. Let WISEPIM suggest rivals** 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. **3. Or add one yourself** Click **Add a competitor manually**, paste the shop's address (for example `competitor.com`), and click **Add**. **4. Check your list** **Your competitors** shows everyone you have added with an n/10 counter, so you always know how much room is left. **5. Run the analysis** Click **Run competitor analysis**. > [!TIP] > > 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. > [!NOTE] > > If a competitor site blocks the first attempt (a bot wall, a challenge page, or a 403, 429 or 503 response), WISEPIM retries it through a residential proxy with an exit in the site's own country. Pages that are genuinely gone (404 or 410), disallowed by robots.txt, or not public are never retried that way. A competitor that still cannot be read is skipped: you 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. How a run ends depends on how many competitors could be read: * Every competitor read: the task completes normally. * Some competitors failed: the task completes with errors and keeps the partial snapshot, so the tabs show what was read. * Every competitor failed: the task is marked failed and no snapshot is written. You can stop a running analysis with **Stop** in the [Process Tracker](/en/other-features/process-tracker). A homepage alone is enough for a competitor to be analysed; a sitemap or category pages add depth. ## 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. > [!TIP] > > 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 ![WISEPIM competitor teardowns reverse-engineering each rival's strategy, strengths and weaknesses](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-competitors-teardowns-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=47f16f2632d6c772a9e58c59ea138c01) 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. ![WISEPIM competitor teardown drawer with scored dimensions, what they do well, where they're weak and concrete moves to beat them](https://mintcdn.com/swiftsyncai/-P0d3umNkcJmVHPk/images/marketing-screenshots/analytics/competitors-teardown-drawer-light-transparent.webp?fit=max\&auto=format\&n=-P0d3umNkcJmVHPk\&q=85\&s=b12de084d7cf58176e8d8a705e0ee2bc) 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 ![WISEPIM competitor attribute-gap analysis showing which product specs rivals fill that you don't](https://mintcdn.com/swiftsyncai/1rZViwDZD4t4RlKx/images/marketing-screenshots/analytics/analytics-competitors-attributes-light-branded.webp?fit=max\&auto=format\&n=1rZViwDZD4t4RlKx\&q=85\&s=2f9279d393225a86e9eb815c8fe1a30e) 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 ![WISEPIM competitor copy analysis comparing your descriptions against rivals' benefit-led copy](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-competitors-copy-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=db0d49714d00d0e1092f171c53ccc321) 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 ![WISEPIM competitor localization gaps showing markets rivals already sell in that you don't](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-competitors-localization-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=9f54dca016cc90c7b25a5639d57b7091) 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 ![WISEPIM competitor SEO and wasted-ad-spend analysis with keyword gaps and missing meta titles](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-competitors-seo-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=fe6a0101da9245e5fd64d26e0e567b15) 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. > [!NOTE] > > 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. > [!NOTE] > > 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. > [!TIP] > > 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 > **Your threat score is High** > > 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. > **You sit in the At risk quadrant** > > 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. > **You are a Hidden gem** > > 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. > **Rivals fill specs you leave empty** > > 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. > **Competitors sell in markets you don't** > > 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. > **You need to brief a salesperson before a pitch** > > 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 > **[SEO & Search](/en/analytics/seo)** > > Your own search performance, sitemap coverage, and competitor sitemap gaps. > **[Data Quality](/en/analytics/data-quality)** > > The always-on catalog health score behind most attribute fixes. > **[Enriching Products](/en/essentials/enriching-products)** > > The AI writing that powers every Fix with AI action here. > **[AI Quality Review](/en/analytics/quality-review)** > > Score your own listings the way a demanding customer would read them. # Content impact Source: https://docs.wisepim.com/en/analytics/content-impact See how a product sold before and after a change you published went live, next to the credits the project used. What changed, not what caused it. You rewrote a description, published it, and want to know whether it did anything. Content impact answers that with the only evidence it has: the product's orders in the days before the change went live, and the days after. It does not claim the change caused the difference, and it says so on the page. **What this page enables:** you check the sales of a product around a verified publication, compare several changes at once, and see the credits the project used in the same period, all without reading an attribution model into the numbers. **Where to find it:** open **Analytics**, expand the **Catalog** group in the sidebar and click **Content impact**. > [!NOTE] > > The **Traffic & SEO** group has an item with almost the same name, **Content Impact**. That one is the GA4-based [Enrichment Impact](/en/analytics/enrichment-impact) report, which compares views, carts and sales from Google Analytics. This page uses your imported orders. ![WISEPIM Content impact page comparing a product's sales before and after a published change](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-outcomes-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=daa687a09bbd6192ebd8223bb3f9f429) > [!NOTE] > > A change only counts once WISEPIM has seen it live in the store, in a specific language. That evidence comes from [Listing history](/en/analytics/listing-history). The product also needs to be linked to its order lines; see [Unmatched products](/en/analytics/unmatched-products) if it is not. ## Changes we're watching The top of the page lists the product changes WISEPIM is following under **Changes we're watching**. Each card shows the product and store, a status, and two comparisons: the product's own sales before and after (**This product**) and the store's sales over the same days (**Whole store**), so you can tell a product effect from a store-wide swing. | Status | Meaning | | - | - | | **Maturing · N of N days** | The after-window is still running. WISEPIM follows a published change for 28 days | | **Ready** | Both windows are complete and the comparison can be read | | **Too few orders to tell** | The product did not sell enough in either window to say anything | If nothing is listed yet, the page explains: when you publish a product from WISEPIM, it follows the product's orders for 28 days and reports back here. ## Compare one change Open **Advanced** to compare a specific change yourself. **1. Describe the change** Fill in the **Product ID**, the **Store (store key)**, the **Currency**, the **Version** of the product and the **Language** it was published in. The store key is the platform and store number, such as `shopify:12`; you find it in the store tooltip on any order page. **2. Pick the window** Set **Days before and after (7, 14, 28, 56 or 90)**. 28 is the recommended value because it smooths weekly cycles. **3. Compare** Click **Compare before and after**. The result shows **Before**, **After**, **Difference** and **Change (%)**, plus the exact dates of both windows. The day the change went live is left out of both. When WISEPIM cannot give a result, it tells you why instead of showing a zero: | Reason | What it means | | - | - | | **We haven't seen this version live in this language.** | Listing history has no observation of this version, so there is no "after" to compare | | **The days after the change aren't over yet.** | Wait for the window to close | | **Another change to this product falls in the same period.** | Two changes overlap, so neither can be read on its own | | **Too few similar, unchanged products to compare with.** | There is no comparison group of similar products in the store | | **This product isn't linked to its orders yet.** | Link it under [Unmatched products](/en/analytics/unmatched-products) first | | **Our order history for these days isn't confirmed, so we don't assume zero sales.** | A gap in the imported history falls inside a window | | **We can't confirm that stock and price stayed the same in this period.** | A stock-out or price change would explain the difference on its own | | **The change went live outside the dates you picked.** | Widen the date range in the scope bar | > [!WARNING] > > This shows what changed, not what caused it. Price, stock and other changes can explain the difference. Treat a positive result as a reason to look closer, not as proof that the new content did it. ## Compare several changes **Compare several changes** adds up the differences of up to 20 product changes. The periods must not overlap for the same product, store and currency. Add each change with **Add change**, then click **Compare selected changes**. The result shows the **Total difference**, marked **Known so far** when some changes could not be read, and the line **N changes with an unknown result**. Losses are added up as well as gains, so the total is not a best case. ## Credits used in this project The **Credits used in this project** card shows every credit used and refunded in the project between the selected dates, including failed tasks: **Credits used**, **Credits refunded** and **Net credits**, with a row per task and a **Not linked to a task** row for the rest. > [!NOTE] > > Credits aren't split per product or turned into money, and credits aren't converted to money, so WISEPIM does not show a return on spend. If you want a cost-per-change figure, you have to decide yourself which tasks belong to which product. ## Act on what you find > **A change reads Ready and the product is up while the whole store is flat** > > That is the pattern worth acting on. Open the product, note what changed in the version you published, and apply the same approach to similar products with an [enrichment run](/en/essentials/enriching-products). Then watch them here once they are seen live. > **The product is up, but so is the whole store** > > Read it as a store-wide swing, a promotion or the season. The change may still have helped, but this page cannot separate it. Check [Orders](/en/analytics/orders) for what moved in the same period. > **Every comparison says the version was not seen live** > > The export was accepted, but WISEPIM never observed the content in the store in that language. Open [Listing history](/en/analytics/listing-history) for the product: if the latest event is **Accepted, not seen live yet**, check that the channel actually published it. > **You want to know what the enrichment cost per product** > > The credits card gives project totals only. Open the [Process Tracker](/en/other-features/process-tracker) to see which tasks ran on which products, then attribute the credits yourself. ## Related > **[Listing history](/en/analytics/listing-history)** > > The export and seen-live events that decide when a change counts. > **[Enrichment Impact](/en/analytics/enrichment-impact)** > > The GA4-based view of the same question, using views, carts and sales. > **[Orders](/en/analytics/orders)** > > Recent sales changes by store and product, for context around a change. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Complete days, trust marks and why unknown is never shown as zero. # 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. ![WISEPIM conversion funnel from view to purchase](https://mintcdn.com/swiftsyncai/Xm3w-iQn_JY7KCn5/images/marketing-screenshots/analytics/analytics-conversions-light-branded.webp?fit=max\&auto=format\&n=Xm3w-iQn_JY7KCn5\&q=85\&s=9332295f08e9b18ff85aa7f074e8ec6c) 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. > [!NOTE] > > 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. With GA4 connected, a source line under the title reads **GA4 · `{property}`** with **data through `{date}`**. **Data details** opens a popover with the property's time zone, currency, data streams, **Days with data** and **Last synced**. A trust chip next to it reads **GA4 tracks `{percent}`**, the share of your order revenue GA4 records; click it to open [Tracking Health](/en/analytics/tracking-health). If that share is low, every GA4 count on this page is low with it. ## 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. | > [!TIP] > > 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 > [!NOTE] > > 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. ![WISEPIM GA4 conversion insight following shoppers from product view through purchase](https://mintcdn.com/swiftsyncai/6ZQoBzJkFmY7l9Qs/images/marketing-screenshots/analytics/analytics-ga4-conversion-insight-light-branded.webp?fit=max\&auto=format\&n=6ZQoBzJkFmY7l9Qs\&q=85\&s=67c69d9adc0a0a687695b827de487445) When Google Analytics 4 is connected, a section based on shopping events from Google Analytics 4 sits alongside the order-based funnel. The framing matters: **These are GA4 event counts, not shoppers. One shopper can view many products, so read them as ratios, not conversion rates.** Zeroes are useful too: they can reveal missing ecommerce instrumentation. | KPI | GA4 event | | - | - | | **Product-view events** | `view_item`. How often a product page view was recorded. | | **Add-to-cart events** | `add_to_cart`. How often a product was added to a cart. | | **Checkout-start events** | `begin_checkout`. How often a checkout was started. | | **Purchase events** | `purchase`. One order normally fires one purchase event, but a tag that fires twice counts an order twice. | | **Purchase revenue** | The revenue GA4 attributed to purchase events in the period. | | **Average order value** | Purchase revenue divided by purchase events. | | **Sessions with a key event** | The share of GA4 sessions in which an event you marked as a key event fired. Which events count depends on your GA4 settings. | Below the counts, **Step-by-step ratios** show how many events reach the next step per 100 events of the step before. They are ratios between event counts, not shopper conversion rates: | Ratio | What it is | | - | - | | **Carts per 100 product views** | Add-to-cart events divided by product-view events, times 100. | | **Checkouts per 100 carts** | Begin-checkout events divided by add-to-cart events, times 100. | | **Purchases per 100 checkouts** | Purchase events divided by begin-checkout events, times 100. | | **Purchases per 100 product views** | Purchase events divided by product-view events, times 100. This is not your visit conversion rate. | Each ratio comes with a hint on where to look next. A drop before checkout does not identify its cause, so the card points you to **See Content Impact** to check whether content changes moved the rate. A drop inside checkout is about shipping costs, payment options or the checkout itself, which product data cannot fix, so the card offers **Open Tracking Health** to rule out a purchase tag that stopped firing. An insight list under the ratios names the biggest gap (**For every 100 `{from}` events, GA4 recorded `{rate}` `{to}` events.**) and flags a missing step: **GA4 received no `{stage}` events in this period, although later steps did fire.** Until that event arrives, the funnel steps around it are unreliable. GA4 cards also carry a **Why did this change?** link. It opens the **Why it changed** drawer, which compares the period with the one before it for **Sessions**, **Key event rate**, **GA4 revenue** or **Add-to-cart rate** and lists the top drivers by channel, source, device, country, landing page and product. When GA4 is connected but no shopping events came in for the period, the section says **No shopping events in this period** and points you to check that the property sends product views, add-to-carts and purchases, or to start a sync from the integrations page. ![Additional conversion data showing the funnel stages and checkout health metrics](https://mintcdn.com/swiftsyncai/vWHhP-pfj4gCEo2m/images/screenshots/analytics/analytics-conversions-other-data.webp?fit=max\&auto=format\&n=vWHhP-pfj4gCEo2m\&q=85\&s=c710be62af78cd6291e615c352e2808d) ## Act on what you find > **Add-to-cart rate is low (under 5%)** > > 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. > **Cart abandonment is above 70%** > > 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. > **GA4 shows a large drop between begin\_checkout and purchase** > > 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. > **High traffic but low overall conversion rate (under 1.5%)** > > 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. > **Checkout success rate is healthy but overall conversion is still low** > > 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 > **Conversion benchmarks by metric** > > | 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 > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > See where your visitors come from and how they behave on your site. > **[Revenue & Sales](/en/analytics/revenue-sales)** > > See how conversion gains turn into revenue growth. > **[Search & Discovery](/en/analytics/search-discovery)** > > See how customers find products and clear the path to purchase. # Costs Source: https://docs.wisepim.com/en/analytics/costs See which orders have a known cost of goods, fees and carrier costs, import purchase prices and cost files, and post bol invoices to your bol orders. Margin needs costs, and costs come from more places than the catalog: a purchase price per product, the commission a marketplace took, the label you paid the carrier, the fee your payment provider kept. The Costs page shows how much of that WISEPIM knows per store, and gives you three ways to fill the gaps. **What this page enables:** [Margin](/en/analytics/margin) stops reading **Needs product costs** and starts showing margin after product costs and after selling costs, on orders you already have, with costs you can trace back to an import. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar and click **Costs**. The page has two tabs: **Costs** and **bol invoices**. The **Add product costs** and **Import payment and carrier fees** steps on the [Today](/en/analytics/today) page land here. ![WISEPIM Costs page with cost coverage per store, products without a cost, imported cost batches and the cost file import](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-costs-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=41286f9c338178fbd19a3c44bc1ef2d0) > [!NOTE] > > Posting costs needs permission to manage settings. Coverage counts orders, never money: a store reads **N of N orders** covered for each cost kind, so you always know how much of Margin rests on known costs. Cost coverage looks at one period, so there is nothing to compare. ## Cost coverage The **Cost coverage** table has one row per cost kind and one column per store: **Marketplace commission**, **Payment fees**, **Shipping labels**, **Return labels**, **Fulfilment**, **Return handling** and **Advertising**. Each cell reads **N of N orders**, the gap **Missing `{range}`** when days have no postings, and **Last posted `{time}`**. ## Products sold with no recorded cost Below the table, **N products sold with no recorded cost** lists the products Margin cannot price. Two fixes: * **Set cost price** writes a cost price into the catalog. It applies to orders imported from now on, as an estimate (≈). Past orders don't change. * **Import purchase prices for these orders** posts your purchase price per product to the order lines sold in the dates you choose. Margin uses it instead of the catalog estimate. ### Import purchase prices **1. Prepare the file** One row per SKU with the purchase price, its currency, and the date range it applies to. A file may match up to 5,000 order lines; split larger files by date range. **2. Preview** Upload it under **Import purchase prices**. The preview reads **N order lines in N orders get a cost. N catalog estimates are replaced.** Rows that cannot be posted say why: **SKU not found in your catalog**, **More than one product has this SKU**, **These lines already have a non-estimated cost**, **Dates overlap with another row for this SKU**, or **Some orders are in another currency, so we skipped them**. **3. Post** Click **Post purchase prices**. The confirmation ends with **Reports need an update.** Run **Update reports** under [Analytics settings](/en/analytics/analytics-settings) for the period. > [!WARNING] > > Posted costs can't be removed from here. Importing again for the same lines replaces them only if they were estimates. An exact cost is never overwritten by a later import. ## Imported costs **Imported costs** lists every batch you posted, grouped by source account and day: **Source account**, **Store**, **Costs dated**, **Rows** and **Total**. Rows posted before are reused, not added twice, so re-importing the same file is safe. ## Import a cost file Fees and carrier costs come in as a CSV from the marketplace, payment provider or carrier. **1. Which store is this file for?** Pick the store. Costs apply to the store and account you pick. **2. What kind of cost is it?** Choose **Marketplace and payment fees** or **Carrier and fulfilment costs**. **3. Add the file** **Choose a CSV file**, or paste the rows. Enter the **Source account** the file comes from, for this store. **4. Check the file format** One row per cost: order number (or order ID), amount, currency and date. Amounts may use a comma or a point. The technical format is a UTF-8 CSV with commas, 1 to 500 rows, up to 250 KB, with the columns `source_id`, `charge_subject`, `order_id`, `kind`, `amount`, `currency` and `occurred_at`. Kinds for fees are `marketplace_fee`, `payment_fee` and `compensation`; for carriers `shipping`, `fulfilment`, `return_handling` and `compensation`. Negative amounts are credits. **5. Preview and post** Click **Preview costs**. The **Check the costs** step reads **N rows: N new, N already posted.** with totals per currency for all rows, including ones already posted. Rows that did not match say **Order number not found in this store**, **More than one order has this number** or **This order belongs to another store**. Then click **Post costs**. > [!NOTE] > > Posted costs can't be removed from here. Rows posted before are reused, not added twice, and your store stays as it is. The preview you confirm is valid for a short while; if orders or settings change in between, WISEPIM asks you to preview again. ## bol invoices ![WISEPIM bol invoices tab with the invoice form, the reviewed invoice lines and the invoice check](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/order-evidence-bol-invoices-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=dcce3d57a717f8f12b5a5ebed7b156ea) bol sends order lines but no order amounts, and its commission and fees arrive on an invoice. The **bol invoices** tab reads bol's commission and fees from the invoice and links them to your bol orders. You review a preview before anything is posted. **1. Pick the bol store** Choose the **bol store**. You need a connected bol store first, because invoice lines link to bol orders. **2. Describe the invoice** Set the **Cost type** (**Marketplace and payment fees** or **Carrier and fulfilment costs**), the **Invoice number** and your **bol customer number** as it appears on the invoice. **3. Paste the invoice JSON** Paste the **Invoice details (from the bol API)** and the **Invoice specification (from the bol API)** exactly as the bol Retailer API returns them, up to 500 rows. Tick **This specification includes every page of the invoice.** **4. Set the posting date** Enter the **Posting date** with a UTC offset. Recommended: the invoice date, so costs land in the month bol billed them. The date is never inferred. **5. Review and post** Click **Review invoice**. Under **Invoice lines**, each line is **Can be posted**, **Left out** or **Unknown line type**, and the **Invoice check** reads **Adds up** or **Can't tell**. Then click **Post costs**. Only costs that add up and link to a bol order number can be posted. Other lines are left out, with the reason shown: **No bol order number**, **Order numbers conflict**, **Sales, not a cost**, **Cost type not supported**, **Line doesn't add up**, **No single matching order in this store** or **Amount has too many decimals**. > [!NOTE] > > Commission is posted as a marketplace fee, shipment labels as shipping, pick and pack as fulfilment, and return labels as return handling. VAT is left out and bol's signs are kept, so a credit stays negative. Posted invoice costs are as final as any other posted cost. ## Act on what you find > **Margin after product costs is unknown on most orders** > > Look at **N products sold with no recorded cost**. For orders you already have, use **Import purchase prices for these orders**; a catalog **Set cost price** only helps from the next import on. Run **Update reports** afterwards. > **Margin after selling costs never appears** > > It needs every selling cost known. Check **Cost coverage** for the store: a kind at **0 of N orders** or a **Missing `{range}`** gap keeps the full margin unknown. Import the fee or carrier file for those days, or the bol invoice for a bol store. > **A cost file preview says every row is already posted** > > You imported this file before. Nothing is added twice, so you can close the preview. If the amounts changed, the only rows a re-import replaces are catalog estimates. > **A bol invoice line reads No single matching order in this store** > > The order number on the invoice does not match exactly one imported bol order in the store you picked. Check that the right **bol store** is selected and that the order was imported, under [Data health](/en/analytics/data-health). Lines that still do not match stay out; they cannot be posted by hand. ## Related > **[Margin](/en/analytics/margin)** > > The ladder these costs feed, from product costs to marketing. > **[Analytics settings](/en/analytics/analytics-settings)** > > The cost currency and the report update that picks up new costs. > **[Data health](/en/analytics/data-health)** > > See posted fees and carrier costs in the part-by-part check. > **[Supported Platforms](/en/integrations/supported-platforms)** > > Connect the bol store that invoice lines link to. # 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. ![WISEPIM custom analytics dashboards built from catalog and revenue widgets](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-custom-dashboards-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=d9b742f934d13dfef07e13a9dc2437cf) 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. > [!TIP] > > **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 **1. Open Custom Dashboards** In the sidebar, go to **Analytics > Custom Dashboards**. You see a grid of your dashboards, or an empty page if you have none yet. **2. Start a new dashboard** Click **Create Dashboard** to open the builder with a blank canvas. To start from a ready-made layout instead, click **Start with a Template**. **3. Name it** Click the title in the page header and type a clear name, like "Daily Sales Overview" or "Product Launch Tracker." **4. Add widgets** Drag metrics from the widget panel onto the canvas. Each widget tracks one metric or shows one visualization. **5. Save** Click **Save** in the top-right corner. Your dashboard is stored in the cloud, so you can reach it from any device. > [!TIP] > > 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 ![WISEPIM custom dashboard builder with a blank canvas and the metric widget palette](https://mintcdn.com/swiftsyncai/I7ZgzZNNd3c1oY_L/images/marketing-screenshots/analytics/analytics-custom-dashboard-builder-light-branded.webp?fit=max\&auto=format\&n=I7ZgzZNNd3c1oY_L\&q=85\&s=6becb8aa99a7c9db7a106b955c1e33d7) 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 > [!TIP] > > 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. > [!NOTE] > > 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 ![WISEPIM custom dashboard template gallery to start from a ready-made analytics layout](https://mintcdn.com/swiftsyncai/3dvJVzgOXFyLTnxE/images/marketing-screenshots/analytics/analytics-custom-dashboard-templates-light-branded.webp?fit=max\&auto=format\&n=3dvJVzgOXFyLTnxE\&q=85\&s=1582c2cc03ab8127818e067303889235) Prefer a head start? The Template Library has ready-made dashboards for common analytics needs. **1. Open the Template Library** On the Custom Dashboards page, click **Start with a Template**. **2. Pick a template** Browse the templates. Each one shows a description and a preview of its widgets. Click one to create a dashboard from it. **3. Make it yours** 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. > **Edit a dashboard** > > 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. > **Duplicate a dashboard** > > 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. > **Favorite a dashboard** > > 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. > > > [!TIP] > > > > Favorite your most important dashboard. It then sits in the sidebar, saving you a click every time you check your key metrics. > **Delete a dashboard** > > Use the delete action on a card to remove a dashboard you no longer need. You are asked to confirm first. > > > [!WARNING] > > > > 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 ![WISEPIM saved custom dashboard in view mode showing revenue, gross profit, conversion and channel widgets](https://mintcdn.com/swiftsyncai/Xm3w-iQn_JY7KCn5/images/marketing-screenshots/analytics/analytics-custom-dashboard-view-light-branded.webp?fit=max\&auto=format\&n=Xm3w-iQn_JY7KCn5\&q=85\&s=207502827c99b0d4123d17a188d1b1b2) 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. The view-mode header holds three buttons: **Share**, **Schedule report** and **Edit**. ## Share a dashboard **Share** creates a link that shows the dashboard's totals to people without a WISEPIM login. The link opens a frozen snapshot, so what you send is what they see, even weeks later. **1. Open the Share modal** In view mode, click **Share**. The modal has two tabs: **New link** and **All links**. **2. Choose the period and lifetime** On **New link**, set **Period** to the last 7, 30 or 90 days. Set **Link works for** to 1, 7 or 30 days; after that the link stops working for everyone. **3. Create and copy the link** Click **Create link**. The link is shown once: **Your link is ready. Copy it now: for safety we show it only once.** Click **Copy link** or **Open in a new tab** before you close the modal. **4. Revoke it when you are done** On **All links**, every link shows its expiry date. Click **Revoke link** to cut access right away; the row then reads **Revoked**. > [!WARNING] > > **Anyone with the link sees these totals until the link expires. No customer details are included.** Treat the link like the numbers themselves: do not post it anywhere public. > [!NOTE] > > Only project admins can create or revoke links. Other members see **Ask a project admin to create or revoke links.** Widgets whose metric cannot be shared are left out, and the modal tells you how many: **`{count}` widgets can't be shared and are left out of this link.** ### What the recipient sees The link opens a page titled **Shared report** with the dashboard name, the period, and one tile per shareable metric: **Revenue**, **Orders**, **Average order value**, **Sessions**, **Visitors**, **Conversion rate**, **Add-to-cart rate** and **Quality score**. A tile that could not be captured reads **Not available** with a reason, for example when orders use more than one currency. A line at the bottom states the rules: **Captured on `{captured}`. These numbers don't update. The link expires on `{expires}`.** The page carries no app navigation and is excluded from search engines. An expired or revoked link shows **This link no longer works**. ## Schedule a report **Schedule report** takes you to the scheduled reports section of your notification settings, where you set up a PDF summary that is emailed to your team every week or month. See [Notification Settings](/en/settings/notifications#scheduled-reports) for the fields and statuses. ## Act on what you find > **A KPI widget looks unexpectedly low or high** > > 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. > **You need a dashboard for a product launch or campaign** > > 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. > **You share a screen in weekly management meetings** > > 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. For people who cannot join, create a 7-day share link after the meeting, or set up a scheduled PDF so the summary arrives without you. Outcome: consistent, professional reporting that takes seconds to open rather than minutes to assemble. > **You want a real-time operations view** > > 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. **1. See the banner** When WISEPIM finds local dashboards, a migration banner appears at the top of the Custom Dashboards page. **2. Migrate** Click **Migrate Now** to move all your local dashboards to the cloud. > [!TIP] > > Once migration finishes, your dashboards are available on every device. ## Related > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track and improve your product data quality with completeness scores and clear suggestions. > **[Analytics Hub](/en/analytics/overview)** > > Go back to the Analytics Hub for a full view of all your e-commerce metrics. > **[Notification Settings](/en/settings/notifications#scheduled-reports)** > > Set up the weekly or monthly PDF summary behind the Schedule report button. # Data health Source: https://docs.wisepim.com/en/analytics/data-health Check that imported orders add up part by part, compare them with your own reports, mark duplicate imports, and watch every store connection. Before you trust a number, you want to know where it came from and whether it adds up. Data health is that check. It compares each order's parts with the total the store reported, lets you reconcile against a report of your own, cleans up orders that came in twice, and shows whether every store is still sending orders. **What this page enables:** you can tell a real drop in sales from a store that stopped syncing, hand your accountant a month close you have checked, and remove the double counting that two connections to the same shop create. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar and click **Data health**. The page has three tabs: **Reconciliation**, **Duplicate orders** and **Connections**. > [!NOTE] > > Reconciliation checks that each order's parts add up to the total your store reported. Each store keeps its own currency. Balanced parts tell you the import is consistent; they do not certify the store's own report, and WISEPIM never claims that. ## Reconciliation ![WISEPIM Data health reconciliation showing which orders add up per store, issues by cause and sync status](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-reconciliation-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=5a51b29d2adfaea89347bbb05ed10ec1) The tab has two views, **Overview** and **Month close**. ### Which orders add up Per store, a coverage bar splits the orders into **Adds up**, **Doesn't add up** and **Not enough data**, with the count **N of N checkable**. Expand a store to see the parts: | Part | What is compared | | - | - | | **Product sales before discounts** | Line prices before any discount | | **Discounts** | Product discounts | | **Product tax** | Tax on the products | | **Shipping excl. tax** and **Shipping tax** | What the customer paid for shipping | | **Refunds recorded** | Refunds the store sent | | **Fees posted** and **Carrier costs posted** | Costs you imported under [Costs](/en/analytics/costs) | Each row reads **Known for N of N orders**. Each amount covers only the orders where that part is known. A dash means no order has it known, not that it's zero. A store that never sends a part shows **No data from `{store}` for N components**. The summary counts next to the bar are **Amount and currency confirmed**, **Matched to products**, **Adds up**, **Doesn't add up** and **Parts unknown**. ### Issues by cause Orders that do not add up are grouped as **N orders · `{cause}`**, with the most common causes named so you know whether there is anything to do: * **bol doesn't send order amounts. Import a bol invoice to add fees.** * **`{platform}` doesn't send customer fee parts. Nothing to do.** * **`{platform}` doesn't send refund dates. Nothing to do.** * **Other differences**, which you can open order by order. ### Sync status The **Sync status** table shows per store the **Connection** (**Connected and tested**, **Store not connected**, **Not turned on or not tested**), the **Last sync** (**On time**, **Late**, **Never synced**, **Review the last sync**), the **Last successful import**, and **History in this period** with the days marked **Confirmed** or **Not confirmed**. The sync schedule comes from your connection settings and reads **Syncs every N minutes**. ### Compare reports **Compare with your own reports** takes a CSV you exported elsewhere and checks it against WISEPIM's numbers. Describe your report exactly: what it measures, which orders, which date and which timezone. If it measures something different, WISEPIM says so instead of forcing the numbers to match. Upload **Your report (CSV)** with 1 to 100 rows and click **Compare reports**. Each row comes back as **Matches**, **Differs** or **Can't compare**, with a reason such as **Your report measures something else.**, **Your report uses a different timezone.**, **Our import doesn't cover every order for these dates yet.** or **The amount or currency isn't confirmed.** ### Month close Switch to **Month close**, pick a month, and click **Download for your accountant (XLSX)**. The file holds the month's orders with the same part-by-part check, so questions about a difference can be answered line by line. ## Duplicate orders ![WISEPIM Duplicate orders tab with imported and deduplicated counts and the compare-two-orders form](https://mintcdn.com/swiftsyncai/sYRp2D_RvWvuuDNm/images/marketing-screenshots/analytics/order-evidence-sources-light-branded.webp?fit=max\&auto=format\&n=sYRp2D_RvWvuuDNm\&q=85\&s=5d6fb6dd93d848dee9c129fe435a36ef) When the same shop is connected twice, or an order reaches WISEPIM through two connections, it is imported twice. This tab lets you mark the pair so the order counts once. Three counts sit at the top: **Imported orders**, **Orders without duplicates** and **Marked as duplicates**, plus **N main orders fall outside this period or store filter.** when a pair straddles your filters. **1. Identify the pair** Under **Compare two orders**, enter the **Main order** (the store and order number whose date and store should count) and the **Duplicate** (the same order, imported through another connection or store). Both orders must fall inside the selected period. **2. Note why** Write under **Why they're the same** what you compared. The note stays in this draft; WISEPIM saves the two orders you linked. **3. Preview and save** Leave **Count these as one order** on, click **Preview**, check the **Confirm these two orders** panel and click **Save**. Turn the toggle off, preview and save to undo an existing link. > [!NOTE] > > Saving changes only the count of orders without duplicates. Amounts, payments and refunds stay as imported. Each imported order keeps its own total; marked duplicates count once, under the main order's date and store. Marking duplicates needs permission to edit products. ## Connections The **Connections** tab is the [Integration Health](/en/analytics/integration-health) report: sync reliability per channel over the last 30 days, the error breakdown, and the Merchant Center drift scan. Use it when **Sync status** on the Reconciliation tab shows a store as **Late** or **Review the last sync**. ## Act on what you find > **Sales dropped yesterday and you are not sure it is real** > > Check **Sync status** first. A store that reads **Late** or **Never synced** has not delivered yesterday's orders yet, and **History in this period** shows the day as **Not confirmed**. Fix the connection under **Connections**, wait for the sync, and look again. > **Many orders from one store do not add up** > > Open **Issues by cause**. If the cause ends in **Nothing to do.**, the platform does not send that part and the orders are complete as far as the platform allows. For bol, import the invoice under [Costs](/en/analytics/costs) to add the fees. For **Other differences**, open an order and check the receipt under [Order detail](/en/analytics/order-detail). > **Your own report differs from WISEPIM's by a fixed amount** > > Run **Compare reports** with the exact definition of your report. A reason like **Your report measures something else.** usually means refunds, tax or shipping are treated differently. Change the **Report measure** in the scope bar to the closest definition and compare again. > **Order counts doubled after you connected a second channel** > > The same orders arrive twice. Mark the pairs under **Duplicate orders**. If the second connection sends every order again, consider disconnecting it under [Supported Platforms](/en/integrations/supported-platforms) instead of marking hundreds of pairs. ## Related > **[Integration Health](/en/analytics/integration-health)** > > The Connections tab in full: sync reliability per channel and drift. > **[Order Detail](/en/analytics/order-detail)** > > The receipt view of one order, with the same adds-up check. > **[Costs](/en/analytics/costs)** > > Post the fees and carrier costs that complete the picture. > **[How Order Numbers Work](/en/analytics/how-order-numbers-work)** > > Why a dash means unknown, not zero. # Enrichment Impact Source: https://docs.wisepim.com/en/analytics/enrichment-impact Compare how products sold before and after enrichment, per SKU and by enrichment type. Descriptive before-and-after evidence, not proof of cause. 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 see where content work lined up with better sales and double down on what works. **Where to find it:** open **Analytics**, expand the **Traffic & SEO** group in the sidebar and click **Content Impact**. The **Catalog** group has a different page with almost the same name: [Content impact](/en/analytics/content-impact) compares imported orders around a change that was seen live in the store. **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. > [!NOTE] > > 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. > [!WARNING] > > Read every number here as a descriptive before-and-after sales difference, marked **Estimate, not proof** and **Descriptive evidence** on the page. The comparison is anchored on the latest PIM enrichment timestamp, which does not prove when a listing changed or what customers saw. Publication, causal attribution, actual credit spend and return on spend are unverified: the **Change after market trend** and **Change per credit** figures read **Unavailable** when the control group or the credit allocation cannot support them, and credit spend is reported as unknown rather than estimated. For evidence that a change was actually live, use [Listing history](/en/analytics/listing-history); for order-based comparisons around a verified publication, use [Content impact](/en/analytics/content-impact). > [!NOTE] > > 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 ![WISEPIM enrichment impact analytics showing revenue lift from AI-enriched products](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-enrichment-impact-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=8352a2cee9e26a09856621ac6fdc70b0) 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**. | > [!NOTE] > > 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 ![WISEPIM enrichment-impact drawer, before/after revenue for one AI-enriched product](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-enrichment-impact-drawer-light-transparent.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=371618316231d50ee9196cd5e787107e) 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. > [!TIP] > > 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 > **Winners with high confidence, scale up** > > 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. > **One enrichment action type outperforms others** > > 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. > **Large catalog still unenriched** > > 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. > **High-confidence regressions appear** > > 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 > **[Enriching Products](/en/essentials/enriching-products)** > > Run the AI enrichment that this report measures. > **[Product Performance](/en/analytics/product-performance)** > > See sales and quality together, per product. > **[Data Quality](/en/analytics/data-quality)** > > Track the content score that enrichment improves. > **[Smart Insights](/en/analytics/smart-insights)** > > Find the next products worth enriching. # Fix queue Source: https://docs.wisepim.com/en/analytics/fix-queue Products with catalog problems, sorted by what sold in the last 30 complete days. Review Quality Guard proposals and apply them in bulk from one list. Quality Guard finds the catalog problems. The Fix queue tells you which ones to fix first. It takes every product that is blocked from export or carries a warning, and puts the products that sold in the last 30 complete days at the top. A missing image on a product nobody orders can wait. The same gap on your best seller cannot. **What this page enables:** you stop working through Quality Guard findings in catalog order and start with the products that are already selling, so each fix lands where orders are. Proposals can be reviewed and applied in bulk without leaving Analytics. **Where to find it:** open **Analytics**, expand the **Catalog** group in the sidebar and click **Fix queue**. The page needs at most one store selected in the scope bar. ![WISEPIM Fix queue listing blocked products with their problems and orders from the last 30 complete days](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-fixes-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=aab983c4e627267d311dce786951e06e) > [!NOTE] > > The queue needs two things: Quality Guard rules that have run at least once, and imported orders so the products can be ranked. The line **Quality Guard last checked `{time}`** tells you how fresh the problems are. Sales are counted per product from the orders you imported; see [How order numbers work](/en/analytics/how-order-numbers-work) for the trust marks you will meet here. ## Read the queue The header sums up the situation in one sentence: **N products are blocked from export. N of them sold in the last 30 complete days (N orders).** Below it, three filters narrow the list: | Filter | What it shows | | - | - | | **Blockers (N)** | Products Quality Guard blocks from export. Nothing reaches your channels until these are fixed | | **Warnings (N)** | Products that still export, but with a finding you should look at | | **Proposals (N)** | Products where Quality Guard already has a proposed value ready to apply | Each row shows the **Product**, its **Problems**, and a **Last 30 complete days** column with what it sold: **Sold in N orders across N stores** and the **Past order value**. The **Action** column has **Fix now**, which opens the product so you can edit it, and **Show variants** when the problems sit on variants. The sales column is honest about what it knows. Instead of a number you may see: | State | Meaning | | - | - | | **Sold, amount unknown** | The product sold, but the store did not send an amount for those orders | | **No orders yet** | No imported order contains this product | | **No orders in the last 30 complete days** | It has sold before, but not in the ranking window | | **Currency not confirmed** | Orders exist, but their currency is not confirmed, so the amount is not shown | | **Not sent by `{platform}`** | The platform does not send order amounts at all, bol for example | | **Updating** | Reports are being recalculated; check back shortly | > [!NOTE] > > Sales shown are past orders for the product, not a prediction of what a fix earns. A product at the top of the queue is there because it sold recently, not because WISEPIM expects a fix to add a certain amount. When Quality Guard found nothing, the page says **Catalog clear** with the time of the last check. WISEPIM checks again after every import. ## Apply proposals in bulk Where Quality Guard has a proposed value, you can review and apply several at once. **1. Select the proposals** Switch to **Proposals (N)** and tick the rows you want. You can pick up to 100 proposals to review together; the counter shows how many are selected, and **Clear selection** empties it. **2. Review the changes** Click **Review selected proposals (N)**. The **Review catalog changes** drawer lists every field with its **Current value** and **Proposed value**, so you can see exactly what will change before anything is written. **3. Apply** Click **Apply proposals**. The result line reads **Applied: N · Needs attention: N**, and the applied products move into an **Applied just now (N)** group with the note that Quality Guard confirms on its next check. > [!WARNING] > > Applying updates your catalog in WISEPIM. Save or close any open product edits first, then export as usual to publish. Nothing is published from this page: export as usual, then check the [listing history](/en/analytics/listing-history) to see when the change was seen live. A few rules keep this safe: * Applying proposals needs permission to edit products. Without it you can still read the list. * If the list changes while you have rows selected, the page says **Your selection changed. Preview again before you apply.** Review again before applying. * A product that reads **No proposal yet. Open the product to fix it.** has a problem but no automatic fix. Use **Fix now**. * A product with more proposals than the row can show says so; open its review to see them all. ## Act on what you find > **Your best seller is blocked and has no proposal** > > Click **Fix now** to open the product and fill the missing field by hand, or run an [enrichment](/en/essentials/enriching-products) on it. Then export. The product stays in the queue until Quality Guard confirms the fix on its next check, which runs after every import. > **You applied proposals but the products are still listed as blocked** > > That is expected for a short while. The products sit under **Applied just now (N)** until Quality Guard re-checks them. If they are still blocked after the next check, open one with **Fix now**: a second rule may be failing on the same product. > **You applied proposals but your store still shows the old content** > > Applying only changes the catalog in WISEPIM. [Export the products](/en/essentials/exporting-products) as usual, then check [Listing history](/en/analytics/listing-history) for the **Seen live** event. > **The sales column says Sold, amount unknown or Currency not confirmed** > > The ranking still works, because it uses order counts. The amount is missing because the store sent no total or no confirmed currency for those orders. For bol stores this is permanent, since bol sends no order amounts. For other stores, check the store under [Data health](/en/analytics/data-health). > **The page asks you to pick at most one store** > > The queue ranks products for one store at a time. Pick a store in the scope bar, then revisit the others. The period must also be valid, up to 366 days. ## Related > **[Quality Guard Overview](/en/quality-guard/overview)** > > The rules that decide what counts as a blocker, a warning or a proposal. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Scores, field health and the Fix Issues workspace for the whole catalog. > **[Listing history](/en/analytics/listing-history)** > > Confirm when a fixed product was exported and seen live in the store. > **[Orders](/en/analytics/orders)** > > The orders the ranking is built from, store by store. # Google Shopping Source: https://docs.wisepim.com/en/analytics/google-shopping See impressions, clicks and conversions per product on Google, from free listings and ads, read nightly from your Merchant Center connection. The Google Shopping report shows how your products do on Google: impressions, clicks and sales from free listings and ads. It reads the figures from Google Merchant Center, separate from GA4, and lists them per offer next to the WISEPIM product it belongs to. **What this page enables:** you see which products Google shows but nobody clicks, which ones get clicks from free listings without any ad spend, and which offers in Merchant Center do not map to a product in your catalog. **Where to find it:** **Analytics > Traffic & SEO > Google Shopping**. The page needs a connected Merchant Center account. Without one it shows **Connect Merchant Center first**; the first night after connecting it shows **Waiting for the first report**. > [!NOTE] > > Connect the account on the integrations page first. See [Google Merchant Center Integration](/en/integrations/google-merchant-center) for the connection steps and locale mapping. The report reads performance data only; it never changes your offers. ## How the data arrives * **Read nightly.** WISEPIM reads your Google Shopping results every night through the Merchant Center connection. A **synced** stamp in the header tells you when the last read finished; **Not refreshed in the last day** appears when it is overdue. * **Data ends two days ago.** Google reports with a delay, so the most recent day in the report is always two days before today. **How we measure** shows **Latest Google data: `{date}`**. * **90 days of history on the first sync.** The first read pulls 90 days, which fills all three windows at once. * **Period** tabs switch between the last **28**, **56** and **90** days. The header shows the merchant account (**Merchant account `{id}`**) and the exact dates compared. ## Read the table The **Offers on Google** table lists one row per offer in Merchant Center. | Column | What it shows | | - | - | | **Product** | The matched WISEPIM product, or the offer's own name with a matching message. | | **Free impr.** | How often the offer appeared in free listings. | | **Free clicks** | Clicks from free listings. | | **Free CTR** | Free clicks divided by free impressions. | | **Free conv.** | Conversions Google attributes to free listings. These can be fractions, because Google splits the credit between touchpoints. | | **Ads impr.** | How often the offer appeared in Shopping ads. | | **Ads clicks** | Clicks from Shopping ads. | | **Ads CTR** | Ads clicks divided by ads impressions. | | **Clicks** | Free and ads clicks together. | A dash means Google did not report that number. It is never a zero. When Google skips free-listing conversions for a read, the page says **Google didn't report free-listing conversions this time. Clicks and impressions are complete.** > [!NOTE] > > When Google reports no impressions or clicks at all for the period, the page shows **No Google Shopping activity in this period**. If the last read failed it shows **Google Shopping results are unavailable** and retries the next night. ### SKU matching Offers are matched to catalog products by SKU: the offer ID in Merchant Center must equal the product SKU in WISEPIM. A coverage line above the table sums it up: **`{matched}` offers matched to a product by SKU, `{unmatched}` not matched, `{ambiguous}` with more than one match.** Unmatched rows show one of two messages: * **No product with this SKU**: no catalog product carries that SKU. Check the offer ID in Merchant Center or the SKU in WISEPIM. * **More than one product has this SKU**: two or more catalog products share the SKU, so the row cannot be attributed. Make SKUs unique. ## Act on what you find > **High free impressions, low free CTR** > > Google shows the offer but shoppers pick other results. The title, image and price are what they see. Open the product in WISEPIM and review the title and main image; compare the price with the same product on Google. Use [AI enrichment](/en/essentials/enriching-products) to rewrite the title with the attributes shoppers search for. **Outcome:** more clicks from impressions you already get for free. > **Ads clicks are high but free clicks are near zero** > > The offer only shows when you pay for it. That usually means the free listing is missing or disapproved, or the product data is too thin for Google to rank it organically. Check the offer's status in Merchant Center and the sync health on the [Google Merchant Center Integration](/en/integrations/google-merchant-center) page. **Outcome:** free listing traffic that lowers your dependence on ad spend. > **Many rows say No product with this SKU** > > The offer IDs you send to Merchant Center do not match your WISEPIM SKUs. If you export through WISEPIM, the offer ID is the SKU and the mismatch means the SKU changed after the export. If another tool feeds Merchant Center, align its offer IDs with your SKUs. **Outcome:** every offer lands on a product row, so the report ranks your real catalog. > **Clicks are fine but sales are not** > > Google Shopping clicks land on your product page, where GA4 takes over. Open [Product Performance](/en/analytics/product-performance) and look up the product's add-to-cart rate against similar products, then check [Tracking Health](/en/analytics/tracking-health) to be sure purchases are being tracked at all. **Outcome:** you fix the page or the tag, not the ad. ## Related > **[Google Merchant Center Integration](/en/integrations/google-merchant-center)** > > Connect Merchant Center, map locales to markets and watch sync health. > **[Product Performance](/en/analytics/product-performance)** > > What happens after the click: product views, add-to-cart rates and the fix worklist. > **[SEO & Search](/en/analytics/seo)** > > Organic search performance from Google Search Console, next to your Shopping results. > **[Tracking Health](/en/analytics/tracking-health)** > > Make sure GA4 records the purchases that Shopping clicks turn into. # 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. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar, click **Data health** and switch to the **Connections** tab. The old sidebar entry is gone; `/analytics/integration-health` still opens this tab. The **Reconciliation** tab next to it shows per store when orders were last synced and which days have confirmed history; see [Data health](/en/analytics/data-health). **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. > [!NOTE] > > 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 ![WISEPIM channel sync reliability and integration health](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-integration-health-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=3fe30bca9a6cf032f7e468728d24ed22) 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. > [!WARNING] > > 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 `{sku}`". 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 > **A channel shows repeated API errors** > > 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. > **Validation failures keep appearing** > > 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 channel's last sync was days ago** > > 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. > **Items synced is lower than expected** > > 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 > **[Supported Platforms](/en/integrations/supported-platforms)** > > Connect and manage your channels. > **[Quality Guard](/en/quality-guard/overview)** > > Stop non-compliant products before they sync. > **[Process Tracker](/en/other-features/process-tracker)** > > Watch live import, export, and sync jobs. > **[Automations](/en/automations/overview)** > > 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. ![WISEPIM Linguistic Review scoring translation quality across six linguistic criteria](https://mintcdn.com/swiftsyncai/w-iRd3kgM4B-Gv03/images/marketing-screenshots/analytics/analytics-linguistic-review-light-branded.webp?fit=max\&auto=format\&n=w-iRd3kgM4B-Gv03\&q=85\&s=d92158c5564c3a567fab45d5eb738522) 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. > [!NOTE] > > A review runs for **one target locale at a time**, so add your locales first under **Additional Languages** in [General settings](/en/settings/general) (**Start Review** stays disabled until you pick a target locale, and there is nothing to pick until one exists). Reviews run in the background and are ready in a few minutes. > [!NOTE] > > **Credits:** a review costs 1 credit per product the AI reviews, for the one locale you picked. Products without a translation cost nothing. WISEPIM checks your balance before it starts. If it is too low, you see "You don't have enough credits to run this linguistic review." and nothing is queued. Products the AI could not grade are refunded. ## Run a review **1. Open Linguistic Review** Find it in the Analytics sidebar, or run it straight from a product selection after [translating products](/en/products/translating-products). **2. Pick the target locale** Under **Target locale to review**, choose which language to review. The review compares each translation against its source and the expectations for that locale. It reads whole descriptions, so long texts are judged in full. **3. Set the thresholds** Under **Review Settings**, set the **Flagging threshold** (products scoring below it are flagged) and the **Meta description character limit** for SEO compliance. **4. Choose what to review** Your current selection or everything matching your filters. **5. Run and review** Click **Start Review**. The review processes in the background, so you can close the modal. 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, attribute values) filled in for the target locale? Checked without AI. A field that is empty in the source language does not count against you. | | **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. > [!NOTE] > > 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. * **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. * **Glossary** is a quick reference of the most-used source-to-translation pairs across the reviewed products. * **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. The report is also saved to your asset library. It keeps the full descriptions, meta titles and attribute evidence the AI judged. When the reviewed products use more than 32 different attributes, the attribute evidence goes on a separate sheet. ## Act on what you find > **Consistency is your weakest criterion** > > Open **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. > **Meta Compliance is low** > > 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. > **Locale Quality is low** > > 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. > **You are about to launch a new language** > > 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. > **You just ran a large AI translation batch** > > Use the review as a quality gate: run it right after the batch to see how the machine output scored, then fix the lowest-scoring products before anything syncs to a channel. For a new language, try your settings on a few products first with [Translation samples](/en/settings/translation#test-translations-on-a-sample-batch). **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 > **[AI Quality Review](/en/analytics/quality-review)** > > The product-data counterpart: 12 dimensions, one-click fixes and guard rules. > **[Translating Products](/en/products/translating-products)** > > Translate your catalog with AI before (and after) you review it. > **[Translation](/en/settings/translation)** > > Tune translation behavior and the terminology dictionary the review writes to. Target locales themselves are added in [General settings](/en/settings/general). > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track overall product-data health alongside translation quality. # Listing history Source: https://docs.wisepim.com/en/analytics/listing-history Follow one product through its timeline: when it changed in WISEPIM, when an export was accepted, and when the content was seen live in a store. An export that was accepted is not the same as a listing that is live. Listing history keeps the two apart. For one product, one store and one language, it shows every change saved in WISEPIM, every export the channel accepted, and every time WISEPIM saw the same content visible in the store. **What this page enables:** you answer "is the new version actually live?" with evidence instead of assuming it from a green export, and you know which version of the content a customer could see on a given day. [Content impact](/en/analytics/content-impact) uses these events to decide when a change counts. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar and click **Listing history**. ![WISEPIM Listing history timeline with product changes, accepted exports and seen-live events for one product](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-publication-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=634f5d03eb5f83bc331fd5f8ccd4118a) > [!NOTE] > > WISEPIM records changes from the moment tracking was turned on. A listing counts as live once WISEPIM saw the same content, in that language, visible in the store. Earlier history is not reconstructed. ## Pick a product The page starts with a **Recently published** list, so the products you just exported are one click away. For anything else, use the picker: pick a product, one store and a language, optionally narrow to a **Version (optional)**, and click **Show listing history**. ## Read the timeline The timeline has four columns: | Column | What it holds | | - | - | | **Time (UTC)** | When the event was recorded, in UTC | | **Event** | **Product changed**, **Export accepted** or **Seen live** | | **Matched by** | How the event was tied to this store and language: **Seen in this store and language** for a direct observation, or **Product change linked to this store and language** for a catalog change that was later exported there | | **Status** | What the event proves, see below | | Status | Meaning | | - | - | | **Change saved** | The product was edited in WISEPIM. Nothing has left the catalog yet | | **Accepted, not seen live yet** | The channel accepted the export. WISEPIM has not yet observed the content in the store | | **Seen live with this version** | WISEPIM observed the store showing exactly this version of the content in this language | | **Content seen, version not confirmed** | The store shows content for this product, but WISEPIM could not match it to a specific version | The line **First seen live:** gives the earliest moment this version was observed. A button reading **Review N waiting or incomplete items** collects the events that are still waiting for an observation or could not be matched. > [!NOTE] > > The timeline shows the latest 200 events. Earlier ones may exist. Narrow to a version to see further back for that version. ## Why the distinction matters An export receipt proves that the channel accepted the data. It does not prove that the listing is visible, or that a shopper saw the new text. Only **Seen live with this version** does. That is why [Content impact](/en/analytics/content-impact) starts its after-window from the seen-live event, and why a change stays **Maturing** until 28 complete days have passed since then. ## Act on what you find > **The last event is Accepted, not seen live yet, and it has been days** > > The channel took the data but is not showing it, or WISEPIM has not been able to observe the page. Check the product on the storefront yourself. If the old content is still there, look at the channel's own publishing queue or cache. If the new content is there, check that the store's product URL is reachable from your sitemap, because that is how WISEPIM finds the page to observe. > **Status says Content seen, version not confirmed** > > The store shows this product, but the content does not match any version WISEPIM exported, in that language. Usually something edited the listing in the store after export, or a translation was changed on the channel. Re-export from WISEPIM to bring the two back in line. > **No listing history for a product you know you exported** > > Tracking starts when it was turned on, and events are kept per store and language. Make sure you picked the store and language the export went to. If the export predates tracking, there is nothing to show; the next export will be recorded. > **You applied fixes from the Fix queue and want to confirm they reached the store** > > Export as usual, then open the product here. Applying a proposal only produces a **Product changed** event; the **Export accepted** and **Seen live** events follow the export. ## Related > **[Content impact](/en/analytics/content-impact)** > > Compare sales before and after a change that was seen live. > **[Fix queue](/en/analytics/fix-queue)** > > Fix the products that sell first, then follow them here. > **[Exporting Products](/en/essentials/exporting-products)** > > How exports reach your channels. > **[Integration Health](/en/analytics/integration-health)** > > Sync status per channel, under the Connections tab of Data health. # 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. > [!NOTE] > > 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 ![WISEPIM marketing attribution by source, medium and campaign revenue](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-marketing-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=1f9d0cbc13fa970bf2dc4163f4620ee1) 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. | > [!TIP] > > 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 > **Direct / None accounts for more than 30% of attributed revenue** > > 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. > **One source holds more than 50% of attributed revenue** > > 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. > **A campaign has high order volume but low AOV** > > 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. > **A medium you invest in shows little attributed revenue** > > 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. > **Organic medium is absent or tiny** > > 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 > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > See how marketing-driven traffic behaves on your store compared to organic visitors. > **[Conversions](/en/analytics/conversions)** > > Understand how marketing traffic converts through your purchase funnel. > **[Customer Insights](/en/analytics/customer-insights)** > > Track whether marketing-acquired customers become repeat buyers with strong LTV. > **[SEO Analytics](/en/analytics/seo)** > > Understand organic search visibility and improve the rankings that drive free traffic. # Product Performance Source: https://docs.wisepim.com/en/analytics/product-performance See product views, add-to-cart rates and sales per product, rank each one against similar products, and work the Fix these first list. ![WISEPIM product performance analytics by sales and quality](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-products-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=df3998193680b8aa2a1bd7f6e6375412) The Product traffic report breaks your catalog down to the individual product. Instead of totals, you see which products get viewed, which of those views turn into carts and orders, and how each product ranks against similar products in its category or family. **What this page enables:** finding the overlap between demand and content. Products that get traffic but convert worse than similar products 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. **Where to find it:** **Analytics > Traffic & SEO > Product traffic**. > [!NOTE] > > Order data powers the sales metrics. A connected [Google Analytics 4 property](/en/integrations/google-analytics) adds product views, add-to-carts and the funnel, 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. > > The performance numbers are rolled up every night over a 28-day window. A change you make today shows up the night after. ## 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 matched to a GA4 `item_id`. | | **Unit purchase rate** | Synced purchased items divided by synced item views. | > [!TIP] > > 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. ![WISEPIM GA4 product insight identifying a high-traffic product with conversion opportunity](https://mintcdn.com/swiftsyncai/6ZQoBzJkFmY7l9Qs/images/marketing-screenshots/analytics/analytics-ga4-product-insight-light-branded.webp?fit=max\&auto=format\&n=6ZQoBzJkFmY7l9Qs\&q=85\&s=e3b7b4fdf460d82fe97a37bf7812f0ee) > [!WARNING] > > WISEPIM matches GA4 products to your catalog by SKU, variant SKU, GTIN or shop product ID, read from the `item_id` GA4 receives. A product linked by hand on the **Item Matching** tab of [Tracking Health](/en/analytics/tracking-health) takes precedence over the automatic match. See [Google Analytics 4 Integration](/en/integrations/google-analytics) for the tracking contract. > [!NOTE] > > 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. ## Fix these first With GA4 connected, a **Fix these first** worklist sits near the top of the page. It lists products that get traffic but sell less than similar products, ranked by what a fix could be worth each month. Similar products are the other products in the same category (or family, depending on your settings) that have enough traffic to compare. Each row names the pattern it found, the evidence, the gap to similar products and a suggested fix: | Pattern | Evidence shown | Typical fix | | - | - | - | | **Many views, few add-to-carts** | Views, this product's add-to-cart rate against the rate for similar products. | **Improve description**, **Add images**, **Fill attributes**, **Review price**. | | **Few search clicks for its position** | Impressions at its average position, its click rate against your store's or the industry's rate at that position. | **Rewrite title and meta**. | | **Traffic while out of stock** | Product views while nobody can buy it. | **Update stock**. | The value on the right is an estimate: monthly product views times the purchase-rate gap to similar products times the average price the product sells for. It assumes the fix fully closes the gap. When there is no price or no sales to estimate from, the row reads **Value unknown**. Work a row with the actions behind its menu: * **Open in editor** opens the product so you can apply the fix. * **Mark as fixed** moves the product to **Measuring**, where the worklist tracks days since the fix and the add-to-cart rate before and since. Rows return to the list with **Reopen** if nothing improved. * **Not a problem** hides the product from the worklist. * **Send `{count}` to Catalog Jobs** hands the whole list to Catalog Jobs so the suggested enrichment runs in bulk. > [!NOTE] > > **Customize** opens the performance settings for the whole project: **Compare each product with** (its category or its family), **Rank similar products by** (add-to-cart rate, product views or store revenue), **Minimum product views for an add-to-cart rate**, **Minimum impressions for a search CTR** and **Minimum similar products for a rank**. Ranks are recalculated for every product after you save. The same settings drive the performance columns in the product list and the Performance tab in the product editor. A product only enters the comparison once it has the minimum product views, and only when enough similar products have that much traffic. Until then it is held back and the worklist says how many products have too little traffic to compare yet. Pick a period of at least 14 days to see which active products had no product views at all. ## 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% | > [!NOTE] > > 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 `{product}`** | 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. > [!NOTE] > > 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. ![WISEPIM product performance drawer with revenue KPIs, a funnel diagnosis, quality score and sales trend](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-product-performance-drawer-light-transparent.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=f6397894879dab7cb3d77a2c6a86d260) The drawer has three tabs: | Tab | What it holds | | - | - | | **Overview** | The diagnosis, quality score, sales trend and the GA4 and Search Console blocks described below. | | **History** | The product's change history for the report period: content edits, AI enrichment, imports, bulk actions, price and stock changes, channel publishes and Merchant Center status. Click **Add note** to record something that happened outside WISEPIM, like a promotion or a price test, with a date, title and details. | | **Similar products** | The comparison with similar products: this product against the median of its group and the top converters on add-to-cart rate, purchase rate, images, attribute completeness, description words, price and translations, with **What stands out** and a suggested **Fix**. | Changes and notes also appear as pins on the sales trend chart, labelled **Note**, **Change** or **Published**. A pin near a spike does not prove the change caused it; it tells you where to look. The **Overview** tab 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. ![WISEPIM GA4 product insight drawer tying item conversion rates to product quality and revenue](https://mintcdn.com/swiftsyncai/6ZQoBzJkFmY7l9Qs/images/marketing-screenshots/analytics/analytics-ga4-product-insight-drawer-light-transparent.webp?fit=max\&auto=format\&n=6ZQoBzJkFmY7l9Qs\&q=85\&s=6fb2b18403a5a4bb24bd7d7534e72aca) ### 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**. > [!TIP] > > 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. ## Performance columns in the product list The same nightly numbers are available as columns in the product list under **Products**, so you can sort and filter the catalog by them without leaving your editing workflow: | Column | What it shows | | - | - | | **PRODUCT VIEWS (28D)** | GA4 product views in the last 28 days. | | **ADD-TO-CART RATE** | Add-to-carts divided by product views, shown once the product clears the minimum views you set. | | **POSITION** | Average Google Search position from Search Console. | | **VS SIMILAR PRODUCTS** | The product's percentile among similar products on the ranking metric you chose. | The filter **Behind similar products** narrows the list to the bottom quarter of similar products in the last 28 days, which is the fastest way to turn the worklist into a bulk enrichment selection. ## Act on what you find > **The Priority Matrix shows products in the high-revenue / low-quality quadrant** > > 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. > **A high-volume product has a low average selling price** > > 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. > **Most revenue comes from fewer than 10 products** > > 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. > **The Fallers section shows a once-strong product declining** > > 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. > **High-quality products are sitting in the low-revenue quadrant** > > 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 > **[Revenue & Sales](/en/analytics/revenue-sales)** > > See the big picture of your sales performance across all products and channels. > **[Cross-sell & Bundles](/en/analytics/cross-sell-bundles)** > > Find which products are frequently bought together and build bundle opportunities. > **[Category Insights](/en/analytics/category-insights)** > > Zoom out from individual products to category-level performance patterns. > **[Google Search Console](/en/integrations/google-search-console)** > > Connect GSC to add product-attributed search metrics to this report. # 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. ![WISEPIM AI Quality Review scoring the catalog across data-quality dimensions with one-click fixes](https://mintcdn.com/swiftsyncai/6r4mF58W88nRQW1H/images/marketing-screenshots/analytics/analytics-quality-review-light-branded.webp?fit=max\&auto=format\&n=6r4mF58W88nRQW1H\&q=85\&s=590a65afb0274c7a82e747ad46c6cb56) 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. > [!NOTE] > > 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 **1. Open AI Quality 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. **2. Choose what to review** 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. **3. Pick an intent preset** **Pre-launch sweep** (every dimension, including AI vision), **SEO health**, **Image audit** (the vision checks), or **Conversion focus**. Each preset selects the dimensions that matter for that goal. **Custom** lets you choose dimensions yourself. **4. Add optional context** **Industry vertical** defaults to your project's primary industry. Open the picker to choose another industry, or a narrower segment or assortment, for more specific expectations. You can also add up to three buyer personas to simulate how different shoppers react, or a freeform instruction for anything specific you care about. **5. Run and review** The modal shows an estimate of the credits and minutes before you click **Start Review**. 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. ## Find matches or check one product The review modal has three tabs. **Full review** is the run described above. The other two are quick previews that answer one question. They never change your catalog. > **Find matches** > > Select between 1 and 20 products first. Under **Describe the products to match**, write a question of up to 500 characters, for example "Products suitable for outdoor use". Choose the **Fields to inspect** (name, description, short description, brand, supplier, categories or attributes), then click **Preview matches**. > > The result splits the products into **Matches**, **Does not match** and **Unknown**. Unknown means the fields you picked did not support a decision, so those products are kept apart from the non-matches. Click **Select N matches** to narrow your current product selection to the matches. > **Check one product** > > Select exactly one product. Pick a check and click **Run semantic preview**: > > | Check | What it does | > | - | - | > | **Source-supported claims** | Compares the product's claims with independent evidence in the product record. | > | **Description and attributes agree** | Finds conflicts between the description and the structured attributes. | > | **Channel policy evidence** | Checks a channel requirement you describe against the product's evidence. | > | **Supplier change triage** | Classifies the change between two supplier snapshots you paste as JSON. | > | **Product relationship** | Compares the product with another product from the same project. | > > Most checks end in **Supported**, **Needs review** or **Not enough evidence**. The result shows a model probability. "Model probability is not calibrated accuracy. Review the evidence before acting." ## 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 (**Industry avg**) and shows an **Open suggestions** 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. > [!NOTE] > > The benchmark follows your industry as precisely as the data allows. A segment or assortment gets its own benchmark once at least 200 products from at least 3 projects sit in it. A top-level industry needs 50. Until then, the nearest broader industry is used, and the result says which one. Your project's own grade thresholds still win over the benchmark. > [!NOTE] > > 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. ### Category FAQ suggestions The review can also suggest buyer questions for a category, shown as "N questions for" followed by the category name. Click **Preview questions** to read them, then click **Add to** plus the category name (for example **Add to Hiking boots**) to add them to the category's FAQs. Every product directly in that category shows them. Subcategories don't get them. See [Product FAQs](/en/ai/product-faqs). ## Fix it, or guard against it ![WISEPIM Quality Guard rules list with severity and scope](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-rules-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=fc3c560d7946c5d36150af833ec95ffa) 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. > [!TIP] > > 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 > **Your overall score is below 3** > > 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. > **One dimension is dragging the whole score down** > > 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. > **The same issue keeps coming back across runs** > > 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. > **A suggestion is flagged for review** > > 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. > **Vision found image and data mismatches** > > 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. > **Conversion Readiness is low** > > 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 > **[Data Quality Analytics](/en/analytics/data-quality)** > > The rule-based completeness score that runs continuously across your catalog. > **[Quality Guard Overview](/en/quality-guard/overview)** > > Turn review findings into rules that block bad data before it lands. > **[Linguistic Review](/en/analytics/linguistic-review)** > > The same idea applied to translation quality across your locales. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Fix the content the review flags with targeted AI enrichment. > **[Product FAQs](/en/ai/product-faqs)** > > Write and manage the buyer questions the review suggests per category. # Reports Source: https://docs.wisepim.com/en/analytics/reports Save a fixed copy of your order numbers as CSV, XLSX or PDF, share it with one teammate through a private link, or schedule it to repeat. Analytics pages change every time orders are imported. A report does not. It freezes every order that matches your filters at the moment you create it, with exact amounts, so the file your accountant opens next week shows the same numbers you saw today. **What this page enables:** month-end exports that do not drift, a private link for one teammate instead of an email attachment, and a schedule that delivers the last complete days without anyone remembering to click. **Where to find it:** open **Analytics**, expand the **Goals & reports** group in the sidebar and click **Reports**. The **Export all N orders in Reports** link on the [Orders](/en/analytics/orders) page brings you here with the same filters. ![WISEPIM Reports page with saved report cards, the create-report presets and scheduled reports](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-reports-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=cdf789b91c986845247d7bf0dae64653) > [!NOTE] > > A report saves every order that matches your filters, up to 100,000 rows, with exact amounts in CSV and XLSX. PDF holds up to 5,000 rows. You need permission to export products to view saved reports; sharing and scheduling need permission to manage settings. Report rows carry totals and order data, never buyer names or contact details. ## Create a report **1. Set the scope** Choose the stores, window and measure above, then save a fixed copy. The report keeps whatever period, stores, currency and **Report measure** are active in the scope bar. **2. Pick a preset or your own window** Under **Presets**, choose **Last month for your accountant**, **Last 7 complete days** or **This month so far (not complete)**. The last one is marked as incomplete on purpose: today is still running. **3. Decide how long to keep it** Set **Keep for (days, 1 to 90)** and click **Create report**. The card appears under **Your reports** as **Queued**, then **Building**, then **Ready**. ## Your reports Each card under **Your reports** shows the window, the stores, the measure (for example **Order totals**), **All currencies** when no currency filter was set, the report's age and a status: | Status | Meaning | | - | - | | **Queued** / **Building** | Not downloadable yet. Use **Refresh reports** to update the status | | **Ready** | Download with **Download CSV** or **Download XLSX**. Each download checks access and expiry again | | **Replaced by newer data** | Orders or settings changed while the report was being built, so it was superseded. Create it again | | **Expired** | The keep-for period passed | | **Revoked** | Someone clicked **Revoke report** | | **Failed** | The build did not finish; the card shows an error code for support | The provenance line, **Data version N · settings version N · created `{date}` · expires `{date}`**, records exactly which data and settings produced the file. **Load older reports** fetches reports beyond the 100 shown. ### Share with one teammate **Share this report** creates a link for a single project member. Only the member you pick can open this link, while they're signed in and still allowed to see analytics and exports. WISEPIM doesn't send emails or make public links. Set **Link valid for (hours, 1 to 168)**, click **Create link**, and send the link yourself. **Revoke link** ends it early; **Revoke report** withdraws the report for everyone. ## Scheduled reports A schedule builds the same report again on a fixed rhythm. Each run covers the last complete days up to yesterday, in your analytics timezone, with these stores, currency and measure. Recipients get a notice in WISEPIM once the report is ready. | Field | What to enter | | - | - | | **Covers the last (days, 1 to 366)** | How many complete days each run includes | | **Repeat** | **Every N days** | | **First report on** | The first run, within the next 366 days | | **Recipients** | **Choose team members** who get the notice | Click **Create schedule**. Each schedule can be paused with **Pause schedule** and resumed with **Turn schedule on**. The list shows the newest 100 schedules. > [!NOTE] > > A schedule repeats after a fixed number of days, so the local hour can shift when the clocks change. Scheduled reports keep the same retention you set for one-off reports. ## Act on what you find > **Your accountant's numbers differ from the report** > > First compare definitions: a report holds order totals as the store sent them, tax and shipping included, refunds not subtracted. The **Compare reports** tool under [Data health](/en/analytics/data-health) takes their CSV and tells you whether the two measure the same thing. > **A report keeps coming back as Replaced by newer data** > > Orders or settings changed while it was building. If you just saved new [Analytics settings](/en/analytics/analytics-settings), wait for **Update reports** to finish, then create the report again. > **A teammate cannot open the link you sent** > > The link is tied to the member you picked and to their access. Check that they are signed in to this project and still allowed to see analytics and exports, and that the link has not passed its **Link valid for** window. Create a new link if it has. > **You need more than 5,000 rows in a PDF** > > PDF is capped at 5,000 rows. Download the CSV or XLSX instead; both hold the full report with exact amounts. ## Related > **[Orders](/en/analytics/orders)** > > Explore the orders before you freeze them in a report. > **[Data health](/en/analytics/data-health)** > > Reconcile a report against your own figures, part by part. > **[Analytics settings](/en/analytics/analytics-settings)** > > The timezone and currencies every report uses. > **[Notification Settings](/en/settings/notifications)** > > Where recipients see the notice that a scheduled report is ready. # 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. ![WISEPIM on-site search analytics, query performance, zero results, and search funnel](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-search-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=a0068e4bca6541d127b4e4fa569ef9a6) 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. > [!NOTE] > > 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. | > [!TIP] > > 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 `{query}`** shortcut that opens **Rank history: `{query}`**: 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 > **Zero-result rate is above 5%** > > 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. > **CTR is low despite high search volume** > > 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. > **Search converts poorly despite good click volume** > > 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. > **A trending search has no matching products** > > 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. > **4+ word queries dominate and conversion is low** > > 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. > **One query converts far better than others** > > 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 > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > See the broader picture of how visitors navigate and engage with your store. > **[Conversions](/en/analytics/conversions)** > > Understand how search discovery connects to your overall conversion funnel. > **[Product Performance](/en/analytics/product-performance)** > > Check whether the products customers search for are actually your best performers. > **[SEO](/en/analytics/seo)** > > 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:** open **Analytics**, expand the **Traffic & SEO** group in the sidebar and click **SEO**. Its children are **Performance**, **Sitemap Coverage**, **Missing from Sitemap**, **Link Audit**, **Competing pages**, **Link Strength** and **Competitors**. > [!TIP] > > 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). > [!NOTE] > > 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**, **Missing from Sitemap**, **Link Audit**, and **Link Strength** 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 ![WISEPIM SEO performance with Search Console clicks, impressions and keyword growth](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=00b4f077ce4cff6b7db1121617f25a78) 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 `{query}`** action. It opens **Rank history: `{query}`**, 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. > [!TIP] > > 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 ![WISEPIM SEO sitemap coverage cross-referenced with Search Console data](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-coverage-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=0c3794f9be4e645ac5a93198d00ceb49) 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. ## Missing from Sitemap ![WISEPIM Missing from Sitemap page with products checked, in sitemap and missing tiles and the table of missing products](https://mintcdn.com/swiftsyncai/A1sxlhei3Shk5Iku/images/marketing-screenshots/analytics/analytics-auth-seo-gaps-light-branded.webp?fit=max\&auto=format\&n=A1sxlhei3Shk5Iku\&q=85\&s=a77077e3e2ee0add455ada97a637f9d9) **Missing from Sitemap** finds products whose shop page is missing from your sitemap. Google may not know these pages exist: a product absent from the sitemap is only crawled if another page links to it, which is not a reliable path to indexation. The page always shows your current products and the last sitemap sync, so the date picker is disabled. Click **Sync sitemap** to read your sitemap, then match its URLs to your products; the sync takes 30 to 90 seconds. Three tiles sum it up: **Products checked**, **In sitemap** and **Missing from sitemap**. The **Missing products** table lists the **Product**, **SKU**, **Expected URL** and **Platform** of every gap. Filter by product or SKU and by platform (**All platforms** by default), save the filter with **Save this view**, or **Export all missing products as CSV**. Two prompts tell you what to do next: * **Check how your sitemap is made and published** appears when shop pages were missing from the sitemap WISEPIM synced. Check that your sales channel publishes them and puts them in its sitemap, then sync again. **Review sitemap setup** opens the settings. * **Write the SEO titles these pages are missing**: Google rarely picks up products with no SEO title. **Generate SEO titles** writes them all at once with AI, after which you sync the sitemap again. When everything is covered, the page reads **All products are in your sitemap**. If no sitemap is configured yet, add one under SEO settings first. ## Cannibalization ![WISEPIM SEO keyword cannibalization detection with canonical recommendations](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-cannibalization-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=97e9be26a08238ac327e6a046726341a) 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 ![WISEPIM Competitor Analysis under SEO with competitor sitemap cards and the list of a competitor's pages](https://mintcdn.com/swiftsyncai/A1sxlhei3Shk5Iku/images/marketing-screenshots/analytics/analytics-auth-seo-competitors-light-branded.webp?fit=max\&auto=format\&n=A1sxlhei3Shk5Iku\&q=85\&s=36e61a1cedddff5c2fe38866cd06963a) The **Competitors** page under SEO, titled **Competitor Analysis**, follows your rivals' sitemaps, compares how their pages are set up, and finds content you're missing. It is not the same as [Competitor Intelligence](/en/analytics/competitors), the **Competitors** entry at the end of the Traffic & SEO group, which scrapes rival shops and compares specs, copy, languages and search visibility. Click **Add Competitor** and enter a **Competitor name** and their **Sitemap URL**. Once added, sync their sitemap to start comparing. Each competitor card shows its status, the sitemap URL, the page count and **Synced: `{date}`**, with icons to sync again or remove it. Pick a competitor to see its pages in a table with **URL**, **Type** (product or category) and **Last modified**, filterable by type. **Find Gaps** compares your sitemap with theirs to find pages you're missing. The analysis runs in the background; results show up on the page in a few minutes. A large gap is a prioritized content backlog: start with gaps in the categories that sell best for you. Until you add one, the empty state lists what you will learn: topics your rivals show up for and you don't, how their pages compare to yours, and new product categories worth adding. Add a competitor by its sitemap URL: ![WISEPIM SEO add-competitor modal tracking a rival store by its sitemap URL](https://mintcdn.com/swiftsyncai/UxKa1ii3tsUwBbGR/images/marketing-screenshots/analytics/seo-competitors-add-modal-light-transparent.webp?fit=max\&auto=format\&n=UxKa1ii3tsUwBbGR\&q=85\&s=347857f9cce9fee5a3c4e905085a9a0f) ## Link audit ![WISEPIM SEO internal link audit with broken links and under-linked products](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-link-audit-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=d9ddf120b64b8eccd571247a0622e40c) 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 ![WISEPIM SEO link equity with authority distribution, orphan pages and link suggestions](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-link-equity-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=87bb08f52358a8de14effc29d91a2cea) 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. > [!TIP] > > 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 > **Quick wins: high impressions, low CTR** > > 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. > **Coverage below 90%, pages declared but not indexed** > > 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. > **Products missing from the sitemap** > > 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. > **Keyword cannibalization detected** > > 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. > **Competitor covers products or categories you don't** > > 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. > **Broken links or orphan products found** > > 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 > **[Competitor Intelligence](/en/analytics/competitors)** > > Scrape rival shops and compare specs, copy, languages and search visibility. > **[Search & Discovery](/en/analytics/search-discovery)** > > Optimize your on-site search experience. > **[Enrich: SEO meta](/en/essentials/enriching-products)** > > Generate titles and meta descriptions that win clicks. > **[Quality Guard](/en/quality-guard/overview)** > > Enforce SEO rules across the catalog. > **[Turn impressions into clicks](/en/guides/win-clicks-you-already-rank-for)** > > Convert positions 4–10 with low CTR into traffic by rewriting for real search intent. # Targets Source: https://docs.wisepim.com/en/analytics/targets Set a goal for orders or order totals per store and period, and see whether you are ahead of or behind pace. Progress counts complete days only. A target turns a number you agreed on into something the dashboard keeps checking. You pick a store, a period and an amount or order count, and WISEPIM tells you each day how far you are and where you would be at an even pace. **What this page enables:** you see on the first of the month whether the quarter is on track, not on the last day. A target that falls behind also shows up under **Needs you today** on the [Today](/en/analytics/today) page. **Where to find it:** open **Analytics**, expand the **Goals & reports** group in the sidebar and click **Targets**. ![WISEPIM Targets page with progress and pace per target and the new-target form](https://mintcdn.com/swiftsyncai/sYRp2D_RvWvuuDNm/images/marketing-screenshots/analytics/order-evidence-targets-light-branded.webp?fit=max\&auto=format\&n=sYRp2D_RvWvuuDNm\&q=85\&s=485e76e37bcc319232c0a206710b71f4) > [!NOTE] > > Each target has its own store, currency and dates, so the date picker at the top of the page does not change them. Progress counts complete days with confirmed order history. Pace shows where you'd be with the same amount every day. Managing targets needs permission to change settings; everyone else can read them. ## Read a target Every target is a card with: * **Progress**: what has been counted so far, shown as **N of N · N%** under **Progress toward target**, and the line **Complete days up to `{date}`** that tells you which days are in. * **Pace**: where you'd be with an even pace every day. The card says **Ahead of pace by N**, **Behind pace by N**, **On pace** or **Pace unknown**, plus **N days left**. * **Same period last year: N** when there is confirmed history for it. The state line tells you whether the number can be trusted: | State | Meaning | | - | - | | **Progress available** | Every day so far has confirmed history and a known amount | | **No complete days yet** | The period has not had a complete day in your analytics timezone | | **History not confirmed** | At least one day in the period has no confirmed order history, so progress is withheld rather than guessed | | **Check the dates** | Something changed under the target, usually the analytics timezone. Open it and confirm the dates | | **Data changed, refresh** | Reports were rebuilt while the page loaded | | **Archived** | The target no longer tracks progress but stays in your history | > [!NOTE] > > Today is never counted. A target reads the last complete day in your analytics timezone, which you set under [Analytics settings](/en/analytics/analytics-settings). ## Create a target **1. Open the form** Click **New target**. Give it a **Name** you will recognise in the feed, such as "Q4 NL store". **2. Choose what to track** Under **What to track**, pick **Orders** for a count or **Order totals** for an amount. Order totals are the totals your store sent, tax and shipping included, refunds not subtracted. **3. Set the period** Use a preset, **This month**, **This quarter**, **Rest of year**, or **Custom** with a **Start date** and **End date**. The dates follow your analytics timezone. **4. Pick the store and currency** Each target covers one **Store**. For an amount, enter the **Currency** as a 3-letter code; money targets need a 3-letter currency code. Leave empty for order counts. **5. Enter the number** Type the **Target** and save. The card shows **No complete days yet** until the first complete day has passed. **Edit target** changes any of these. **Archive target** stops tracking: it stays in your history and stops tracking progress. A project can hold up to 100 active targets. ## Act on what you find > **A target is behind pace early in the period** > > Open [Orders](/en/analytics/orders) for the same store and look at what moved. If the drop is store-wide, check the connection under [Data health](/en/analytics/data-health) before you react; a store that stopped syncing looks exactly like a store that stopped selling. > **Progress says History not confirmed** > > One or more days in the period have no confirmed import. Open [Data health](/en/analytics/data-health) and look at **History in this period** for the store. Once the gap is filled by a sync, the target recalculates on its own. > **Every target reads Check the dates** > > The analytics timezone changed, so the day boundaries moved. Open each target, confirm the **Start date** and **End date**, and save. The warning clears. > **You want one target across several stores in one currency** > > Targets are per store. Create one per store, or set a reporting currency under [Analytics settings](/en/analytics/analytics-settings) and read the converted total on the Orders page instead. ## Related > **[Today](/en/analytics/today)** > > Yesterday's orders per store and the targets that are behind pace. > **[Orders](/en/analytics/orders)** > > The order totals a target is counted from. > **[Analytics settings](/en/analytics/analytics-settings)** > > The timezone that decides when a day is complete. > **[Reports](/en/analytics/reports)** > > Save a fixed copy of the numbers behind a target. # Tracking Health Source: https://docs.wisepim.com/en/analytics/tracking-health Check how much of your order revenue GA4 records, work through 11 tracking checks with fixes per platform, and link GA4 products to your catalog. Tracking Health compares what Google Analytics 4 recorded with the orders your store actually took. The headline reads **GA4 tracks `{percent}` of your order revenue**, and a **Tracking score** out of 100 sums up the checks below it. Every GA4 number elsewhere in Analytics, from channel reports to the product funnel, is only as good as this score. **What this page enables:** you find out whether a drop in GA4 revenue is a real sales drop or a broken purchase tag, you hand your developer a copy-ready spec instead of a vague complaint, and you keep payment providers from stealing credit from the channels that brought the shopper. **Where to find it:** **Analytics > Data & setup > Tracking Health**. The page needs a connected GA4 property; without one it shows **Connect Google Analytics 4 first**. Right after connecting it shows **Waiting for the first GA4 sync** until the first import lands, usually within a few hours. > [!NOTE] > > Other GA4 pages carry a trust chip that reads **GA4 tracks `{percent}`** or **Tracking score `{score}`**. Before it has run it says **Tracking not checked yet**. Click the chip to land here. ## Pick a period The **Period** tabs switch between the last **28**, **56** and **90** days. The provenance line under the headline tells you exactly what was compared: **Source: Google Analytics 4 (`{property}`) and your store orders**, **Compared `{start}` to `{end}`**, and **Days follow the GA4 property time zone (`{tz}`)**. If WISEPIM could not read the property time zone, days fall back to UTC and can be off by one at the edges. ## How the headline is measured Open **How we measure** under the headline to see the rules behind the percentage. * **Paid orders only.** Only orders your platform reports as completed or processing count. Pending orders are often unpaid and never reached the thank-you page, and refunded or cancelled orders are not sales. The UI puts it as: pending and refunded orders don't count. * **Net or gross basis.** Many shops send GA4 revenue without VAT and shipping. When at least 90% of the orders in the window carry a tax amount, WISEPIM compares GA4 with your order value excluding VAT and shipping, and the headline reads **GA4 tracks `{percent}` of your order revenue (excl. VAT and shipping)**. When your platform only reports totals, the comparison is gross and the headline says **(incl. VAT and shipping)**. On a gross basis the share reads lower than your real tracking, and the page says so. * **A minimum of 20 orders.** With fewer store orders in the window the page says **Not enough store orders yet to compare GA4 with your store** and leaves the headline blank. It never shows 0%. * **Same currency only.** When GA4 reports in one currency and your store sells in another, money is not compared. The page says so and compares the share of orders instead. * **Over-reporting is flagged too.** **GA4 reports `{amount}` more than your store took. That usually means a purchase tag fires twice.** The **Tracking score** weighs the checks below. Checks without enough data do not count toward it, and the score reads **Not enough data yet** until enough checks have run. ## The Checks tab The page opens on **Checks**. Each check has a status: **Passing**, **Needs attention**, **Broken** or **Not enough data**. Failing checks are listed first under **`{count}` checks need attention**, then **Passing (`{count}`)** and **Waiting for data (`{count}`)**. | Check | What it compares | | - | - | | **Revenue reaches GA4** | GA4 purchase revenue against your store orders, on the basis above. | | **Every order sends one purchase** | GA4 purchase events against your order count. More events than orders means some purchases are sent twice. | | **Purchases still arrive** | The date of the last GA4 purchase against the days your store kept selling after it. | | **GA4 products match your catalog** | The share of GA4 product views on products WISEPIM can link to your catalog. | | **The shopping funnel is complete** | Whether `view_item`, `add_to_cart`, `begin_checkout` and `purchase` all arrive, and whether each step is smaller than the one before. | | **Traffic has a source** | The share of sessions with no source. | | **Payment providers aren't credited as traffic** | Sessions and revenue GA4 credits to iDEAL, PayPal, Klarna and similar domains. | | **GA4 keeps data long enough** | The property's event data retention setting. | | **Purchase is a key event** | Whether `purchase` is a key event, and whether page-level events are wrongly marked as key events too. | | **GA4 uses your store currency** | The property currency against the currency your store sells in. | | **Refunds reach GA4** | GA4 refund events against the refunds your store processed. | Every check card follows the same structure: **1. Why it matters** One or two lines on what the problem does to your reports. For example, the revenue check warns that missing revenue makes every channel look worse than it is. **2. Evidence** The numbers behind the status, such as **GA4 recorded `{ga4}` against `{store}` in store orders (`{percent}`)** or **The last GA4 purchase was on `{date}`, but your store took `{orders}` orders on `{days}` days since then**. **3. How to fix** Expands to **Steps for `{platform}`**, written for your connected platform: Shopify, WooCommerce, Magento, Shopware, Lightspeed, CCV Shop, or generic steps for any shop. Checks that need code changes also show **Spec for your developer** with a **Copy** button, so you can paste the exact event and parameter requirements into a ticket. > [!NOTE] > > The configuration checks (retention, key events, currency) read the property settings from Google. When Google does not return them, the page says **Google didn't return the property settings, so the configuration checks are waiting for data.** and those checks sit under **Waiting for data**. ### GA4 vs store revenue per day Below the checks, a chart plots **GA4 revenue** and **Store revenue** for every day in the period. The gap between the lines is labelled **Not tracked by GA4**, and a summary line puts a number on it: **GA4 is missing about `{amount}` across `{days}` days** on a net basis, or **`{amount}` difference across `{days}` days, partly VAT and shipping** on a gross basis. Use it to date a problem: a gap that opens on one day usually matches a theme, plugin or checkout change. When the currency of the period is unknown or mixed, GA4 amounts are hidden and only counts are shown. ### Domains to add to GA4's unwanted referrals When the payment-provider check finds sessions credited to a payment domain, the card lists every domain under **Domains to add to GA4's unwanted referrals** with a **Copy list** button. In GA4, open **Admin**, your web data stream, **Configure tag settings**, then **List unwanted referrals**, and add each domain with the match type *Referral domain contains*. GA4 accepts up to 50 domains per web stream, and the change only affects new sessions. ## The Item Matching tab Switch to **Item Matching** to see how well GA4's product data lines up with your catalog. This matching powers the product funnel, the [Fix these first worklist](/en/analytics/product-performance) and Content Impact. Three metrics sit at the top: **Product views matched**, **Revenue matched** and **GA4 product IDs matched**, each shown as a share of the total, for example **`{matched}` of `{total}` product views**. WISEPIM matches GA4 products to your catalog by SKU, variant SKU, GTIN or shop product ID. The table of **GA4 products** lists each GA4 `item_id` with its **Match** state (**Matched**, **Not matched** or **More than one match**), the method used (**Linked by hand**, **By SKU**, **By variant SKU**, **By GTIN**, **By shop variant ID**, **By shop product ID**), its **Product views**, **Units sold** and **Product revenue**. Unmatched rows carry a reason, such as **No SKU, GTIN or shop ID matches** or **Matches more than one product**. **1. Link a product** Click **Link product** on an unmatched row, search by SKU or product name, pick the catalog product and click **Save link**. Links apply to WISEPIM's reports only; GA4 stays as it is. **2. Change or remove a link** On a matched row, **Change match** picks a different product. **Remove link** drops a manual link, and automatic matching by SKU, GTIN or shop ID applies again. > [!NOTE] > > Only members who manage analytics and integrations can change matches. Everyone else sees the table read-only. If GA4 reported more than one currency in the period, revenue is hidden until the next GA4 sync. ## Act on what you find > **The headline is well under 100% and the daily chart shows a steady gap** > > A constant gap on a net basis points at orders that never send a purchase: a cookie banner without Consent Mode, a payment method whose return page skips the thank-you page, or a second tracking tool that overwrites the first. Open **Revenue reaches GA4**, follow **Steps for `{platform}`**, then place a test order and watch GA4 DebugView for one purchase. **Outcome:** the channel reports in Analytics stop under-crediting the sources that actually sell. > **GA4 reports more than your store took** > > Two senders are firing purchase, or the confirmation page re-sends it on reload. **Every order sends one purchase** names the ratio. Keep one sender (on Shopify, the Google & YouTube app) and remove the other. **Outcome:** conversion rate and average order value in GA4 stop being inflated. > **Purchases stopped arriving on a specific date** > > **Purchases still arrive** gives you the date of the last GA4 purchase. Think back to what changed that day: a theme update, a new checkout, a consent change. On Shopify, scripts on the old thank-you page stop working after a move to the new checkout and must become a customer events pixel. **Outcome:** the tag is fixed before the gap grows into a month of missing data. > **GA4 products match your catalog is failing** > > Open **Spec for your developer** on the check, copy it, and ask for a stable `item_id` (SKU, GTIN or shop variant ID) in every ecommerce event. Meanwhile, click **Match unmatched products** and link the biggest unmatched IDs by hand on the Item Matching tab. **Outcome:** product reports and the worklist cover the products that matter most while the tag is being fixed. > **Payment providers appear as a traffic source** > > Copy the domain list and add it to GA4's unwanted referrals. Until you do, sales from shoppers who paid through iDEAL or PayPal are credited to the payment provider, and every real channel looks weaker. **Outcome:** channel reports credit the campaigns and search terms that did the work. > **Refunds reach GA4 is failing** > > Most platform integrations send purchases but not refunds. Ask your developer to send refunds through the GA4 Measurement Protocol with the original `transaction_id`. Refunds cannot be added afterwards, so set it up before the next one. **Outcome:** returns-heavy products stop looking better in GA4 than they are. ## Related > **[Google Analytics 4 Integration](/en/integrations/google-analytics)** > > Connect a GA4 property and learn which events and parameters WISEPIM expects. > **[Conversions](/en/analytics/conversions)** > > The GA4 event funnel that these checks keep honest. > **[Product Performance](/en/analytics/product-performance)** > > Product views, add-to-cart rates and the Fix these first worklist built on matched GA4 products. > **[Traffic & Behavior](/en/analytics/traffic-behavior)** > > Sessions by source, device and country, with the same GA4 trust chip. # 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. ![WISEPIM traffic and behavior analytics across sources, devices and countries](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/analytics-traffic-light-branded.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=af781c28e19f682e5736f7a2f4b86fef) 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. > [!NOTE] > > 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. 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. ## Know where the GA4 numbers come from With GA4 connected, a source line under the page title reads **GA4 · `{property}`**, followed by **data through `{date}`** (or **first import running** right after you connect). Click **Data details** to open a popover with the property, its time zone and currency, the data streams, **Days with data** as a count of the period, **Last synced** and the comparison period. When Google sampled the report, the popover says so and the totals are estimates. Next to it, a trust chip reads **GA4 tracks `{percent}`**: the share of your order revenue GA4 actually records. Until the checks have run it says **Tracking not checked yet**. Click the chip to open [Tracking Health](/en/analytics/tracking-health) and see which checks fail. Read every GA4 number on this page with that percentage in mind; a 70% chip means roughly three in ten orders never reached GA4. > [!NOTE] > > If GA4 is connected and synced but has no sessions in the selected dates, the page says **GA4 recorded no traffic in this period** and suggests a wider date range or a check that the GA4 tag is on your store. It never fills the charts with zeros. ![WISEPIM GA4 traffic insight connecting acquisition sources to engaged storefront sessions](https://mintcdn.com/swiftsyncai/6ZQoBzJkFmY7l9Qs/images/marketing-screenshots/analytics/analytics-ga4-traffic-insight-light-branded.webp?fit=max\&auto=format\&n=6ZQoBzJkFmY7l9Qs\&q=85\&s=40d5f3466a9c5833f811b0342645e0b9) ## 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, summed** | GA4 counts users per day and this adds those days up. Someone who visits on three days counts three times, so it is higher than the number of different people who visited. | | **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. | ### Why did this change? GA4 cards carry a **Why did this change?** link that opens the **Why it changed** drawer. Pick a metric (**Sessions**, **Key event rate**, **GA4 revenue** or **Add-to-cart rate**) and the drawer compares the period with the one before it, then lists the **Top drivers** by channel, source and medium, device, country, landing page and product. Each driver shows how much of the rise or drop it accounts for, and whether the effect came from volume (more or fewer sessions from that segment) or rate (the segment performing differently on its own traffic). The drawer only explains a change when both periods have complete synced days and enough sessions. When the metric moved less than 1% it says **No meaningful change**. > [!TIP] > > 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. > [!NOTE] > > 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 ![Page insights showing top landing pages and exit pages with engagement metrics](https://mintcdn.com/swiftsyncai/e18vBVd-8m3raEK2/images/screenshots/analytics/analytics-traffic-behaviour-page-insights.webp?fit=max\&auto=format\&n=e18vBVd-8m3raEK2\&q=85\&s=1c944ec01330a4b14241405e1e305a5e) 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. > [!NOTE] > > 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. > **Bounce rate is above 55%** > > 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 traffic is high but engagement is low** > > 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. > **A source has high volume but low conversion rate** > > 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. > **Session duration is under 1 minute** > > 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. > **One country or device drives 40%+ of sessions** > > 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. > **Returning visitors are below 20%** > > 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 > **[Conversions](/en/analytics/conversions)** > > See how traffic turns into actual purchases through your conversion funnel. > **[Search & Discovery](/en/analytics/search-discovery)** > > Understand how visitors find products once they are on your site. > **[Marketing Attribution](/en/analytics/marketing-attribution)** > > Track which marketing efforts drive the most valuable traffic. # Unmatched products Source: https://docs.wisepim.com/en/analytics/unmatched-products Link order lines that WISEPIM could not match to a product in your catalog, so product reports, Margin and the Fix queue include them. An order line arrives with the reference your store uses for the product. Usually WISEPIM matches it to the catalog on its own. When it cannot, the line still counts in order totals, but every product report leaves it out: no product sales, no Margin, no place in the Fix queue. This page is where you close that gap. **What this page enables:** you link a store reference to the right catalog product once, and every past and future order line with that reference follows. Product reports stop under-counting your best sellers. **Where to find it:** open **Analytics**, expand the **Data & setup** group in the sidebar and click **Unmatched products**. The **Match order lines to products** step on the [Today](/en/analytics/today) page and the **Needs product matching** trust mark on other pages land here too. ![WISEPIM Unmatched products queue with store references waiting to be linked to catalog products](https://mintcdn.com/swiftsyncai/MllHzI8wlqBZvkUg/images/marketing-screenshots/analytics/order-evidence-mapping-light-branded.webp?fit=max\&auto=format\&n=MllHzI8wlqBZvkUg\&q=85\&s=b1aec9264f4283425a864c34a20d02bd) > [!NOTE] > > Matching uses the exact product or variant reference from the store. A similar SKU is not enough: WISEPIM never guesses a link from a near match, so a reference stays unmatched until you confirm it. ## Work the queue The subtitle counts the work: **N order lines in the last 90 days aren't linked to a product, so product reports leave them out.** Each entry shows the reference **As sold**, the store, and **Last seen `{time}`**. Click **Link to product…**, search the catalog by name or SKU, and click **Apply**. The entry moves into **Matched just now (N)** and you get ten seconds to **Undo**. **Load more** fetches older references. When the queue is empty, the page says every order line in the last 90 days is linked to a product. ## Enter a link manually For references that no longer appear in the queue, or to remove a link, open **Enter manually**: | Field | What to enter | | - | - | | **Platform** | The platform name, for example shopify | | **Store ID** | The store's number in WISEPIM | | **Product reference in the store** | The product reference as the store sends it | | **Variant reference in the store** | The variant reference, when the store uses one | | **Product ID in your catalog** | The WISEPIM product to link to. Leave empty to remove the link | Click **Preview affected lines**. The **Check this link** step shows **N order lines (N archived) and N refund lines. Link version N.** so you can see what the link will touch. Then click **Apply link**. > [!WARNING] > > A link applies to every past order, not only the dates you picked. This updates past orders in WISEPIM only, and your store stays as it is. If anything changed since the preview, you are asked to preview again. After applying, the page reads **Reports need an update to include this change.** Run **Update reports** under [Analytics settings](/en/analytics/analytics-settings) for the affected period. > [!NOTE] > > Links are versioned, not final. Applying a new link for the same reference replaces the old one, and removing the product from a link takes the lines back out of product reports. The preview you confirm is valid for a short while; if orders or settings change in between, WISEPIM refuses the apply and asks for a fresh preview. ## Act on what you find > **A best seller shows in order totals but not in product sales** > > Search the queue for its reference as the store sends it. Link it, then run **Update reports**. The product then appears in [Orders](/en/analytics/orders), in [Margin](/en/analytics/margin) and in the [Fix queue](/en/analytics/fix-queue). > **The same reference keeps coming back after an import** > > The store sends a different reference for each variant. Link each variant reference, using **Variant reference in the store** in the manual form, rather than the parent product only. > **You linked the wrong product** > > Within ten seconds, click **Undo**. Later, open **Enter manually**, fill in the same references with the correct **Product ID in your catalog**, preview and apply. The new link replaces the old one for every order line. > **Margin still says Needs product matching after you linked everything** > > Reports have not been updated yet. Run **Update reports** under [Analytics settings](/en/analytics/analytics-settings) for the period, then reopen Margin. ## Related > **[Orders](/en/analytics/orders)** > > Product sales that only include linked lines. > **[Margin](/en/analytics/margin)** > > Needs linked lines to find the cost of each product sold. > **[Order Detail](/en/analytics/order-detail)** > > Link a single order line from the receipt view. > **[Analytics settings](/en/analytics/analytics-settings)** > > Run the report update that picks up new links. # Read one attribute definition Source: https://docs.wisepim.com/en/api-reference/attributes/get openapi.json GET /api/public/v1/attributes/{attribute_id} GET /attributes/{attribute_id} on the WISEPIM Public API: one attribute definition of the bound project. Requires attributes:read. # List attribute definitions Source: https://docs.wisepim.com/en/api-reference/attributes/list openapi.json GET /api/public/v1/attributes GET /attributes on the WISEPIM Public API: keyset-paged attribute definitions, filter by ids, codes or attribute group. Requires attributes:read. # Authentication and scopes Source: https://docs.wisepim.com/en/api-reference/authentication Authenticate WISEPIM Public API calls with a project API key, choose least-privilege scopes, handle 401 and 403 responses, and rotate or revoke keys. Every request to the WISEPIM Public API carries a **project API key** as a bearer token. There is no OAuth flow, no session and no other sign-in step for the API: the key is the credential. ```bash theme={null} curl https://wisepim.com/api/public/v1/project \ -H "Authorization: Bearer wpk_..." ``` ## How keys work * **One key, one project.** A key is bound to the project it was created in and can never reach another project. A product id from another project is a `404`, not a `403`. * **Scopes are fixed at creation.** You choose the permissions when you create the key. They cannot be widened afterwards; create a new key instead. * **Keys act on behalf of the person who created them.** Every request re-checks that this person is still active and still has access to the project. Write scopes also require that they can still edit the project. Off-board the person and their keys stop with them. * **Only the prefix is stored.** WISEPIM keeps a hash of the key, so the full `wpk_...` value is shown exactly once, right after creation or rotation. * **Revocation and expiry apply on the next request.** Nothing is cached. Keys are created under **Settings > API Access** by project owners and admins. See [API Access](/en/settings/api) for the walkthrough and the limits per project and per person. ## Scopes Request the smallest set that does the job. Reads and writes are separate scopes. | Scope | Grants | Used by | | - | - | - | | `project:read` | The project's name, languages, industry and limits | [`GET /project`](/en/api-reference/key/project) | | `products:read` | Products with attribute values and category links | [`GET /products`](/en/api-reference/products/list), [`GET /products/{product_id}`](/en/api-reference/products/get) | | `products:write` | Create products and update names, descriptions, identifiers, prices, SEO fields, categories and attribute values | [`POST /products`](/en/api-reference/products/create), [`PATCH /products/{product_id}`](/en/api-reference/products/update), [`POST /products/batch`](/en/api-reference/products/batch) | | `categories:read` | The project's category tree | [`GET /categories`](/en/api-reference/categories/list), [`GET /categories/{category_id}`](/en/api-reference/categories/get) | | `attributes:read` | The project's attribute definitions | [`GET /attributes`](/en/api-reference/attributes/list), [`GET /attributes/{attribute_id}`](/en/api-reference/attributes/get) | [`GET /me`](/en/api-reference/key/me) needs no scope. Call it first to confirm which key you are holding, which scopes it carries and which project every other call will land in. The same scope names appear in the [OpenAPI spec](https://docs.wisepim.com/openapi.json): each operation lists its scope under `x-required-scopes`, and the `ProjectApiKeyAuth` security scheme describes the full catalogue under `x-scopes`. ## Authentication errors | Response | Cause | What to do | | - | - | - | | `401 api_key_required` | No `Authorization` header, a value that does not start with `wpk_`, or a key that was revoked or has expired | Check the header, then check the key's state under Settings > API Access | | `403 insufficient_scope` | The key lacks the scope the endpoint needs. The body lists `required_scopes` and `missing_scopes` | Create a key with the right scopes; scopes on an existing key cannot change | | `403 issuer_cannot_write` | The person who created the key can no longer edit the project | Have a project owner or admin create a replacement key | | `429 rate_limited` | More than the key's per-minute limit, 600 by default | Wait for `Retry-After` seconds, then continue. Spread bulk work with `POST /products/batch` | ## Keep keys safe * Send keys from your server, never from browser code, mobile apps or public repositories. * Store them in environment variables or a secrets manager, not in source control. * Give each integration its own key so you can revoke one without breaking the others. * Check each key's **Last used** date under Settings > API Access and revoke keys that are no longer in use. * If a key may have leaked, create a replacement, switch the integration to it, then **Revoke** the old one. Revocation is immediate. ## For AI assistants Project API keys are for code you run yourself. To let ChatGPT or Codex work with a catalog, connect it through [Connected Apps](/en/settings/connected-apps): the assistant asks for named permissions, you approve exactly one project, and you choose whether its changes apply directly or wait for your review in WISEPIM. That connection is granted and revoked in the app, not with an API key. # Read one category Source: https://docs.wisepim.com/en/api-reference/categories/get openapi.json GET /api/public/v1/categories/{category_id} GET /categories/{category_id} on the WISEPIM Public API: one category of the bound project. Requires categories:read. # List categories Source: https://docs.wisepim.com/en/api-reference/categories/list openapi.json GET /api/public/v1/categories GET /categories on the WISEPIM Public API: the project's categories as a flat, keyset-paged list with parent_id and level. Requires categories:read. # WISEPIM Public API Source: https://docs.wisepim.com/en/api-reference/introduction The WISEPIM REST API: base URL, authentication with project API keys, paging, error format, rate limits and the OpenAPI spec you can load into any client. The WISEPIM Public API lets your own systems read and update a project's catalog: an ERP that pushes prices, a storefront that reads enriched content, or a sync job that keeps another PIM in step. Everything the API does, it does on **one project**, the project the API key is bound to. | | | | - | - | | **Base URL** | `https://wisepim.com/api/public/v1` | | **Authentication** | `Authorization: Bearer wpk_...` ([project API key](/en/api-reference/authentication)) | | **Format** | JSON requests and responses, UTF-8, HTTPS only | | **OpenAPI spec** | [docs.wisepim.com/openapi.json](https://docs.wisepim.com/openapi.json) (OpenAPI 3.1) | | **Version** | v1, versioned by path. Breaking changes get a new mount. | > [!NOTE] > > The API covers products, categories and attributes. Enrichment, imports, exports and automations are not in v1; run those in the app or with an [automation](/en/automations/overview). To let an AI assistant work with your catalog, use [Connected Apps](/en/settings/connected-apps) instead of an API key. ## Quickstart **1. Create an API key** In the WISEPIM app, open **Settings > API Access** and click **Create API key**. Pick a name and the permissions the integration needs. The full key is shown once; store it in a secrets manager. See [API Access](/en/settings/api) for who can create keys and the limits. **2. Check the key** `GET /me` needs no scope and tells you which project the key is bound to and which scopes it carries. ```bash theme={null} curl https://wisepim.com/api/public/v1/me \ -H "Authorization: Bearer $WISEPIM_API_KEY" ``` **3. Page through your products** Lists are keyset-paged. Pass `next_cursor` back as `cursor` until `has_more` is `false`. ```bash theme={null} curl "https://wisepim.com/api/public/v1/products?limit=100" \ -H "Authorization: Bearer $WISEPIM_API_KEY" ``` **4. Write back** Update one product with `PATCH /products/{product_id}`, or send up to 200 products at once to `POST /products/batch`, keyed by SKU. Both need the `products:write` scope. ## Endpoints | Endpoint | Scope | What it does | | - | - | - | | [`GET /me`](/en/api-reference/key/me) | none | Describe the calling key and its project | | [`GET /project`](/en/api-reference/key/project) | `project:read` | Project identity, locales, industry, product count | | [`GET /products`](/en/api-reference/products/list) | `products:read` | List products, bulk lookup by `ids` or `skus`, incremental sync with `updated_since` | | [`POST /products`](/en/api-reference/products/create) | `products:write` | Create one product | | [`GET /products/{product_id}`](/en/api-reference/products/get) | `products:read` | One product with attribute values and category ids | | [`PATCH /products/{product_id}`](/en/api-reference/products/update) | `products:write` | Partial update of one product | | [`POST /products/batch`](/en/api-reference/products/batch) | `products:write` | Create or update up to 200 products by SKU, atomically | | [`GET /categories`](/en/api-reference/categories/list) | `categories:read` | Flat category list with `parent_id` and `level` | | [`GET /categories/{category_id}`](/en/api-reference/categories/get) | `categories:read` | One category | | [`GET /attributes`](/en/api-reference/attributes/list) | `attributes:read` | Attribute definitions, filter by `codes` or `group_id` | | [`GET /attributes/{attribute_id}`](/en/api-reference/attributes/get) | `attributes:read` | One attribute definition | ## Paging Every list returns the same envelope and is ordered by id ascending: ```json theme={null} { "data": [ ... ], "next_cursor": "aWQ6NDIx", "has_more": true } ``` * `limit` defaults to 50 and is capped at 200. * The cursor is opaque. A malformed cursor is a `422 invalid_cursor`, never a silent restart from the top. * There is no total count. Drain the list until `has_more` is `false`. * Keyset paging visits every pre-existing row exactly once, even while products are being inserted. For incremental sync, call `GET /products?updated_since=` on a schedule, page to the end, then store the highest `updated_at` you saw as the next `updated_since`. ## Errors Every error is JSON with the same envelope. `code` is a stable machine-readable string; branch on it rather than on `error`. ```json theme={null} { "error": "Scope products:write is required", "code": "insufficient_scope", "request_id": "3f9a1c2b", "required_scopes": ["products:write"], "missing_scopes": ["products:write"] } ``` | Status | Codes | Meaning | | - | - | - | | `401` | `api_key_required` | Missing, unknown, revoked or expired key | | `403` | `insufficient_scope`, `issuer_cannot_write`, `product_limit_exceeded` | Key lacks the scope, the person who created the key can no longer edit the project, or the plan has no room for another product | | `404` | `not_found` | Unknown id, or an id that belongs to another project (never a 403) | | `409` | `sku_conflict`, `idempotency_conflict` | A product with that SKU already exists in the project, or an `Idempotency-Key` was reused for a different request | | `422` | `invalid_cursor`, `invalid_limit`, `invalid_filter`, `invalid_sku`, `invalid_price`, `invalid_status`, `unknown_category`, `unknown_attribute`, `invalid_attribute_value`, `batch_invalid`, `invalid_idempotency_key` | Bad paging or filter input, or a write that failed validation. Schema validation errors carry a per-field `detail` array. `batch_invalid` lists one entry per offending item in `errors` and nothing was written | | `429` | `rate_limited` | Over the per-key limit. `retry_after` in the body and a `Retry-After` header say how long to wait | Quote the `request_id` when you [contact support](https://wisepim.com/contact) about a failed call. ## Rate limits Each key has its own limit, **600 requests per minute** by default, counted in a fixed 60-second window. Every response carries `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` (seconds until the window resets). A request that fails a scope check still counts. Support can raise a key's limit when a sync needs it; `GET /me` shows the limit the key currently has. ## Retries and idempotency Networks fail mid-request, and a client that retries a `POST` after a timeout cannot know whether the first attempt was applied. Send an **`Idempotency-Key`** header on every write (`POST /products`, `PATCH /products/{product_id}`, `POST /products/batch`) and reuse the same key for every retry of that write. ```bash theme={null} curl -X POST https://wisepim.com/api/public/v1/products \ -H "Authorization: Bearer $WISEPIM_API_KEY" \ -H "Idempotency-Key: order-sync-2026-10-29-sku-8841" \ -H "Content-Type: application/json" \ -d '{"sku": "8841", "name": "Oak sideboard"}' ``` * The key is any string of 1 to 128 printable ASCII characters without whitespace. A UUID per logical operation works well. * A retry with the same key, method, path, query and JSON body returns the **original status and body** and applies nothing again. The order of keys in the JSON body does not matter. * Keys are scoped to the API key that sent them and are kept until that API key is deleted. Rotating a key starts a fresh scope. * The same key with a different request is a `409 idempotency_conflict`; a malformed key is a `422 invalid_idempotency_key`. A write that fails leaves no record, so the next attempt with the same key runs normally. * A replayed response describes the product as it was when the write ran. Use `GET /products/{product_id}` for the current state. * `GET` requests need no key. `POST /products/batch` is keyed by SKU, so a retried batch without a header is also safe, but a header gives you the original `results` and `summary` back instead of a second run. The API does not retry anything on your behalf. Retry `5xx` responses and timeouts with the same key; honour `Retry-After` on a `429` before retrying. ## Test safely There is no separate sandbox host. Test against a **separate project** instead: [create a project](/en/essentials/managing-projects), fill it with a copy or a sample of your catalog, and create a key bound to that project. Keys cannot reach any other project, so a bug in your integration never touches the catalog your live channels read from. [Compare Projects](/en/essentials/managing-projects) shows the differences between the test project and the live one before you point the integration at production. ## Related > **[Authentication and scopes](/en/api-reference/authentication)** > > How keys work, which scopes exist, and how to rotate a key you think has leaked. > **[API Access settings](/en/settings/api)** > > Create, rename and revoke keys in the app, and the limits per project and per person. > **[Developer portal](/developers)** > > Every developer resource in one place: spec, MCP server, llms.txt, guides. > **[Connected Apps](/en/settings/connected-apps)** > > Let ChatGPT or Codex work with your catalog through a scoped, revocable connection. # Describe the calling key Source: https://docs.wisepim.com/en/api-reference/key/me openapi.json GET /api/public/v1/me GET /me on the WISEPIM Public API: the key you authenticated with, its scopes and rate limit, and the project it is bound to. Needs no scope. # Read the project Source: https://docs.wisepim.com/en/api-reference/key/project openapi.json GET /api/public/v1/project GET /project on the WISEPIM Public API: the bound project's name, status, locales, industry and live product count. Requires project:read. # Batch upsert products Source: https://docs.wisepim.com/en/api-reference/products/batch openapi.json POST /api/public/v1/products/batch POST /products/batch on the WISEPIM Public API: create or update up to 200 products by SKU in one atomic, idempotent call. Requires products:write. # Create a product Source: https://docs.wisepim.com/en/api-reference/products/create openapi.json POST /api/public/v1/products POST /products on the WISEPIM Public API: create one product by SKU with content, prices, SEO fields, categories and attributes. Requires products:write. # Read one product Source: https://docs.wisepim.com/en/api-reference/products/get openapi.json GET /api/public/v1/products/{product_id} GET /products/{product_id} on the WISEPIM Public API: one product with its attribute values and category ids. Requires products:read. # List products Source: https://docs.wisepim.com/en/api-reference/products/list openapi.json GET /api/public/v1/products GET /products on the WISEPIM Public API: keyset-paged products, bulk lookup by ids or SKUs, and incremental sync with updated_since. Requires products:read. # Update a product Source: https://docs.wisepim.com/en/api-reference/products/update openapi.json PATCH /api/public/v1/products/{product_id} PATCH /products/{product_id} on the WISEPIM Public API: partial update of content, prices, SEO fields, categories and attributes. Requires products:write. # Action nodes Source: https://docs.wisepim.com/en/automations/action-nodes Action nodes do the work in an automation: import, export, enrich with AI, bulk edit, call APIs, notify, and run Catalog Jobs steps in one workflow. 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. > [!NOTE] > > 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. An **AI Enrichment** node whose enrichment type belongs to a feature switched off in **Settings** > **Workspace Features** shows **Uses a switched-off feature** and won't count as ready until you switch that feature back on. ## Choose an action ![WISEPIM automation, bulk-edit node config (operation + target fields) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-bulk-edit-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=b6f8a9bfe993b1305a31e63fdbc9f645) 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 a connected platform | | **Import from URL** | Fetch a CSV, Excel or XML feed from a URL | | **Export Products** | Push product data out to a channel or file | | **Category Import** | Import categories from a connected platform (see [Data nodes](/en/automations/data-nodes#import-your-category-tree)) | | **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 | | **Run Child Automation** | Run another automation as one step of this one | | **Image Processing** | Edit product images | | **Read supplier codes**, **Fill from the photo**, **Check images**, **Get images from your old store** | Run a Catalog Jobs step inside your automation (see [Catalog Jobs steps](#catalog-jobs-steps)) | ## Import products Pull product data into WISEPIM from an external source. | Setting | What it does | | - | - | | **Import Source** | The connected platform to import from | | **Create missing products** | Create new products for items not yet in your catalog | The source list shows the integrations you've connected that support import, such as Shopify, WooCommerce, Magento or Lightspeed. A CSV file is not a source here, because an automation has no file to read: use **Import from URL** for a feed, or the importer on the Products page for a one-off file. > [!WARNING] > > Automations that still use the old URL scraper source now fail with "URL import has been retired." Import those products with the [WISEPIM browser extension](/en/essentials/web-scraping-import) instead, or switch the node to **Import from URL** when the supplier offers a feed. ## 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 update inventory in other 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 ![WISEPIM automation - export/publish node config (destination + format) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-export-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=503685b612b0fbab7d2ff32bc8b8d768) 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 | The destination list shows your connected integrations that support export, plus **CSV Export** and **Excel Export**, which are always available. > [!NOTE] > > 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 | > [!NOTE] > > 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. > [!TIP] > > 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. > **Text** > > | 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 | > **Categories** > > | 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 | > **Pricing** > > | 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 | > **Status and inventory** > > | 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 | > **Physical attributes** > > | Operation | What it does | > | - | - | > | **Update weight** | Set product shipping weights | > | **Set dimensions** | Update length, width, and height | > **Attributes** > > | Operation | What it does | > | - | - | > | **Set attribute** | Set a specific attribute value across products | ## Catalog Jobs steps Four action nodes run a [Catalog Jobs](/en/products/catalog-jobs) step on the products that reach them. Every Catalog Jobs node in one automation run shares one job run, so the threshold, credits, review queue and run report work the same as a job you start by hand. Answers the AI is unsure about wait in the review queue. Add a **Your review** node after them to hold the automation until you've checked those (see [Logic nodes](/en/automations/logic-nodes#wait-for-your-review)). | Node | What it does | Settings | | - | - | - | | **Read supplier codes** | Decodes codes like HB/908/101/56/16 into brand, model, colour and sizes, and remembers what you teach it | Link to **Open your supplier glossary** | | **Fill from the photo** | Fills empty attributes from the product photo, only with allowed values | **Attributes to fill** (empty means every empty attribute with allowed values) and **Apply changes for me**: **Careful: at least 95% sure**, **Balanced: at least 85% sure**, **Fast: at least 70% sure** or **Never: I review everything** | | **Check images** | Checks each image matches the product and its colour. Photos that don't match become suggestions to remove, so you decide | None | | **Get images from your old store** | Fetches the exact photo per variant from your old Shopify store | **Old store address**. Leave it empty to use the store you used last time | | Node | Credits | | - | - | | **Read supplier codes** | Free when the rules decode the code. 1 credit per product the AI fallback improves | | **Fill from the photo** | 1 credit per product photo read | | **Check images** | 1 credit per product whose photos the AI checks | | **Get images from your old store** | Free | ### Run a saved job Some templates use a step that runs a saved Catalog Job instead. It starts a job you saved in Catalog Jobs, with that job's own choices. Pick it under **Saved job**. To save one, start a job in Catalog Jobs and set it to repeat. To change the choices, open the job's schedule page. This step isn't in the node palette: you get it from a [template](/en/automations/templates#catalog-jobs-templates). ## API request ![WISEPIM automation - API/webhook node config (URL, method, headers, body) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-api-request-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=2416947cee25496a5fa3041a7949dfc3) 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 ![WISEPIM automation - notification node config (channel + message template) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-notification-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=eb0510be7e2979a9aefc99677f77e114) 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 | > [!NOTE] > > 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 > **[Data nodes](/en/automations/data-nodes)** > > Control which products flow through your workflow. > **[Logic nodes](/en/automations/logic-nodes)** > > Add conditional branching and flow control to your automations. > **[Visual builder](/en/automations/builder)** > > Drag, connect, and configure nodes on the canvas. > **[Automation Triggers](/en/automations/triggers)** > > Decide what starts your automation and when it runs. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Start the same steps as a guided job and review what AI is unsure about. # 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. ![WISEPIM visual automation builder with a branching product launch pipeline](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-builder-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=831ab8963da9c01e1393471236e9936c) 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. > [!NOTE] > > 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. A node that needs a feature switched off in **Settings** > **Workspace Features** shows **Uses a switched-off feature** until you switch that feature back on. ## Open the builder **1. Go to Automations** Click **Automations** in the sidebar. **2. Start a new automation** 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 ![WISEPIM automation AI Designer describing a workflow in plain language with example prompts](https://mintcdn.com/swiftsyncai/UxKa1ii3tsUwBbGR/images/marketing-screenshots/automations/automation-ai-designer-modal-light-transparent.webp?fit=max\&auto=format\&n=UxKa1ii3tsUwBbGR\&q=85\&s=8460409abdbdf0a8eeae00dd3f7f4c11) 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. > [!TIP] > > 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 | > [!TIP] > > 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 **1. Open the node palette** The left panel lists every node by group: **Trigger Nodes**, **Data & Product Flow**, **Action Nodes**, and **Logic & Control Flow**. **2. Drag a node onto the canvas** Click a node in the palette and drag it where you want it. **3. Configure 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: > **[Triggers](/en/automations/triggers)** > > Start your workflow. Every automation needs at least one. Choose from Schedule, Webhook, Manual, After Import, After Export, Product Updated, and Quality Changed. > **[Actions](/en/automations/action-nodes)** > > Do the work. Choose from Import Products, Import from URL, Export Products, Category Import, AI Enrichment, Bulk Edit, API Request, Send Notification, Run Child Automation, Image Processing, and the Catalog Jobs steps. > **[Data](/en/automations/data-nodes)** > > Control which products flow through. Choose from Select Products, Filter Products, and Read File. > **[Logic](/en/automations/logic-nodes)** > > Add decision-making. Choose from Condition (If/Then), Semantic condition, Merge, Delay, and Your review. > [!TIP] > > 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 ![WISEPIM automation, AI enrichment node config (enrichment type + prompt) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-enrichment-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=f6450aac959c7b60fcc27b797433fa7e) 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. **1. Hover over a node** Connection handles appear on all four sides (top, bottom, left, right). **2. Drag from an output handle** Click and drag from an output handle (the bottom or right side) of the source node. **3. Drop on an input handle** 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. > [!WARNING] > > 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 > **Select 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. > **Copy and paste** > > 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. > **Enable and disable** > > 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. > **Delete nodes** > > Select nodes and press `Delete` or `Backspace`. Their connections are removed too. Press `Ctrl+Z` to undo. > **Auto-layout and align** > > 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. > [!TIP] > > 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 `{time}`. 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. **1. Finish the workflow** Make sure every node is configured (green checkmarks) and properly connected. **2. Click Test Run** Click the test button in the toolbar. The builder runs your workflow. **3. Watch it run** The execution panel shows real-time progress. Each node lights up as it works: blue while running, green when done, red if it fails. **4. Review the results** The panel logs each step, including how many products were processed and any errors. ![Test run execution showing real-time node status, progress bar, and execution logs](https://mintcdn.com/swiftsyncai/QcmoFmdWmBmszOSJ/images/screenshots/automations/automation-builder-test-run-bg.webp?fit=max\&auto=format\&n=QcmoFmdWmBmszOSJ\&q=85\&s=bb03706ad6d4bd7f68bbba5b3125ecd7) 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. ![Example translation automation workflow with connected trigger, data, and action nodes](https://mintcdn.com/swiftsyncai/QcmoFmdWmBmszOSJ/images/screenshots/automations/automation-builder-translation-automation-bg.webp?fit=max\&auto=format\&n=QcmoFmdWmBmszOSJ\&q=85\&s=285ef7dd12898307ebe9c08c151a2815) ## 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 | > [!NOTE] > > On Mac, use `Cmd` instead of `Ctrl` for every shortcut. ## Related > **[Automation Templates](/en/automations/templates)** > > Start from a pre-built template for common workflows. > **[Automations Overview](/en/automations/overview)** > > 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. > [!NOTE] > > Place data nodes between your trigger and your actions. This controls exactly which products reach each step. ## Pick which products to process ![WISEPIM automation, select-products data node config (filter conditions) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-select-products-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=9104c6b3addfe8143d3746ff14313a23) 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 > [!NOTE] > > **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. You find it in the **Action Nodes** group of the palette. Run it before a product import and the products land in the right place straight away. | Setting | What it does | | - | - | | **Import Source** | The connected platform to read categories from: Shopify, WooCommerce, Lightspeed, Magento 2 or CCV Shop. Only platforms you've connected appear | The node imports the whole category tree. Existing categories are updated and new ones are created. ### CCV Shop category imports * Parents are imported before their subcategories, and each category is matched on its CCV id. A daily import no longer adds a root-level copy of every subcategory. * When two WISEPIM categories already claim the same CCV id, that row fails with a message to merge them before importing. The rest of the import carries on. Copies made by earlier runs stay until you merge them. * One bad row fails on its own and no longer stops the whole import. * A category moved to the CCV root becomes its own tree in WISEPIM, and the paths of its subcategories are updated. > [!TIP] > > 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 > **[Logic nodes](/en/automations/logic-nodes)** > > Branch, merge, and pause the flow with if/then logic. > **[Action nodes](/en/automations/action-nodes)** > > See every action your automations can run. > **[Visual builder](/en/automations/builder)** > > Drag, connect, and configure nodes on the canvas. > **[Automation Triggers](/en/automations/triggers)** > > 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 with if/then rules or an AI-checked criterion, merge paths, add delays, and wait for your review. ![WISEPIM automation - condition (if/then) logic node config with condition groups in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-condition-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=dc20d1339d94a338dae2ab8bc41b8bb5) Logic nodes shape how products move through your automation. Use them to branch the flow, merge paths back together, pause between steps, or wait until you've checked the AI's suggestions. The palette's **Logic & Control Flow** group holds five nodes: **Condition (If/Then)**, **Semantic condition**, **Merge**, **Delay**, and **Your review**. > [!NOTE] > > 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 | > [!TIP] > > 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. ## Branch on a written criterion The **Semantic condition** node checks products against a criterion you write in plain language, such as "The product description clearly states the primary material." AI reads only the fields you allow and sends each product down one of three connectors: **True**, **False**, or **Unknown**. Unavailable or insufficient evidence always follows Unknown. | Setting | What it does | | - | - | | **Criterion** | One review criterion, 10 to 500 characters | | **Fields available to the review** | The product fields the AI may read: Name, Description, Short description, Brand, Supplier, Categories, Attributes. Name, Description, Brand, Categories and Attributes are on by default | | **Confidence threshold** | 0.5 to 0.99, default 0.75. Below this value, the product follows Unknown | | **Criterion version** | A label you change when the meaning of the criterion changes. Starts at 1 | | **Maximum products per run** | 1 to 20, default 20. Products beyond the limit follow Unknown, so the run stays bounded | > [!NOTE] > > A **Test Run** previews the split, but the review can't authorize a write during a test. Connect the Unknown connector to something useful, like a notification, so those products don't drop out silently. ## 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 ## Wait for your review The **Your review** node pauses the automation until the open suggestions from earlier steps are reviewed. It works with the Catalog Jobs steps, such as **Fill from the photo** and **Check images**: their uncertain answers wait in the review queue, and the automation holds here until you've checked them. | Setting | What it does | | - | - | | **Wait at most (hours)** | How long the automation waits. Default 72, maximum 720. After this, the automation carries on with what's accepted | When nothing waits for review, the node passes straight through. Use **Open the review queue** in the node settings to jump to the suggestions. See [Catalog Jobs](/en/products/catalog-jobs) for how the review works. ## Related > **[Data nodes](/en/automations/data-nodes)** > > Control which products flow through your workflow. > **[Action nodes](/en/automations/action-nodes)** > > See every action your automations can run. > **[Automation Triggers](/en/automations/triggers)** > > Decide what starts your automation and when. > **[Visual builder](/en/automations/builder)** > > Drag, connect, and configure nodes on the canvas. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Guided jobs whose uncertain answers wait in the review queue. # 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. > [!NOTE] > > You build each automation in a [visual editor](/en/automations/builder) by connecting nodes on a canvas. No coding required. ## How an automation works ![WISEPIM automations list with triggers, run counts and status](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automations-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=c7da084f671545619e9008c8daf7ce72) 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, delay, or wait for your review ## Node types ![WISEPIM visual automation builder with a branching product launch pipeline](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-builder-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=831ab8963da9c01e1393471236e9936c) Pick the right node for each step. Here is what each type does. > **[Triggers](/en/automations/triggers)** > > Start a run with one of 7 triggers: Schedule, Manual, Webhook, After Import, After Export, Product Updated, and Quality Changed. > **[Action nodes](/en/automations/action-nodes)** > > Do the work: import, export, enrich with AI, bulk edit, call APIs, notify, and run Catalog Jobs steps. > **[Data nodes](/en/automations/data-nodes)** > > Select products, filter by conditions, read files, and import your category tree. > **[Logic nodes](/en/automations/logic-nodes)** > > Branch on a rule or a written criterion, merge paths, delay steps, and wait for your review. ## 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 > [!TIP] > > If an automation drops below an 80% success rate, open its configuration and run history to find the error. ## Cap what automations spend Automations, imports and scheduled jobs use AI credits while nobody watches. To limit that per project, set a monthly cap in [**Settings** > **Automation budget**](/en/settings/ai-budgets). | Setting | What it does | | - | - | | **Monthly limit** | **No limit** (the default) or **Set a monthly limit** with **Credits per month**. 0 pauses AI work from automations | | **Send me a notice at (%)** | One notice per month when automations reach this share of the limit. 10 to 100 | When automations reach the limit, they pause until next month and you get a notice. Runs you start yourself always use your normal credit balance. ## 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 > [!WARNING] > > Deleting an automation is permanent and cannot be undone. Pause it instead if you might need it again. ## Related > **[Visual builder](/en/automations/builder)** > > Learn the drag-and-drop builder and connect your first nodes. > **[Automation Templates](/en/automations/templates)** > > Start from a pre-built workflow and be live in minutes. > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > 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. > [!NOTE] > > 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 ![WISEPIM automation template gallery with ready-made workflows](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/automations/automations-templates-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=c24cf4dcfe896702db8062d3f6cfa596) 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. > **Exports** > > Backups, reports, and publishing to sales channels: weekly backups, monthly accounting reports, and multi-channel publishing. > **Data Sync** > > Platform migrations and integrations: supplier imports, Magento-to-Shopify migrations, and two-way syncs. > **AI Content** > > Descriptions, translations, and SEO content: content for new products, SEO optimization, and multi-language translation. > **Data Cleanup** > > Pricing, inventory, and data quality: sale setup, price changes, post-import cleanup, and bulk category assignment. > **Notifications** > > 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 | > [!TIP] > > 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 **1. Select a template** Click a template card to expand it and review its workflow steps. **2. Click Use This Template** Click **Use This Template** at the bottom of the expanded card. This opens the [visual builder](/en/automations/builder) with the template loaded. **3. Configure the nodes** 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. **4. Save your automation** Once every node is configured, name your automation and save it. > [!NOTE] > > 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 & 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. | ## Catalog Jobs templates Eleven templates run [Catalog Jobs](/en/products/catalog-jobs) on a schedule or after every import. They show up in the category tabs with the others and carry the "catalog jobs" tag, so searching for "catalog jobs" lists them all. Each one is a Beginner template with about 2 minutes of setup. Three templates chain Catalog Jobs steps and a **Your review** node, then export to WooCommerce: | Template | Category | What it does | | - | - | - | | **Fill attribute gaps every week** | AI Content | Every Monday, fills missing attributes from each product's photo with your allowed values. Confident answers are applied, the rest waits for your review before anything goes to WooCommerce. | | **Complete every new supplier sheet** | AI Content | After each import, reads the supplier codes, researches the products, checks the images, fills attributes from the photo and sorts products into your categories. You review what WISEPIM is unsure about, then it goes to WooCommerce. | | **Fix new missing images every night** | AI Content | Every night, swaps placeholder images for the real photos from your old store and checks each one matches the product and its colour. You review the doubtful ones before they go live. | The other eight have a single step that starts a job you saved in Catalog Jobs. Pick the job under **Saved job** before you save the automation: | Template | Category | What it does | | - | - | - | | **Give new products their own text in every shop** | AI Content | Every Monday, writes a version of each new product for each of your shops. New texts wait for your check. | | **Retire sold-out products every week** | Data Cleanup | Every Monday, moves products that stopped selling out of your shops with your saved rules. Products with open orders always stay live. | | **Group new look-alikes into variants after every import** | Data Cleanup | Finds products that are one model in different colours or sizes and proposes them as one product with variants. Nothing changes until you approve the groups. | | **Sync supplier stock and prices every day** | Data Sync | Every morning, reads your supplier's latest list and updates stock and prices on the products you already sell. Big price changes wait for your check. | | **Translate new products every week** | AI Content | Every Monday, translates the products, categories and values that are new since last week, and keeps brand and shade names as they are. | | **Keep products ready for Google and Meta ads** | AI Content | Every Monday, checks your products for Google Shopping and Meta and fixes categories, identifiers, titles and claims. | | **Clean up new photos after every import** | AI Content | Gives new photos a white background, a square frame, a lighter file and alt text. You approve them before anything reaches your shop. | | **Complete beauty product data after every import** | AI Content | Finds ingredients, volume, shade and skin type for new beauty products from the pack photo and trusted web sources. Every ingredient list waits for your check. | > [!NOTE] > > The three step-based templates export to WooCommerce. With more than one WooCommerce shop, pick the shop in the export node. Point the export node at another channel if you don't sell on WooCommerce. ## 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. > [!WARNING] > > 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 > **[Visual builder](/en/automations/builder)** > > Learn everything the visual automation builder can do. > **[Automations Overview](/en/automations/overview)** > > Manage, monitor, and track all your automations from one dashboard. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Set up and save the jobs that the Catalog Jobs templates run. # 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. > [!NOTE] > > 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 ![WISEPIM automation, schedule trigger node config (frequency + time) in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-schedule-trigger-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=be7fb508b44d22e3d316ccbb6b8f2751) 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. > **Schedule** > > 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 | > **Manual** > > 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 > **Webhook** > > 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 | > **After Import** > > 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. > **After Export** > > 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 | > **Product Updated** > > 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) | > **Quality Changed** > > 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 ![WISEPIM automation - after-import trigger node config in the builder](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-node-after-import-trigger-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=ef2b6bef0b5a8e79cdbab3ef82c1a24b) 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**, then **Select Products** (only the products that just arrived), then **AI Enrichment** with Auto-Fill, then **Send Notification** to your team. > [!TIP] > > Imports made with the browser extension have their own post-import enrichment settings, so you do not need an automation for those. See [Web Scraping Import](/en/essentials/web-scraping-import). ## Related > **[Visual builder](/en/automations/builder)** > > Build and configure your automation in the visual editor. > **[Action nodes](/en/automations/action-nodes)** > > 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 projects overview - every client or brand in its own isolated project](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/projects/projects-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=21e95bdd8f1d2f960230be7c997cf78c) 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. > [!NOTE] > > 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. **1. Create a project for the client** 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. **2. Import their products** 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). **3. Enrich and translate** 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. **4. Export to their platforms** 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. > **[Isolated projects](/en/essentials/managing-projects)** > > Each client gets their own project: separate products, categories, attributes, and settings. No cross-contamination. > **[Bulk editing](/en/essentials/bulk-editing)** > > Update hundreds of products at once instead of editing them row by row in Excel. > **[AI enrichment at scale](/en/essentials/enriching-products)** > > Build reusable AI prompts in the Prompt Library and apply them to a whole catalog in one action. > **[Multi-platform export](/en/essentials/exporting-products)** > > 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. > **[Prompt Library](/en/essentials/prompt-library)** > > Save your proven AI prompts and reuse them across client projects. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Teach WISEPIM each client's brand voice so AI output stays on-brand. > **[Team management](/en/teams/team-management)** > > Control who can access which client projects and what they can do. > **[Automations](/en/automations/overview)** > > Set up workflows that handle repetitive enrichment and quality checks for you. > [!TIP] > > 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 > **[Managing Projects](/en/essentials/managing-projects)** > > Create, duplicate, and organize a project per client or brand. > **[Team Management](/en/teams/team-management)** > > Invite teammates and clients and control what they can access. > **[Brand Portals](/en/other-features/brand-portals)** > > Share always-up-to-date product data with clients and retailers. > **[Product Templates](/en/settings/templates)** > > 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. ![WISEPIM projects overview with catalogs, roles and team collaboration](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/projects/projects-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=21e95bdd8f1d2f960230be7c997cf78c) 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. > [!NOTE] > > 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 > [!NOTE] > > 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: **1. Open the actions menu** Find the project you want in the table and open its actions menu. **2. Set it as active** Select **Set as active**. WISEPIM updates your workspace to that project. > [!NOTE] > > When you switch projects, your views, filters, and settings update to match the new project. Each project remembers its own setup. ### Switching in another tab Your active project is shared across your browser tabs. When you switch in one tab, the other tabs follow: * A tab without unsaved changes loads the new project and shows "Switched to Spring Collection in another tab". * A tab with unsaved changes asks first: **Project changed in another tab**. Click **Load Spring Collection** to follow, which discards the changes in that tab, or **Not now** to stay. Until it loads the new project, that tab can't save. ### Compare performance across projects With two or more projects, a **Projects** / **Performance** toggle sits above the table. **Performance** shows **Project performance** for the period: **Sessions (GA4)**, **Store revenue** and **Data through** for each project. A project without Google Analytics shows **GA4 not connected**, and one without orders shows **No orders**. Click a project to open its analytics. ## Create a project ![WISEPIM new project modal with name, target language, SEO keywords and default AI prompts](https://mintcdn.com/swiftsyncai/vEQswzAmpt_KnAac/images/marketing-screenshots/projects/projects-create-modal-light-transparent.webp?fit=max\&auto=format\&n=vEQswzAmpt_KnAac\&q=85\&s=25754edb9142e757651703b861f19021) **1. Click Create Project** Open the **Projects** page and click **Create Project**, or press **⌘⇧C** (**Ctrl+Shift+C** on Windows and Linux). **2. Fill in the basics** 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. **3. Add optional settings** Pick your **Industry** so AI writes more relevant content. You can pick a whole industry or a more specific segment, such as Foodservice > Professional tableware. 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. **4. Save** Save to create the project. It appears at the top of your projects table, ready to use. > [!TIP] > > 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. **1. Open the actions menu** Find the project you want to copy and open its actions menu. **2. Select Duplicate** Choose **Duplicate** and confirm. **3. Wait for the copy** 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.** > [!WARNING] > > 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** followed by a project name | Products one project has and the other doesn't | | **Identical** | Products that already match | **1. Start with Differ** This is where the work is. Each row tells you how many fields differ. **2. Open a product** Click **Compare** to open the diff drawer. It lists the fields one by one, with both values next to each other. **3. Choose a direction and sync** Set the **sync direction**, then sync a single field or use **Sync all** to bring the whole product in line. **4. Handle the missing ones in bulk** On the "Only in" tabs, select rows and use **Copy to** the other project. The copy runs in the background. > [!NOTE] > > 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. > [!TIP] > > 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. > [!WARNING] > > 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 > **[General Settings](/en/settings/general)** > > Set the name, language, keywords, and default prompts for your active project. > **[Managing Your Products](/en/essentials/managing-products)** > > Work with the catalog inside your active project. > **[Importing Products](/en/essentials/importing-products)** > > Fill a new project with products from Excel, CSV, or a platform. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Use the project's AI prompts to improve product content. # 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. > [!TIP] > > New to WISEPIM? Run the [Quickstart](/en/quickstart) first - guides assume you have a project with products in it. ## Get started & migrate > **[Your first catalog](/en/guides/first-catalog/set-up)** > > Five parts, about five hours: from a messy export to live enriched listings - setup, import, clean, enrich, publish. > **[Migrate platforms without losing data](/en/guides/migrate-your-catalog)** > > Rehearse the whole move on a copy first, then cut over with better content than you went in with. > **[Use WISEPIM as a smart layer on your PIM](/en/guides/smart-layer-on-your-pim)** > > Keep your existing PIM as the system of record and add the AI layer on top - no migration required. > **[Onboard a supplier catalog end to end](/en/guides/onboard-a-supplier-catalog)** > > File, feed, or bare website to classified, researched, sellable products, and reusable for every supplier after. ## Clean up your data > **[Clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog)** > > Someone else's mess, in order: measure a baseline, clean and restructure, then put a quality floor under it. > **[Make brand names and terms consistent](/en/guides/make-terminology-consistent)** > > Collapse every spelling variant to one approved value, then make it stick across future imports and translations. ## Grow sales > **[Turn impressions into clicks](/en/guides/win-clicks-you-already-rank-for)** > > You already rank - convert positions 4–10 with low CTR into traffic by rewriting for real search intent. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > Set up brand voice once so 10,000 AI-written descriptions sound like you, not like a robot. > **[Launch a new market language you trust](/en/guides/launch-a-new-language)** > > Fix the source, sample, translate, then review it like an editor - instead of shipping raw machine output. ## Reduce returns > **[Cut your return rate with better data](/en/guides/cut-your-return-rate)** > > Triage whether it is even a content problem, fix the products actually costing you, then prove the rate moved. ## Sell on more channels > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > Channel rules first, quarantine second, feed third - the sequence that keeps a new channel approved. > **[Send a different price per channel](/en/guides/price-per-channel)** > > Cover marketplace fees without ever touching your stored prices, and know which pricing tool does what. > **[Sell to wholesalers with ETIM and BMEcat](/en/guides/sell-to-wholesalers)** > > Adopt the classes, fill the prescribed features, check conformance, and send a file their system accepts first try. ## Operate at scale > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > Turn the six clicks you do every morning into a flow, with a safety net that catches quality drops for you. > **[Run a weekly catalog health routine](/en/guides/weekly-maintenance-routine)** > > A Monday round under an hour: read every signal first, clear the queues, then ship one improvement. ## Looking for something else? > **[Documentation](/en/introduction)** > > Feature-by-feature reference for everything WISEPIM can do. > **[Integrations](/en/integrations/supported-platforms)** > > Setup instructions for every supported platform, marketplace, and supplier. # 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. ![WISEPIM process tracker with live import, export and enrichment tasks](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/process/process-tracker-light-branded.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=f3e32f0b1f33643ef693534fea93f1c4) **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**. > [!NOTE] > > 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. ![WISEPIM process tracker timeline view with source, type and status filters](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/process/process-tracker-timeline-light-branded.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=50c11e5ba7178b0bbae6a4b72ac24ecc) | 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 > **Overview** > > 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. > **Analytics** > > Success rates, processing speed, and error trends over time. ![Process Tracker analytics showing performance statistics and success rates](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/process-tracker/analytics.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=6b813ff6667c268390b8b6cae88982b7) ## 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. ![WISEPIM process tracker task detail with live enrichment progress and item-level results](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/process/process-tracker-task-detail-light-branded.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=bf2f49dc20b8815839b6b86d7476e63a) ### 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. For AI tasks, **Credits used:** shows what the run actually cost, after refunds. When credits came back, for example for products that failed or were skipped, the line adds how many were refunded. ### Enrichment evidence On the product list of an AI enrichment task, the **Enrichment evidence** block shows how well the results are backed by sources. It sums up how many results on the page need attention. Click **Show evidence** to open the details per product: * **Controlled attribute options**: whether the values the AI picked for select attributes fit the allowed options. * **Generated content checks**: each claim in the generated text, marked **Supported**, **Contradicted** or **Unknown**, with the evidence fields it was checked against. The evidence comes from the original run. Edits you made to a product later are not reflected here. ### Why import rows were skipped Import tasks list every skipped row with its spreadsheet row number and the reason, for example: * "Duplicate in your file: the SKU already appears in row 12" * "Skipped because this product is not in WISEPIM yet and you chose to only update existing products" * "Skipped because nothing changed compared to the product in WISEPIM" * "Not imported because your plan's product limit was reached" Use the row number to find the line in your file, fix it and import again. ### FAQ runs An FAQ task shows **What this FAQ run did**: how many products were updated, how many questions were added and how many were held for review, with the reasons they were held. Changed your mind? **Undo this run** restores the FAQs the products had before. Products you edited since the run are left alone. See [Product FAQs](/en/ai/product-faqs). ### 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 **1. Open the task** Find it in any view and open it. **2. Stop it if needed** 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. **3. Resume when you are ready** Once the cause is fixed, **Resume** finishes the remainder. See [Resume or restart](#resume-or-restart) below. > [!NOTE] > > Stopping an Auto-Fill or Bulk Enrich parent task also stops the child tasks it started. One click stops the whole job, so credits are not spent on work you have already cancelled. Queued competitor analysis runs can be stopped too. ## 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. | > [!TIP] > > 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. > [!WARNING] > > 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. Category, attribute, option set and unit imports can be restarted as well. A restart replays the file you uploaded the first time, so you don't need to upload it again. > [!NOTE] > > Starting an enrichment or translation twice by accident does not cost you twice. When the app retries a start request after a lost connection, WISEPIM returns the task that already started instead of creating and charging a second run. ## 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. When a multi-step enrichment fails, the parent task keeps the step that failed, the cause and the child task where it happened. Steps that depend on the failed one are skipped, and results from earlier steps stay. The parent counts steps, while the product counts are kept separately, so you can see both how far the job got and how many products it touched. > **Task stuck in pending** > > 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. > **High failure rate** > > 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. > **You ran out of credits mid-run** > > The task stops and says so. Top up or upgrade, then use **Resume**: the products already processed are not charged again. > **Slow processing** > > Large datasets and complex transformations take longer. Process data in smaller batches and run big jobs during off-peak hours. > **Connection errors** > > These point to the platform connection. Check the platform status, confirm your credentials are valid, and test the connection in your integration settings. ## Related > **[Bulk Editing](/en/essentials/bulk-editing)** > > Run mass updates that show up as tasks in the Process Tracker. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Trigger AI enrichment and track it here as it runs. > **[Integration Settings](/en/settings/integrations)** > > Set up the platform connections your imports and exports use. > **[Notification Settings](/en/settings/notifications)** > > 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. > [!NOTE] > > The Audit Log is read-only. You cannot edit or delete entries. That keeps the record tamper-proof. ## Read an entry ![WISEPIM Quality Guard audit log, a timeline of rule, template and compliance events](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-audit-log-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=e1ec5bf8052ae4ab6b958583cde0c370) 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. > [!TIP] > > 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. > **Rule updates** > > Shows the exact fields that changed, with old and new values. For example: `severity: warn -> block`. > **Pre-flight checks** > > 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. > **Bulk fixes** > > Shows how many products were fixed versus how many failed. Use it to judge how well a bulk action worked. > **Quarantine bypasses** > > Shows the reason the user gave when they approved the bypass. This builds an accountability trail for every override. > **Template applications** > > Shows how many rules the template created when it was applied. > **Channel rule updates** > > 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. > [!NOTE] > > 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. > [!WARNING] > > The log records all activity automatically and you cannot delete entries selectively. This protects the integrity of your quality audit trail. ## Related > **[Quality Rules](/en/quality-guard/rules)** > > Create and manage the rules whose changes appear in the log. > **[Quarantine](/en/quality-guard/quarantine)** > > Resolve or bypass products that fail your rules. > **[Channel Rules](/en/quality-guard/channel-rules)** > > Set channel-specific requirements for each sales platform. > **[Quality Guard Overview](/en/quality-guard/overview)** > > 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. ![WISEPIM Quality Guard per-channel rule sets with pass rate and coverage](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-channel-rules-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=dc603ac2f90040303cd5402f16986f1e) 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. > [!NOTE] > > 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. * **Pass 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. * **Channels without rules**: connected channels that have no rules yet. ## Supported channels Quality Guard supports channel rules for every platform WISEPIM integrates with: > **Google Shopping** > > GTIN, brand, product category, image requirements, and title formatting. > **Shopify** > > SEO fields, variant data, image counts, and product type classification. > **Amazon** > > Bullet points, search terms, category attributes, and A+ content readiness. > **Meta / Facebook** > > Product condition, availability, pricing format, and image specifications. > **WooCommerce** > > Short descriptions, stock status, weight and dimensions, and category mapping. > **Bol.com, Kaufland & more** > > Marketplace identifiers, translated descriptions, shipping attributes, and compliance data. ## Set up channel rules ![WISEPIM Quality Guard rule packs grouping channel-ready checks](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-rule-packs-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=2af2d5e16051db3f8a598ecde50cf46b) > [!NOTE] > > 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). **1. Find your channel** On the Channel Rules page, locate the channel you want to configure. If it sits under **Channels without rules**, click **Add Rules for** followed by the channel name to start. **2. Create channel-scoped rules** When you create a rule, set its **Scope** to the channel. The rule then applies only when you export to that platform. **3. Install a rule pack or use a template** For popular channels, install the channel's pack from the **Rule packs** tab, or pick single checks from the **Templates** tab. Packs install as drafts, so nothing blocks an export until you switch the rules on. **4. Check the pass rate** Return to the **Channel rules** tab to see each channel's pass rate. It tells you how many products are ready for that platform. > [!TIP] > > Start with the channel that drives the most revenue. Raising its pass rate has the biggest impact on your business. ## Track the pass rate Each channel card shows a **Pass 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. > [!WARNING] > > A low pass 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. > **Google Shopping** > > * 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 > **Amazon** > > * Product Name is at most 75 characters, spaces included > * Product Name is at least 30 characters, so it carries enough detail > * Description has at least 50 words > * At least 4 product images > * A GTIN that is filled in has a valid check digit, and an empty EAN, brand or MPN gets a warning > > Amazon caps titles at 75 characters in every category except media from 27 July 2026. The Amazon rule pack follows that limit. If you installed the pack before and never edited its title rule, WISEPIM updated that rule to 75 characters for you. A title rule you edited yourself stays as you left it. If you sell books, music or video, scope the title rule to your other categories. > **Bol.com** > > * Product Name, Description, Price and SKU are filled in > * EAN is not empty and has a valid check digit > * At least 1 product image > * The description has a Dutch translation > > The curated **Bol.com** pack in the **Rule packs** tab installs these checks as drafts. Brand is recommended, not required. > **Shopify** > > * 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 > [!NOTE] > > 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 pass rate trends.** Check each channel's pass rate often, especially before a big export. * **Start with a rule pack or templates.** Pre-built packs and 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 > **[Quality Rules](/en/quality-guard/rules)** > > Build and scope the rules that power each channel. > **[Quarantine](/en/quality-guard/quarantine)** > > Handle products that fail a channel's blocking rules. > **[Audit Log](/en/quality-guard/audit-log)** > > Track every channel rule change over time. > **[Quality Guard Overview](/en/quality-guard/overview)** > > 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. > [!NOTE] > > Quality Guard runs automatically on every export, sync, or publish. You can also run checks manually at any time. After an AI enrichment, a product's verdict goes back to unchecked, so the next export evaluates every active rule again, including rules on fields the enrichment did not touch. ## Dashboard ![WISEPIM Quality Guard dashboard with compliance rate and rule coverage](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=1481c8daa250f30b4e73aa19278e8ed6) The Quality Guard dashboard gives you a high-level view of your catalog's health: > **Passing** > > The share of evaluated products that pass every active rule, with a grade from **Excellent** to **Critical**. This is your top-line quality metric. > **In quarantine** > > Products held back because they failed a quality rule. These need your attention before they can be exported. > **Avg. score** > > The average completeness score of your product data across all rules, from 0 to 100. > **Resolved today** > > Quarantine issues fixed today, with the change compared to yesterday. > [!NOTE] > > The passing rate only counts products that have been evaluated. The dashboard says how far it got, for example "1,200 of 1,500 products evaluated. The passing rate is based on evaluated products." Before the first evaluation it shows **Awaiting first evaluation**, and a project without products shows **No products to evaluate yet**. Products that are not in quarantine are not the same as products that passed: a product that was never evaluated is counted separately. ### Score breakdown 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. | ### Rules that fail most The dashboard highlights the rules causing the most failures. Fix these first for the biggest impact on your passing rate. **Edit rule** opens the rule, and **View rule trend in Analytics** shows how its failures develop over time. ## How Rules Work Quality Guard is built on **rules**: conditions your product data must satisfy. Each rule has three parts: **1. Conditions** 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. **2. Scope** Define which products the rule applies to. You can target all products, specific categories, certain channels, or products within a price range. **3. Severity** 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 ![WISEPIM Quality Guard AI rule generator that derives checks from best practices or competitor URLs](https://mintcdn.com/swiftsyncai/vEQswzAmpt_KnAac/images/marketing-screenshots/quality-guard/quality-guard-ai-rule-generator-light-branded.webp?fit=max\&auto=format\&n=vEQswzAmpt_KnAac\&q=85\&s=500fae6c3c52719fff54b7f3f728ee40) There are four ways to build your rule set. Pick what fits your workflow: > **AI Rule Generator** > > Describe your requirements in plain language, or let AI analyze your catalog and competitor listings to propose rules automatically. > **Rule Packs** > > Install a pre-built bundle of channel-scoped rules for marketplaces like Google Shopping, Amazon, or Kaufland in one click. > **Templates** > > Browse the template gallery for ready-made rule sets organized by channel and use case. Apply one as a starting point. > **Custom Rules** > > Build rules from scratch using the condition builder to express any check your catalog requires. > [!TIP] > > 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 Quality Guard has eight tabs: **Overview**, **Rules**, **Questions**, **Templates**, **AI suggestions**, **Rule packs**, **Channel rules** and **Audit log**. The **Questions** tab is different from the rest: instead of a field condition, you write a question such as "Does the description contradict the attributes?" and the AI answers it per product. Question checks do not change the quality score and never block an export. > **[Rules](/en/quality-guard/rules)** > > Learn how to create and manage quality rules for your catalog. > **[Question Checks](/en/quality-guard/questions)** > > Ask the AI a plain-language question about every product and review the flagged answers. > **[Channel Rules](/en/quality-guard/channel-rules)** > > Set up channel-specific requirements for each of your export destinations. > **[Quarantine](/en/quality-guard/quarantine)** > > Review and resolve products that failed quality checks. > **[Audit Log](/en/quality-guard/audit-log)** > > Track every quality-related action and change across your project. ## Getting Started New to Quality Guard? Here is the fastest path to clean data: **1. Install a Rule Pack or browse templates** Head to the **Rule packs** tab for your primary channel, or browse the **Templates** tab for a ready-made rule set. Either gives you a solid baseline immediately. **2. Review the dashboard** After applying rules, check the dashboard to see your current passing rate and which products need attention. **3. Fix quarantined products** 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. **4. Refine and expand** 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. > [!WARNING] > > 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 > **[Quality Rules](/en/quality-guard/rules)** > > Build the rules Quality Guard enforces across your catalog. > **[Question Checks](/en/quality-guard/questions)** > > Plain-language checks the AI answers per product, next to your field rules. > **[AI Quality Review](/en/analytics/quality-review)** > > Let AI review your content and surface quality issues. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Track completeness and quality scores over time. > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > Channel rules first, quarantine second, feed third: the order 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. > [!NOTE] > > 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 ![WISEPIM Quality Guard quarantine holding non-compliant products before sync](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=612f547fbdc58a1dd29f1fbaf2dff6fb) 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 > [!TIP] > > 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. **1. Review the violations** Open the entry. Read the failed rules and conditions so you know what to change. **2. Fix the product data** 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. **3. Mark as resolved** 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). > [!WARNING] > > 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. > [!NOTE] > > 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 > **Missing EAN/GTIN** > > The top trigger for marketplace exports. Add or verify the barcode on each affected product. > **Description too short** > > The description falls below the required length. Use AI enrichment to write longer, better copy. > **No product images** > > Most channels reject products with no image. Upload at least one to release it. > **Missing translations** > > 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 > **[Quality rules](/en/quality-guard/rules)** > > Set up the rules that decide what passes and what gets blocked. > **[Audit log](/en/quality-guard/audit-log)** > > Track every resolve and bypass for full accountability. > **[Bulk editing](/en/essentials/bulk-editing)** > > Fix many products at once before you release them. > **[AI enrichment](/en/essentials/enriching-products)** > > Generate the missing content that caused the failure. # Question Checks Source: https://docs.wisepim.com/en/quality-guard/questions Ask WISEPIM a question about every product in your own words, map each answer to Flagged, Passed or Needs review, and recheck products as they change. ![Question checks in Quality Guard with overview tiles, Recommend questions and Create question buttons, and one active check with its results tabs](https://mintcdn.com/swiftsyncai/k8eHWZw09BmC2dLt/images/marketing-screenshots/quality-guard/quality-guard-questions-light-branded.webp?fit=max\&auto=format\&n=k8eHWZw09BmC2dLt\&q=85\&s=a0a7ff1b240b3fbcdccc927d55b4eebd) Quality rules check what can be measured: a field is empty, too short, or in the wrong format. Question checks cover what a rule can't, such as "Does the description contradict the product name or attributes?" You write the question, list the answers WISEPIM can choose, and decide what each answer means. WISEPIM then reads the evidence fields you picked on each product and saves an answer with a confidence score. **What this page enables:** you can catch contradictions, unsupported claims and unclear copy across your catalog without reading every product, and WISEPIM keeps the answers current as products change. **Where to find it:** go to **AI & Automation** > **Quality Guard** and open the **Questions** tab. > [!NOTE] > > These checks do not change the quality score or block exports. They show you where to look. To stop a product from exporting, use a [quality rule](/en/quality-guard/rules). ## The Question checks page The page header has three buttons: * **Field rules** opens the Rules tab. * **Recommend questions** suggests questions that fit your catalog. * **Create question** opens the question editor. ### Overview tiles | Tile | What it counts | | - | - | | **Questions** | Your questions, with how many are active and how many paused. | | **Flagged answers** | Issues found across all questions. | | **Needs review** | Answers waiting for a person. | | **Current answers** | How many checks are up to date. | ### Find a question Use **Search questions**, filter **Automatic checks** by **All questions**, **Active questions** or **Paused questions**, and **Sort by** **Original order**, **Needs attention first** or **Name (A to Z)**. Each question card shows its coverage, such as "3 of 3 products have current answers", counts per result, and the buttons **Edit question** and **Check now**. ### Saved answers Select a question to open its **Saved answers** panel: * **Refresh** reloads the results. **Pause checks** or **Resume checks** turns automatic checking off or on. * **Check now** asks WISEPIM to check the whole scope again: "Check requested. Results refresh automatically; unchanged answers are reused." * **How this check works** sums up the products, evidence and thresholds, for example "Flag at 85% confidence; pass at 85%." Status tabs split the results: | Tab | What it shows | | - | - | | **Needs attention** | Products that need review, changed since their check, or couldn't be checked. | | **All results** | Every product in scope. | | **Flagged** | Answers that match a flagged option and meet the flag threshold. | | **Needs review** | Missing evidence, confidence below the threshold, or an answer that always needs review. | | **Passed** | Answers that meet the pass threshold. A pass applies to this check only. | | **Not checked** | Products with no saved check yet. | | **Changed since check** | Products whose evidence changed. The answer shown belongs to the earlier evidence. | | **Check unavailable** | Checks that couldn't be completed, with the reason per product. | Narrow further with **Answer** (including **Not enough evidence**) and **Minimum confidence**. The table shows **Product**, **Answer**, **Status**, **Confidence**, **Last checked** and **Action**, 50 rows per page. Click **Open filtered products** to open the same products in your product list. > [!NOTE] > > Confidence reflects how sure WISEPIM is, not a guaranteed probability. ### Correct an answer If you can review answers, pick the right one under **Correct answer** and click **Save review**. You see "Review saved. This feedback will be used to evaluate the check." Your correction is a label for the check. It never changes the product. ## Create or edit a question ![Edit question dialog with example starters, the question and check name, answer options mapped to Flagged, Passed or Needs review, and the How WISEPIM decides and Try it on existing products panels](https://mintcdn.com/swiftsyncai/k8eHWZw09BmC2dLt/images/marketing-screenshots/quality-guard/quality-guard-question-editor-light-transparent.webp?fit=max\&auto=format\&n=k8eHWZw09BmC2dLt\&q=85\&s=0817d2fe6d4ad53104e78f0f39e05c62) Click **Create question**, or **Edit question** on an existing one. **1. Your question** Under **Start with an example**, pick **Contradicting specifications**, **Unsupported claims** or **Unclear intended use** to fill in a complete example, or write your own. Fill in **What should WISEPIM check?** (5 to 2,000 characters) and a **Check name** (up to 160 characters). The name shows in lists, product filters and analytics. **2. Answer options** List 2 to 10 different answers, **Answer 1**, **Answer 2** and so on, with **Add answer** for more. Give each a **Result**: **Flagged** highlights an issue, **Passed** means this check found no issue, **Needs review** always asks a person. A new question starts with "Yes" as Flagged and "No" as Passed. WISEPIM can always choose **Not enough evidence**. Those products need review and never automatically pass. **3. Choose products and evidence** Under **Which products?**, pick **All products** (including new ones) or **Selected products**, up to 1,000, with **Add products**. Under **Evidence to check**, tick the fields WISEPIM may read: Name, Description, Short description, Reviewed name, Reviewed description, Reviewed short description, Brand, Supplier, Attributes, Categories, Price, EAN, SKU, Meta title and Meta description. Name, Description and Attributes are ticked by default. WISEPIM reads only these fields. **4. Automation and confidence** **Automatically check changes** checks new and changed products without you asking. Turn it off to save the question as paused. **Also recheck when the quality score changes** runs the check again when a product's score moves (on by default). Under **Confidence thresholds**, set **To flag an issue** and **To pass**, each between 50% and 100% (85% by default). Answers below their threshold need review. **5. Test and save** The **How WISEPIM decides** panel updates as you edit answers and thresholds. Under **Try it on existing products**, choose up to 3 products, or let WISEPIM sample your scope, and click **Test with WISEPIM**. **Test results** are not saved. Click **Save question** when you're happy. ### What each answer becomes | WISEPIM's answer | Result | | - | - | | An answer mapped to Flagged, at or above the flag threshold | **Flagged** | | An answer mapped to Passed, at or above the pass threshold | **Passed** | | An answer mapped to Needs review | **Needs review** ("Answer requires review") | | Any answer below its threshold | **Needs review** ("Below confidence threshold") | | **Not enough evidence** | **Needs review** | | Too much evidence for one check | **Needs review** ("Selected evidence exceeds the check limit; choose fewer fields") | A product hits the evidence limit when it has more than 200 attributes, more than 100 categories, or more evidence text than one check can take (about 24 KB). Pick fewer fields if you see it. ## When checks run * When you save an active question, WISEPIM checks every product in scope. * When you click **Check now**. * When a product changes in one of the question's evidence fields. * When a product's quality score changes, if that option is on. Unchanged evidence reuses the saved answer, so only products that changed are checked again. Changing a threshold or an answer's result re-sorts the saved answers without a new check. Changing the question text, the answers, the evidence fields or the scope checks everything again. If the checking service is down, you see "WISEPIM question checks are currently unavailable. You can still save your setup." ## Recommend questions Click **Recommend questions** to get ready-made questions that fit your catalog. Everything in **Steer the recommendations** is optional: * **What do you want to check?** in your own words, up to 600 characters. * **Kinds of problems**: **Contradictions**, **Unsupported claims**, **Safety and compliance**, **Missing buyer information**, **Unclear use or audience** and **Misleading SEO copy**. * **Focus on categories** and **Focus on families**. * **How many ideas**: 3, 5 or 8. * **Start checking right away**. Off means added questions are saved as paused. WISEPIM reads your industry and the names of categories, attributes and families. Product content is not sent. For each idea, click **Review and edit** to open it in the editor, or **Add question** to add it as is. ## Limits and access | Limit | Value | | - | - | | Questions per project | 100. At the limit, **Create question** and **Recommend questions** disappear and you edit an existing question instead. | | Selected products per question | 1,000 | | Answers per question | 2 to 10 | | Test products | Up to 3 | Members who can only view see "You can view checks and filter results. An editor can create, change or run questions." ## Use the answers elsewhere * **Products**: the advanced filter **Question check** finds products by a question's status, answer and minimum confidence. * **Analytics**: the [Data Quality](/en/analytics/data-quality) page has a **Your question checks** card with the current saved answers and a **Manage questions** link back here. ## Act on what you find > **Many products land in Needs review with Not enough evidence** > > The evidence fields don't hold what the question asks about. Edit the question and tick more fields under **Evidence to check**, such as Attributes or Categories, or fill in the missing data on the products. > **Too many answers fall Below confidence threshold** > > Look at a few of them. If the answers are right, lower **To flag an issue** or **To pass** a little. Changing a threshold re-sorts saved answers without running new checks. > **A flagged product is actually fine** > > Use **Correct answer** and **Save review** so the check can be evaluated. Then rephrase the question to be more specific about what counts as an issue. > **You want to fix every flagged product** > > Open the **Flagged** tab and click **Open filtered products**. Work through them in the product list, or start an AI enrichment on the selection. > **You don't know what to ask** > > Click **Recommend questions** and leave everything empty for a broad first set. Add the ones that fit with **Start checking right away** off, test them, then turn them on. ## Related > **[Quality Guard Overview](/en/quality-guard/overview)** > > See how rules, scores and checks fit together in Quality Guard. > **[Quality Rules](/en/quality-guard/rules)** > > Set measurable standards that can block a product from export. > **[Data Quality Analytics](/en/analytics/data-quality)** > > Follow your question check answers next to the rest of your data quality. > **[Filtering & Searching Products](/en/products/filtering-products)** > > Filter products by a question check's status, answer and confidence. # 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. > [!NOTE] > > 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. > [!NOTE] > > Rules check fields. For a plain-language check the AI answers per product, such as "Does the description promise something the attributes do not back up?", use the **Questions** tab instead. See [Question Checks](/en/quality-guard/questions). ## Managing Your Rules ![WISEPIM Quality Guard rules list with severity and scope](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-rules-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=fc3c560d7946c5d36150af833ec95ffa) 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. Nothing is saved. * **Delete:** permanently remove a rule you no longer need. * **Edit:** open the rule builder to modify any aspect of the rule. > [!TIP] > > 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 ![WISEPIM Quality Guard AI rule generator that derives checks from best practices or competitor URLs](https://mintcdn.com/swiftsyncai/vEQswzAmpt_KnAac/images/marketing-screenshots/quality-guard/quality-guard-ai-rule-generator-light-branded.webp?fit=max\&auto=format\&n=vEQswzAmpt_KnAac\&q=85\&s=500fae6c3c52719fff54b7f3f728ee40) 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: > **Industry best practices** > > 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. > **From competitor URLs** > > 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. > [!TIP] > > 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 ![WISEPIM Quality Guard rule templates for common compliance checks](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-templates-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=c675e69a994c7cc4a2dd5ae2a37ed726) 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. > [!TIP] > > 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 ![WISEPIM Quality Guard rule builder configuring a meta-title length check with warn severity](https://mintcdn.com/swiftsyncai/k8eHWZw09BmC2dLt/images/marketing-screenshots/quality-guard/quality-guard-rule-builder-light-branded.webp?fit=max\&auto=format\&n=k8eHWZw09BmC2dLt\&q=85\&s=a29b542dedcaab4a0f863d630e7584bf) To create a rule from scratch, click **Create rule**. The rule builder walks you through four sections: **1. Basic Information** Give your rule a name and optional description. Choose whether the rule should be active immediately or saved as a draft. **2. Conditions** 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. **3. Scope** Choose which products the rule applies to: all products, specific categories, certain channels, or a price range. **4. Severity** 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 > **Basic Information** > > Product Name, SKU, EAN/GTIN, Brand, Supplier. Check for missing identifiers, required fields, and format validation. > **Content** > > Description, Short Description. Validate length requirements, required keywords, or forbidden content. > **AI Enrichment** > > Enriched Name, Enriched Description, Has Any Enrichment. Ensure products have been processed by AI before export. > **SEO** > > Meta Title, Meta Description, Meta Keywords. Enforce SEO best practices like character length limits. > **Pricing & Stock** > > Price, Sale Price, Stock Quantity, Weight. Validate pricing ranges, stock availability, and shipping data. > **Media** > > 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. > **Organization** > > Categories, Product Family. Ensure products are properly categorized before export. > **Translation** > > Has Translation, Translation Complete, Missing Translation. Verify localization readiness for international channels. > **Lifecycle & Freshness** > > Created date, Last updated, Last enriched, Last reviewed, Last exported. Flag stale products or those that have never been enriched or exported. > **Multi-field Checks** > > 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. > [!NOTE] > > 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. | > [!WARNING] > > 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. ## Test a rule before saving Until a rule is complete, the builder shows "Give the rule a name and complete at least one enabled condition. Check any values and scope before previewing or saving." The live preview says "The live preview shows up once your rule is complete.", and **Test rule**, **Preview** and **Save rule** stay disabled. Click **Test rule** to run the draft against a sample of your catalog. The result shows **Evaluated**, **Passed** and **Failed** counts, the pass rate and the **Sample failing products**, with the note "Tested on a sample of N products. Nothing is saved." Click **Clear** to drop the result and test again after you change the rule. Click **Preview** for a **Rule preview** summary of the conditions, scope, action and status in one place. Click **Continue editing** to go back to the builder. > [!NOTE] > > When your catalog data is not connected yet, the category and channel scopes are unavailable: "Category and channel scopes need connected catalog data. Choose all products or a price range for now." > [!NOTE] > > A condition with an input WISEPIM cannot evaluate fails instead of passing quietly. That covers a malformed regex pattern, a number that is not finite or overflows, and a date window that overflows. If a rule suddenly fails every product, check its values first. ## 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. > [!TIP] > > 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 > **[Quality Guard Overview](/en/quality-guard/overview)** > > Understand the dashboard, compliance score, and how Quality Guard fits your workflow. > **[Quarantine](/en/quality-guard/quarantine)** > > Review and resolve products held back by Block-severity rules. > **[Channel Rules](/en/quality-guard/channel-rules)** > > Manage quality rules organized by export channel. > **[Question Checks](/en/quality-guard/questions)** > > Plain-language checks the AI answers per product. > **[Audit Log](/en/quality-guard/audit-log)** > > 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 ![WISEPIM account settings with profile, language and security](https://mintcdn.com/swiftsyncai/54uPyrU751vep-LM/images/marketing-screenshots/settings/settings-account-light-branded.webp?fit=max\&auto=format\&n=54uPyrU751vep-LM\&q=85\&s=8cfe2f33aecf5210c6d3a7948864c28c) **1. Open Account settings** Go to **Settings > Account**, or click the Account card on the Settings hub. **2. Edit your name** Update your **First Name** and **Last Name**. This name appears in emails and anywhere your identity is shown in the platform. **3. Update your email** Change the **Email Address** field. This is also your login, so make sure you can access the new inbox first. **4. Save your changes** 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 | > [!NOTE] > > 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. > [!WARNING] > > Your email is your login. Make sure you can access the new inbox before you save, or you may lock yourself out. ## Report a problem Something broke? Click your **avatar** in the top-right corner and choose **Report a Bug** under *Support*. The dialog has two steps: **Describe the bug** and **Additional details**. Only the **Bug description** is required, but the more you fill in, the faster the fix. ![WISEPIM Report a Bug dialog with the description fields and a Files and screenshots area holding an attached CSV file](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/support-bug-report-attachments-light-transparent.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=e8175ca78bf26d9dc5400db3f14a0568) ### Files and screenshots Use the **Files and screenshots** area to attach evidence. Click **Add files**, drop files onto the area, or paste a screenshot anywhere in the dialog. A CSV or Excel file that fails to import is often the fastest way for the team to reproduce an import problem. * Up to 10 files, 100 MB each and 250 MB in total. * Accepted types: image, PDF, CSV, Excel, text, JSON, Word and ZIP. * Large files are included as secure download links in the email the team receives. * You can cancel an upload while it runs. If an upload fails, your files and description stay in the dialog so you can try again. ### What is attached automatically The **Additional details** step shows **Your environment (detected automatically)**: the URL, browser, device and operating system you were on. Recent console output and any failed network requests are attached too, with passwords, tokens and email addresses removed, so you do not have to dig them out of the developer tools yourself. ### After you send Click **Send bug report**. Your report becomes a ticket for the WISEPIM team. When the ticket moves, for example when the team marks it in progress, you get a notification in the app and by email so you know it is being looked at. ## Related > **[Security](/en/settings/security)** > > Change your password, set up two-factor authentication, and review active sessions. > **[Notifications](/en/settings/notifications)** > > Choose which updates reach you by email, in your browser, or with a sound. > **[Appearance](/en/settings/appearance)** > > Pick a theme, set the font size, and tune the interface to your taste. > **[Settings overview](/en/settings/overview)** > > Browse every personal and project setting in one place. # Automation Budget Settings Source: https://docs.wisepim.com/en/settings/ai-budgets Set a monthly credit limit for automations, imports and scheduled jobs, get a notice before it runs out, and see what automations spent this month. ![WISEPIM automation budget showing credits used by automations this month and the choice between no limit and a monthly limit](https://mintcdn.com/swiftsyncai/mhFSeqbOqnn6iTdk/images/marketing-screenshots/settings/settings-ai-budgets-light-branded.webp?fit=max\&auto=format\&n=mhFSeqbOqnn6iTdk\&q=85\&s=8c97576762f97d10f6ef85eadabaccd0) The Automation budget puts a ceiling on the credits that unattended work can use each month: workflow AI steps, enrichment after an import, scheduled enrichment and scheduled Catalog Jobs. Runs you start yourself are not affected. They always use your normal credit balance. **What this page enables:** you can let automations run freely without worrying that a busy month, a large import or a misconfigured workflow drains your credits. **Where to find it:** go to **Settings** and open **Automation budget** in the AI & Content group. The [AI review](/en/settings/ai-review) page links here from its header too. > [!NOTE] > > This is a cap, not an allocation. It does not set credits aside. Two other controls limit spending in different ways: monthly caps per team member in [Usage Settings](/en/settings/usage), and credit budgets per project in [Organization Settings](/en/settings/organization). ## This month The **This month** section shows what automations spent since the first of the month: * Without a limit: "120 credits used by automations" with "No limit is set, so automations can use any credits you have." * With a limit: "120 of 500 credits used" with a **Credits used this month** meter and a marker for your notice threshold, such as "Notice at 80%". ## Set a monthly limit Under **Monthly limit**, choose **Limit for automations**: | Option | What happens | | - | - | | **No limit** (default) | Automations can use any credits you have. | | **Set a monthly limit** | When automations reach the limit, they pause until next month and you get a notice. | With a limit, fill in two fields: | Field | What it does | Range | | - | - | - | | **Credits per month** | The cap for unattended work. 0 pauses AI work from automations. | 0 or more | | **Send me a notice at (%)** | One notice per month when automations reach this share of the limit. | 10 to 100, default 80 | WISEPIM shows a suggested amount, such as "Suggested: 1,000 credits, half of your plan's monthly credits." Click **Use 1,000** (or whatever amount is shown) to fill it in. The suggestion never applies itself. Save your changes. You see "Automation budget saved". Only project owners and admins can change the budget. ## What counts as automation | Counts toward the budget | Does not count | | - | - | | AI steps in workflows | Enrichment, translation or other runs you start yourself | | Enrichment that runs after an import | Catalog Jobs you start by hand | | Scheduled enrichment | | | Scheduled Catalog Jobs | | ## When the limit is reached WISEPIM checks the budget before it starts unattended work. If the estimated cost doesn't fit in what is left this month, the work is skipped and does not start. Work that is already running always finishes, so spending can end up slightly over the limit. You get two in-app notices at most per month: | Notice | When | | - | - | | "Your automation budget is nearly used" | Spending reaches your notice percentage. | | "Automations paused: monthly budget reached" | The limit is reached. The message tells you to raise the limit to keep automations running. | The budget resets on the first day of each calendar month. Refunds for failed work in the same month free up budget again. ## Act on what you find > **Automations paused in the middle of the month** > > Raise **Credits per month**, or switch to **No limit**, so the next automated runs can start. Runs you start yourself keep working in the meantime. > **You don't know what limit to set** > > Start with the suggested amount and keep the notice at 80%. Check what automations spent at the end of the month in [Usage Settings](/en/settings/usage) and adjust. > **You want to stop all automation spending for now** > > Choose **Set a monthly limit** and enter 0 under **Credits per month**. Runs you start yourself keep working. > **A teammate burns credits with manual runs** > > The automation budget doesn't cover manual runs. Set a monthly cap per member in [Usage Settings](/en/settings/usage) instead. ## Related > **[Usage Settings](/en/settings/usage)** > > See where credits go and cap spending per team member. > **[Organization Settings](/en/settings/organization)** > > Share one credit pool across projects and give each project a budget. > **[AI Review Settings](/en/settings/ai-review)** > > Decide which AI changes are saved right away and which wait for you. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Schedule catalog-wide jobs whose spending counts toward this budget. # 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 page showing personality presets, additional instructions, response style, and knowledge library options](https://mintcdn.com/swiftsyncai/8q0AtErHvY1-gg2M/images/screenshots/settings/settings-ai-chat.webp?fit=max\&auto=format\&n=8q0AtErHvY1-gg2M\&q=85\&s=8b5b0928f012e0fe21c0b8aa9efa4419) 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. > [!NOTE] > > 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. > [!TIP] > > 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 ![AI Chat settings showing Knowledge Library toggle, default language selector, and tool access categories](https://mintcdn.com/swiftsyncai/8q0AtErHvY1-gg2M/images/screenshots/settings/settings-ai-chat-tools.webp?fit=max\&auto=format\&n=8q0AtErHvY1-gg2M\&q=85\&s=8278dc8b60c2c551abb502aacbe67531) 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. > [!WARNING] > > 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 > **[AI Chat](/en/ai/ai-chat)** > > Chat with your catalog and make bulk changes in plain language. > **[WISECHAT Widget](/en/settings/wise-chat)** > > Configure the customer-facing chat widget for your storefront. > **[WISECHAT Analytics](/en/ai/wise-chat-analytics)** > > See what customers ask and where answers fall short. # AI Review Settings Source: https://docs.wisepim.com/en/settings/ai-review Choose which AI changes are saved right away and which wait in the Review inbox, for the whole project or per field, category and attribute. ![WISEPIM AI review settings with the project switch to review AI changes and a per-field table of review rules and suggestions](https://mintcdn.com/swiftsyncai/mhFSeqbOqnn6iTdk/images/marketing-screenshots/settings/settings-ai-review-light-branded.webp?fit=max\&auto=format\&n=mhFSeqbOqnn6iTdk\&q=85\&s=03b46d2f629b1df8a1bd39d89bf13dc2) AI review decides what happens when WISEPIM AI writes a value to your catalog: a title, a description, a category, an attribute value. By default AI changes are saved right away, with their source recorded so you can undo them. On this page you can make the whole project wait for your approval, or give single fields their own rule. **What this page enables:** you can let AI fill low-risk fields on its own while sending sensitive ones, such as prices or categories, to the [Review Inbox](/en/products/review-inbox) first. **Where to find it:** go to **Settings** and open **AI review** in the AI & Content group. The page used to be called Autopilot; old links to `/settings/autopilot` open this page. > [!NOTE] > > The header has shortcuts to **Automation budget** and **Review inbox**. You need edit rights on the project to change these settings. ## Project setting The **Project setting** applies to every field that has no rule of its own. It is one switch: **Review AI changes before they're saved** | State | What happens | | - | - | | Off (default) | AI changes are saved right away. AI work reaches your catalog without extra steps. | | On | AI changes wait in the Review inbox until you approve them. Fields with their own rule below follow that rule. | You see "AI review setting saved" once the change is stored. ## Fields The **Fields** section shows how each field is handled and lets you give a field its own rule. ### Read the table The **AI review per field** table lists **Category** first, then the product fields (Name, FAQs, Brand, Description, Short description, Meta title, Meta description, EAN, UPC, Manufacturer part number, Meta keywords, Long name, Handling instructions, Weight, Length, Width, Height, Country of origin, HS code, Dangerous goods, Fragile, Price and Special price), then your attributes. Use **Search fields** and filter **Field type** by **All fields**, **Product fields**, **Category** or **Attributes**. The table shows 50 rows per page. | Column | What it shows | | - | - | | **Field** | The field name and its kind: **Product field**, **Category** or **Attribute**. | | **AI review** | The rule in force: **Auto**, **Auto above** a percentage, or **Ask me**, plus where it comes from: **This field**, **Project setting** or **Default**. | | **Suggestion** | What your own review history suggests, for example "Auto above 92%, based on 40 reviews", "Ask me for now, only 5 reviews so far" or "Not enough reviews yet". Click **Use** to apply it. | ### Give a field its own rule **1. Open the editor** Click a field's rule to open **AI review for** that field. To change several at once, tick them and click **Change selected**. **2. Pick how AI changes are handled** Under **How AI changes are handled**, choose one: * **Use project setting**: follow the project switch. * **Auto**: AI changes are saved right away. * **Auto above**: changes the AI is sure enough about are saved, the rest wait for you. Set **Save when the AI is at least (%) sure**; new rules start at 90%. * **Ask me**: every AI change waits for you in the Review inbox. **3. Save** Click **Save**. You see "AI review updated for" the number of fields you changed. > [!NOTE] > > Changes without a confidence score always wait for you under **Auto above** and **Ask me**. ## How WISEPIM picks the rule For every AI change, the first match wins: 1. The field's own rule. 2. The project switch **Review AI changes before they're saved**, when it is on. 3. A Catalog Jobs run's own auto-accept setting, for changes from that run. 4. Otherwise **Auto**. When the project switch or any **Auto above** rule is on, WISEPIM also sends a small sample of automatic decisions (3%) to the Review inbox. Your verdicts on those keep the suggestions in the table honest. AI review applies to values written by AI and web research only. Values you type, import, or set through rules, formulas, parent products, standards or channels are never sent to review. ## The same setting elsewhere You can reach the same rules from other places in WISEPIM: * **Enrich Prompts**: "Whether AI changes wait for your approval is now set on the AI review page." with an **Open AI review** link. * **Product Categories**: **Product categorization policy** in the **More actions** menu opens this page. * **Attribute settings**: the **AI review for this attribute** section is "The same setting as on the AI review page." * **Review inbox**: the **AI review settings** link. * **AI categorization run**: under **What happens with the answers**, choose **Follow your AI review setting**, **Ask me for every answer in this run** or **Save sure answers in this run** with **Save answers at or above (%)**. If your setting asks you to approve category changes, a run can't save them right away. ## Act on what you find > **The Review inbox fills up faster than you can work through it** > > Check the **Suggestion** column. Fields where you accept almost everything often show "Auto above" with a percentage. Click **Use** to let those through and keep reviewing the rest. > **You want to approve every AI price change** > > Give **Price** and **Special price** the rule **Ask me**. Other fields keep following the project setting. > **You are onboarding a new catalog and want to see everything first** > > Turn on **Review AI changes before they're saved**. Once you trust the output for a field, give that field **Auto** or **Auto above**. > **Categorization runs save categories you didn't expect** > > Give the **Category** row **Auto above** with a higher percentage, or **Ask me**. Runs that follow your AI review setting then hold uncertain answers for review. ## Related > **[Review Inbox](/en/products/review-inbox)** > > Approve or reject the AI changes that wait for you. > **[Automation Budget Settings](/en/settings/ai-budgets)** > > Cap the credits automations can use each month. > **[Catalog Jobs](/en/products/catalog-jobs)** > > Run catalog-wide AI jobs with their own auto-accept setting. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > See the AI actions whose changes this page controls. # API Access Source: https://docs.wisepim.com/en/settings/api Create, rename and revoke project API keys for the WISEPIM Public API and the Category Finder API, choose least-privilege permissions, and find the developer docs. ![WISEPIM API access settings with a sample authenticated request for programmatic catalog access](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-api-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=5bae3942762e1e9a9b358b1977bcfe77) API Access is where you create the keys your own code uses to talk to WISEPIM. A key lets an ERP, a storefront or a sync script read and update one project's catalog through the [WISEPIM Public API](/en/api-reference/introduction), and it also works with the [Category Finder API](https://wisepim.com/developers/api/category-finder). **Where to find it:** **Settings > API Access**. The page header reads "Create API keys for the WISEPIM public API and the Category Finder API." and the **View API documentation** button opens the developer docs. > [!NOTE] > > API Access depends on your plan. If the page shows a locked preview instead of the key list, your plan does not include it yet; the note on the page points at the upgrade. Compare plans on the [pricing page](https://wisepim.com/pricing). ## What a key can do Every request to the Public API sends a key as a bearer token: ```bash theme={null} curl https://wisepim.com/api/public/v1/products \ -H "Authorization: Bearer wpk_..." ``` Three rules shape every key: * **One project.** A key belongs to the project you were in when you created it and can never reach another project. * **Fixed permissions.** You pick the permissions at creation and they cannot be widened later. Need more? Create a new key. * **Acts on your behalf.** The key carries the access of the person who created it. If that person loses access to the project, or is deactivated, the key stops working on the next request. ## Create a key Only **project owners and admins** can manage keys. Other members see the message "Only owners and admins can manage API keys" and have to ask an owner or admin to create one. **1. Pick the project** Keys belong to a project, so switch to the right one in the project switcher first. **2. Open API Access** Go to **Settings > API Access** and click **Create API key** in the **API keys** panel. **3. Name it and choose permissions** Use a name that says which system will hold the key, such as *ERP price sync*. Then tick the permissions it needs: | Permission | What it allows | | - | - | | **Project: read** | The project's name, languages and limits | | **Products: read** | Products with attribute values and category links | | **Products: write** | Update names, descriptions, identifiers and SEO fields | | **Categories: read** | The project's category tree | | **Attributes: read** | The project's attribute definitions | **Products: write** is only offered when you can edit the project yourself. **4. Copy the key** The full key is shown **once**, right after you create it. Copy it into your secrets manager before you close the dialog; afterwards the list shows only the key's prefix. **5. Test it** Call `GET /me` with the new key. It returns the key's name, permissions and rate limit, and the project it is bound to, so you know the integration is pointed at the right catalog. > [!TIP] > > Give each integration its own key. When one system is retired or a key leaks, you revoke that single key and nothing else breaks. ## Limits * A project can hold **25 active keys**, and one person can hold **10 active keys** in a project. The panel shows both counts, for example "3 of 25 active keys in this project." Revoked and expired keys do not count. * Each key may send **600 requests per minute** by default. The response headers `X-RateLimit-Remaining` and `X-RateLimit-Reset` show where you stand; above the limit the API answers `429` with a `Retry-After`. Support can raise the limit for a key when a sync needs it. ## Manage existing keys Every row in the **API keys** panel shows the key's prefix under **Key**, its **Permissions**, who created it and when, and **Last used** (or "Never used"). The state badge reads **Active**, **Revoked** or **Expired**. * **Rename** changes the label only. Nothing about the credential changes. * **Revoke** disables the key immediately. Revoked keys stay in the list so you can see who created what, and they free up a slot. * To rotate a key you suspect has leaked: create a new key with the same permissions, switch your integration to it, then revoke the old one. > [!WARNING] > > Treat a key like a password. Send it from your server only, never from browser code or a public repository, and keep it out of source control. Check **Last used** now and then and revoke keys nobody uses anymore. ## Developer docs The **Developer docs** card on the page links to the **Quickstart**, **Authentication** and **Category Finder API** pages of the [developer portal](https://wisepim.com/developers). The full endpoint reference, with request and response schemas and a playground, lives in the [API reference](/en/api-reference/introduction) of these docs, and the [OpenAPI spec](https://docs.wisepim.com/openapi.json) can be imported into Postman, Insomnia or a code generator. The **Category Finder API** returns the Google product category for product titles. Every live key works with it; a key allows up to 20 titles per request and 100 per day. ## Related > **[API reference](/en/api-reference/introduction)** > > Base URL, paging, errors, rate limits and every endpoint with a playground. > **[Authentication and scopes](/en/api-reference/authentication)** > > How keys are checked on every request and what each permission grants. > **[Connected Apps](/en/settings/connected-apps)** > > Let an AI assistant reach your catalog through a scoped, revocable connection instead of a key. > **[Integration settings](/en/settings/integrations)** > > Connect e-commerce platforms when you would rather not write code. > **[Security settings](/en/settings/security)** > > Protect your account and review where it is signed in. > **[Settings overview](/en/settings/overview)** > > 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 theme and font size, turn UI effects on or off, and choose the Stable or Experimental Catalog menu. Set how WISEPIM looks and feels so it is easy on your eyes during long product sessions. Pick a theme, choose a font size, toggle a few interface effects, and choose which Catalog menu you see. Every change applies right away. **Where to find it:** **Settings** > **Personal** > **Appearance**. ## Pick a theme ![WISEPIM appearance settings with theme and density controls](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-appearance-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=45cf5f1dcc6fe340b422b261162b64ab) WISEPIM ships with several dark and light themes. Click a theme card to apply it instantly. There is nothing to save. > [!TIP] > > 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 | | **Use pointer cursor** | Shows a hand cursor over clickable elements. Turn it off for the default cursor | ## Choose the interface version **Interface version** decides which **Catalog** menu you see in the top bar. Pick one of two cards. Some entries only show when the matching tool is switched on under Workspace Features. ![Appearance settings with the Interface version cards Stable, selected, and Experimental below the font size and interface effects](https://mintcdn.com/swiftsyncai/mhFSeqbOqnn6iTdk/images/marketing-screenshots/settings/settings-appearance-interface-version-light-branded.webp?fit=max\&auto=format\&n=mhFSeqbOqnn6iTdk\&q=85\&s=7476ec3e2819409a9358895f9a41ab14) | Version | What you get in the Catalog menu | | - | - | | **Stable** (default) | "The familiar menu, with all tools in one list.": **All Products**, **Catalog Jobs**, **Product Categories**, **Product Attributes**, **Option sets**, **Classification**, **Units of Measurement** and **Discounts** | | **Experimental** | "Explore the new menu and Catalog structure.": a **Work with products** group with **All Products**, a **Catalog setup** group with **Catalog structure** (**Product Categories**, **Product families**, **Product fields**, **Option sets**) and **Standards, units & pricing**, then **Review inbox** and **Catalog Jobs** | Only the Catalog menu changes. Your products, settings and data stay the same in both versions. In Experimental, the **Catalog** item in the top bar also shows a dot when AI suggestions wait in the Review inbox. > [!TIP] > > You can switch without opening Settings. Open the command menu with Ctrl K (⌘ K on a Mac) and run **Switch to Experimental** or **Switch to Stable**. > [!NOTE] > > Appearance preferences, including the interface version, save in this browser and apply right away. They stay set across sessions in the same browser. On another browser or device you start with the defaults. ## Act on what you find > **I can't find Catalog structure or the Review inbox in the menu** > > Both entries only show in the Experimental interface. Switch **Interface version** to **Experimental**, or run **Switch to Experimental** from the command menu. > **My menu looks different on my laptop than on my work computer** > > The interface version is saved per browser. Pick the same version on each browser you use. > **Text is too small or too large** > > Change **Font size** to Small, Medium or Large. Smaller sizes fit more on screen. ## Related > **[Account Settings](/en/settings/account)** > > Update the name and email tied to your WISEPIM login. > **[Interface Language](/en/settings/language)** > > Set the interface language for your account. > **[Command Menu](/en/essentials/command-menu)** > > Jump to any page or action with one keyboard shortcut. > **[Catalog Structure](/en/products/catalog-structure)** > > Set up families, categories and product fields from the Experimental Catalog menu. > **[Settings Overview](/en/settings/overview)** > > 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. Change or resume your plan, buy credit packs, update your payment method and download invoices. ![WISEPIM billing, plan and credit usage](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-billing-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=a5f05c74cefc3ff1bd7caf54b61d9d62) 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. > [!NOTE] > > 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. **Where to find it:** go to **Settings** > **Billing** in the Personal group. ## 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, with **Annual** or **Monthly** billing | | **Next renewal** | When your plan renews and what it costs. It reads **Access until** when your plan is ending | | **Payment method** | **Saved payment method**, **None saved yet**, **Billed through Shopify** or **Managed in Stripe** | | **AI credits this cycle** | How many of this cycle's credits you have left | A chip next to the plan name tells you where your subscription stands: | Chip | Meaning | | - | - | | **Active** | Your plan runs and renews automatically. | | **Cancels on `{date}`** or **Cancelling** | You cancelled. The plan stays active until that date. | | **Payment overdue** | We couldn't collect your last payment. | | **Changes to `{plan}` on `{date}`** | A downgrade or switch is booked for your next renewal. | | **Ended** | Your paid plan has ended. | | **Free plan** | You are on Free. | ### Plans at a glance Every plan includes every language WISEPIM supports. Languages are no longer part of the price: more languages simply use more of your credits. | Plan | Products | AI credits per month | | - | - | - | | **Free** | 100 | 50 | | **Lite** | 500 | 2,000 | | **Starter** | 1,000 | 4,000 | | **Starter Plus** | 2,500 | 10,000 | | **Growth** | 5,000 | 20,000 | | **Growth Plus** | 7,500 | 30,000 | | **Business** | 10,000 | 40,000 | | **Business Plus** | 15,000 | 55,000 | | **Scale** | 20,000 | 70,000 | | **Scale Plus** | 30,000 | 100,000 | | **Pro** | 40,000 | 120,000 | | **Pro Plus** | 50,000 | 150,000 | > [!NOTE] > > **Lite** is the entry-level paid plan: €149 a month, or €119 a month billed yearly, excl. VAT. It has the same features as Free, with room for more products and credits. On an annual plan you get the whole year's credits upfront. When a feature is locked, the hint in the app names the cheapest plan that unlocks it, for example **Business** for **Pricing & Margins**. ### When a payment fails If a renewal payment fails, the chip shows **Payment overdue** and a callout asks you to update your payment method. **1. Grace period** For 7 days your plan and its features keep working. The callout tells you the date to fix it by. **2. Paid features pause** After the grace period your account works like the Free plan until the next paid renewal. Your data is kept. **3. Update your payment method** Click **Update payment method**. Once the open payment is settled, your paid features come back. > [!WARNING] > > While a payment is open you can't buy another plan on top of it. Settle it under **Update payment method** first. ## 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, and shows how fast you use them. > [!TIP] > > 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 | | **Product FAQs** | 1 per product | | **Category enrichment** and **Category translation** | 1 per category, per language | | **Option label translation** | 1 per batch of up to 50 labels, per language | | **Linguistic review** | 1 per reviewed product, per language | | **Feed optimization** | 1 per title or description. Products unchanged since the last run are free | | **Feed AI audit** | 1 per audit | | **Dictionary AI** | 1 per batch of up to 50 terms, or per pasted text | | **Keyword suggestions** | 1 per run with AI | AI auto-mapping and the AI product filter stay free. > [!NOTE] > > Failed translations are refunded automatically, per product and per language, at the rate you were charged. When an action needs more credits than you have, WISEPIM refuses it before it starts and tells you the gap, for example "Not enough credits: this needs `{needed}` and you have `{available}`." For larger runs a dialog opens: * Owners see **You're out of AI credits**, with **Upgrade plan** and **Buy credits**. * Team members see **Your team is out of AI credits**, with **Ask your admin**. The dialog shows the shortfall: "This run needs `{missing}` more credits (`{needed}` needed, `{available}` left)." > [!WARNING] > > 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. > [!TIP] > > 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. **1. Open Buy extra credits** The section sits on the billing page, under your plan. **2. Pick a pack size** Each pack shows its price per 1,000 credits, so you can compare sizes at a glance. **3. Click Buy** A **Buy `{credits}` credits?** window shows the **Price excl. VAT**, the VAT and the **Total incl. VAT**. **4. Pay** With a saved payment method you are charged right away, without a redirect. Otherwise you continue to Mollie's secure checkout and pay with iDEAL, card or SEPA direct debit. > [!NOTE] > > 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. > [!NOTE] > > 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 ![WISEPIM plan comparison and upgrade page with feature tiers](https://mintcdn.com/swiftsyncai/lcqwGzyvnHeZm8_9/images/marketing-screenshots/settings/upgrade-light-branded.webp?fit=max\&auto=format\&n=lcqwGzyvnHeZm8_9\&q=85\&s=17390295f4b108575ee87746c0bbb8a1) 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. Prices are shown excl. VAT and billed in EUR. Nothing is charged until you pass the **Review and pay** step. It shows what is due today, minus a **Credit for your current plan**, the VAT, and what you pay from your next renewal. With a saved payment method you click **Confirm and pay**. Otherwise **Continue to pay** takes you to Mollie. > [!NOTE] > > 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. Downgrades and switches to monthly billing take effect at your next renewal, and nothing is charged today. > [!NOTE] > > Your plan billed through Shopify? Pick a plan in WISEPIM, approve it on Shopify's plan page, and come back with it active. Cancel from your Shopify admin. > [!TIP] > > 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}` plan?") lists what you lose, so nothing comes as a surprise. > [!NOTE] > > Cancelling does not cut you off straight away. Your plan stays active until the end of the period you already paid for, and your remaining credits stay usable until then. After that you move to the Free plan. Changed your mind? As long as the period has not ended, click **Resume subscription**. Your plan renews as before and nothing is charged now. You can't resume while a payment is overdue: settle it first. ## Add-ons and trials The **Add-ons and trials** card lists features you can use on top of your plan. Each one is marked **Trial**, **Add-on** or **Included for you**, with its end date. When a trial ends, the feature goes back to your plan. Nothing you set up is lost. ## If a payment can't be confirmed After you pay at Mollie, WISEPIM waits for Mollie to confirm. Bank transfers and SEPA can take a few minutes. If WISEPIM can't switch your plan on, you see **We couldn't confirm your plan**. > [!WARNING] > > Don't pay again. Your payment may have gone through. Click **Check again** after a minute, or contact support and we sort it out. ## 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 > **[Usage Settings](/en/settings/usage)** > > See where your credits go and how fast you use them. > **[Security Settings](/en/settings/security)** > > Protect the account that owns your billing with a strong password and 2FA. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > See what each enrichment type does before you spend credits on it. > **[Process Tracker](/en/other-features/process-tracker)** > > Watch running tasks, and resume the ones that stopped without paying twice. # Attribute Scope Settings Source: https://docs.wisepim.com/en/settings/catalog-structure Choose whether products get their attributes from families, categories or both, set a default family per category, and assign families in bulk. ![WISEPIM Catalog structure settings with Use attributes from set to Families and categories, a When are families useful aside, steps to assign families in Products and the Category default families section](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-catalog-structure-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=7cddb59f531d9dd0f30b5b75af7b4a27) Attribute scope decides which attributes a product shows and asks for. They can come from the product's [family](/en/products/product-families), from its [categories](/en/other-features/managing-categories), or from both. The page is titled **Catalog structure settings**: "Choose where product attributes come from. Assigning families to products is a separate step." **What this page enables:** you can match WISEPIM to how your shop is organized, give categories a default family so products without one still get the right fields, and see how many products have no family yet. **Where to find it:** go to **Settings** > **Attribute scope** in the Catalog & Data group. It is also the **Settings** tab of [Catalog Structure](/en/products/catalog-structure), next to **Overview**, **Guided setup** and **Change history**. > [!NOTE] > > Changing the attribute scope or a category's default family needs the owner or admin role. Assigning families to products needs edit access. ## Choose where attributes come from Under **Which attributes should products use?**, pick a value for **Use attributes from**: | Option | What a product gets | | - | - | | **Families** | The attributes of its family, including attributes inherited from a parent family. | | **Categories** | The attributes from its categories and their default families. | | **Families and categories** | The attributes from both its family and its categories. | A chip shows where the current value comes from: **Saved choice** (someone saved it), **Recommended default** (WISEPIM picked it for your catalog) or **Default**. Changing the scope only changes which attributes are shown. Existing attribute values stay stored, even when they fall outside the new scope. **1. Pick an option** Choose **Families**, **Categories** or **Families and categories**. **2. Check sample products** Click **Check sample products**. Each sample shows how many attributes apply under your choice, for example "Blue T-shirt: 12 applicable attributes". **3. Save** Click **Save attribute choice**. To go back to WISEPIM's pick, click **Use the recommendation**. ### What WISEPIM recommends The recommendation is based on your catalog and your connected platform: | Reason shown | Recommendation | | - | - | | "Your connected platform uses attribute sets, so families are a useful starting point." | Families, for platforms such as Magento and Lightspeed. | | "Most products already have a family." | Families, when at least half your products have one. | | "Your connected platform organizes products mainly by category." | Categories, for Shopify or WooCommerce shops where fewer than 1 in 10 products have a family. | | "This catalog uses both families and categories." | Families and categories. | ### When are families useful? The aside on the right explains: "Use a family when similar products need the same attributes." It also shows how many products have no family. That is fine: "A family is optional. These products can use category attributes instead." Click **Guided catalog setup** to get family suggestions for your products. ## Assign families in Products Assigning a family is a separate step from choosing the scope. The page walks you through it: **1. Select products** Click **Open Products** and select up to 500 products. **2. Open Bulk edit** Click **Bulk edit**. **3. Assign the family** Choose **Assign product family**, pick the family, check the preview and apply. Existing attribute values stay stored, even when they are outside the new family. The assignment is recorded as one run in the change history, so you can undo it. See [Catalog Structure](/en/products/catalog-structure#family-runs). ## Category default families Open **Category default families** to give a category a family of its own. Products without a family then get that family's attributes through the category. A family assigned to the product always wins. **1. Save the category's default** Pick a **Category** and a **Default product family**. Or choose **Use the parent category's default** to inherit it. Click **Save category default**. **2. Assign it to existing products (optional)** Click **Preview existing products** to see up to 500 products in this category and its children that have no family. Click **Assign family to these products** to give them the default family. > [!NOTE] > > Saving a default changes the category rule. It doesn't assign a family to products, also not during import. Only the products in the preview get the family, and only when you apply it. ## Keep a record of structural changes Changes to category defaults, families and attributes are recorded. Click **View change history** to see them and undo what you need. See [Catalog Structure](/en/products/catalog-structure#change-history). ## Act on what you find > **Products show attributes that don't belong to them** > > You probably use **Families and categories** while your categories carry broad attributes. Switch to **Families** and click **Check sample products** to compare the attribute counts before you save. > **Most of your products have no family** > > If your shop is organized by category, switch to **Categories** and give your main categories a default family. If you prefer families, run **Guided catalog setup** with **Only products without a family** ticked. > **New imports don't get a family** > > That is expected: a category default doesn't assign a family to products. With **Categories** or **Families and categories**, the products still get the default family's attributes through their category. To assign the family itself, use **Preview existing products** or **Bulk edit** > **Assign product family**. > **You can't save the setting** > > Changing the scope needs the owner or admin role. Ask a project owner or admin, see [Team Management](/en/teams/team-management). ## Related > **[Catalog Structure](/en/products/catalog-structure)** > > Structure gaps, guided setup and change history. > **[Product Families](/en/products/product-families)** > > Create families and the attributes they share. > **[Managing Product Categories](/en/other-features/managing-categories)** > > Build the category tree your defaults hang on. > **[Managing Product Attributes](/en/other-features/managing-attributes)** > > Create the attributes families and categories use. # Connected Apps Source: https://docs.wisepim.com/en/settings/connected-apps Let ChatGPT, Codex, Claude or a browser agent work with your catalog, choose whether its changes need your approval, and revoke or pause access at any time. ![WISEPIM Connected apps page with a ChatGPT connection, its permission chips, the Require approval before changes switch, connection dates and Revoke access](https://mintcdn.com/swiftsyncai/G8i5fBns56WIlI_y/images/marketing-screenshots/settings/settings-connected-apps-light-branded.webp?fit=max\&auto=format\&n=G8i5fBns56WIlI_y\&q=85\&s=f291c2f428366ae675bcdbb392b41289) Connected apps are AI assistants that talk to WISEPIM on your behalf. Connect [ChatGPT or Codex](/en/integrations/chatgpt) or [Claude](/en/integrations/claude) once, and you can ask it about your catalog and have it enrich, translate and clean up products through WISEPIM's own pipelines. A connection covers exactly one project and carries exactly the permissions you approved. Within those limits the assistant applies changes itself, so you can hand it a job without clicking through every step. If you would rather read each change first, switch on approval for the connection: every change then waits in WISEPIM as a proposal until you approve it. **Where to find it:** the page lives at **Settings > Connected apps**. Every connection and review screen links to it as **Manage connected apps**. > [!NOTE] > > This is the reverse of [Feed Hub's ChatGPT Shopping channel](/en/essentials/feed-hub). Feed Hub pushes your products *out* so shoppers can find them. Connected apps let an assistant reach *in* to the catalog you work on. ## Connect an assistant You start from the assistant, not from WISEPIM: "Open the WISEPIM connection in ChatGPT or Codex and choose Connect. Sign in to WISEPIM, choose a project, and review the requested permissions." Claude works the same way: in Claude Code you add the WISEPIM server and sign in through `/mcp`. The setup for each assistant is on [ChatGPT](/en/integrations/chatgpt) and [Claude](/en/integrations/claude). ![WISEPIM consent screen for an assistant connection with the requested permissions, a project to choose, the Require approval before changes switch and Deny access and Allow access buttons](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-consent-light-branded.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=9f694a35e02bf9bbc6f72543ed3ae9d3) The consent screen is where you decide what the assistant gets: **1. Check who is asking** The top of the card names the assistant and the account it would connect to, so you can spot a request meant for a different login. **2. Read the requested permissions** Each permission is listed with a plain-language description of what it allows. Nothing outside this list is granted. **3. Choose a project** Pick exactly one: "Only this project will be accessible through this connection." Your other projects stay invisible to the assistant. **4. Decide whether changes need your approval** When the request includes a permission that changes your catalog or starts jobs, the card offers **Require approval before changes**. It is off by default: "Your assistant can apply changes and start jobs within the permissions you grant. WISEPIM still checks access, data freshness and credits." Switch it on and every change waits for your approval in WISEPIM: "Review each exact proposal in WISEPIM before your assistant can apply it." You can change this later on the Connected apps page. **5. Allow or deny** **Allow access** returns you to the assistant, connected. **Deny access** ends it there. > [!NOTE] > > When a request includes a permission that writes, only projects you can edit are offered: you are the owner, an admin or editor, or have a custom role that can edit products. If none qualify: "No projects are available with the requested permissions. You can deny this request and ask your administrator for access." ### The permissions an assistant can ask for | Permission | What it allows | | - | - | | **Read catalog** | Search products and view product data. | | **Change catalog** | Prepare and apply product changes according to this connection’s approval setting. | | **Read quality information** | View quality scores and missing product information. | | **Read task status** | Check progress and results of project tasks. | | **Read project settings** | View configuration for the selected project. | | **Change project settings** | Change configuration for the selected project. | | **Read prompts** | View reusable prompts available to the project. | | **Change prompts** | Create and change reusable project prompts. | | **Read analytics** | View project analytics and suggestions. | | **Start enrichment** | Start native WISEPIM enrichment jobs using your saved configuration. | | **Start product research** | Research selected products on the web using the granted permissions. | | **Start catalog jobs** | Run catalog improvement jobs without publishing products. | | **Identify account** | Link this connection to your WISEPIM account. | | **Read email address** | Read your account email address. | A permission is the ceiling of what an assistant can do, and **Require approval before changes** decides whether you sit between the assistant and your catalog. Your role still applies: a permission never lets an assistant do more than you can, and WISEPIM checks your role again on every request. If an assistant needs a new permission later, you reconnect and approve it. ## Review what an assistant wants to change ![WISEPIM Review assistant changes page with an Awaiting review proposal, the action to authorize, estimated credits, and a product shown by name with a German-flagged field and current and proposed values](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-review-light-branded.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=54f77ecf0c9e0184e79a7ccd7a3ff8a9) Every change an assistant makes starts as a proposal: a frozen record of the exact products, fields, languages, prompt, settings and credit estimate. With approval off, the assistant applies the proposal straight away, and the review link shows you what was applied. With approval on, the assistant sends you the link and waits: "Inspect the exact proposal and its execution permission." The review page shows the whole thing, never a summary: * **The project and a status chip**, plus a line telling you what to do next. * **The action to authorize**, its target, and an estimated credit cost ("Estimated WISEPIM credits: 120"). If the estimate cannot be worked out, it says so rather than guessing. * **Every affected product** by name and image, never by a bare id, and per field a side-by-side **Current value** and **Proposed value**, with a flag for the language of each translated field. * **An expiry date.** A proposal expires one hour after the assistant creates it, or sooner if the connection expires first. When approval is on, **Approve this proposal** or **Reject proposal** finishes your part. > [!WARNING] > > With approval on, approval is not application: "Approval covers exactly this proposal. Your assistant must then apply it before it expires. Approval alone does not change your catalog." Go back to the assistant and let it finish the job. ### What each status means | Status | What it means | | - | - | | **Awaiting review** | Read the proposed changes and decide. | | **Approved** | Return to your assistant and ask it to apply it. | | **Applied** | The changes have landed. For a job, it has started; check its progress in the assistant. With approval off, proposals go straight to this status. | | **Rejected** | Turned down, and it cannot be applied. | | **Expired** | Ask the assistant for a new preview. | | **Needs a new preview** | The source data changed underneath the proposal, so ask for a fresh one. | That last status is the important one: a proposal is tied to the exact data you looked at. If a product moves while you are reading, WISEPIM refuses to apply stale content and makes the assistant produce a new preview. ## Manage and revoke connections Every connection on the page shows the assistant, the project it reaches, its permission chips, and three dates: **Connected**, **Expires**, and **Last used** (or "Not used yet"). Connections expire on their own; you do not have to clean them up by hand. To end one early, click **Revoke access** and then **Confirm revocation**. WISEPIM spells out the consequences first: "This stops new requests and invalidates pending approvals for this connection. Existing catalog data stays in WISEPIM." > [!TIP] > > **Last used** is the field to scan. An assistant you experimented with months ago and never touched again is worth revoking, even though it would expire eventually. Revoking is per connection, not per assistant. If you connected the same assistant to two projects, revoke each one separately. ### Switch approval on or off Each connection card has a **Require approval before changes** switch. It is off for a new connection unless you switched it on at the consent screen. Switch it on and the assistant stops at every change and sends you a review link. Switch it off and it applies changes within its permissions on its own. The assistant learns the current setting with every preview it makes, so a change here applies from its next request; the page confirms with "Approval setting saved". The switch is disabled for everyone else: "Only the connection owner with project edit access can change this setting." ## Browser agents Some browsers have an AI agent built in. With **Browser agents** switched on, that agent can use WISEPIM in your open tab as you: search, edit and enrich your catalog. It works through WebMCP, an open browser standard, so there is nothing to connect or install in WISEPIM. It can only do what you can do yourself. **Browser agents** is a tool on the [Workspace Features](/en/settings/features) page: "Let AI agents in your browser work in WISEPIM for you." It is on by default. Switch it off to keep agents out of this workspace for everyone on the project. ### See what the agent is doing While an agent is active, a button in the bottom-left corner shows its state: | Indicator | Meaning | | - | - | | **AI agent connected** | An agent in this browser can use WISEPIM | | **AI agent working** | The agent is running an action right now | | **Agent plan active** | You approved a plan, so some changes run without asking | | **Agent access paused** | You paused the agent. It can't do anything until you resume | Click it to open **AI agent activity**. **Recent agent actions** lists each action with its result: **Done**, **Failed**, **Declined** or **Approved by plan**. Use **Pause agent access** to stop the agent at once, and **Resume agent access** to let it continue. ### Approve each change Looking things up never asks you. Every change waits for you in a WISEPIM dialog titled "AI agent: " followed by the action, with **Approve** and **Decline**. The dialog says which tool asked. If you have unsaved edits to the same product open in the editor, it warns you with **Unsaved edits**: saving the editor later may overwrite the agent's change. ### Approve a plan For a job with several steps, the agent can ask once with "Approve a plan with N steps" instead of one dialog per change. The dialog lists the goal and each step, plus these limits: | Limit | What it means | | - | - | | **Changes without asking** | Up to 25 changes the agent can make without a new dialog | | **Credit limit** | The most credits the plan may spend. Without one, anything that uses credits still asks you | | **Valid for** | 15 minutes by default, at most 30 minutes, or until you revoke it | | **Still asks you** | Deletes, changes that can't be undone, team access, sharing, connections and anything outside the plan | While a plan runs, the activity panel shows how many changes and credits it used and how many minutes are left. Click **Revoke plan** to end it early. A plan also ends when you pause agent access or switch projects. > [!WARNING] > > A browser agent acts as you. Only approve plans whose goal and steps you have read, and keep the credit limit close to what the steps need. ## Act on what you find > **An assistant connection I no longer use is still listed** > > Click **Revoke access** on that connection, then **Confirm revocation**. > **An assistant applied a change I wanted to see first** > > Switch on **Require approval before changes** for that connection on this page. From the next request on, every change waits for you as a proposal. The review link for the change that already landed shows exactly what was applied, so you can correct it in WISEPIM. > **A proposal shows Needs a new preview** > > The product data changed after the assistant made the proposal. Ask the assistant for a fresh preview and review that one. > **A browser agent is doing something I didn't expect** > > Click the agent indicator and choose **Pause agent access**. If a plan is active, click **Revoke plan**. To block browser agents for the whole project, switch off **Browser agents** in Workspace Features. ## Related > **[ChatGPT](/en/integrations/chatgpt)** > > Connect the WISEPIM app in ChatGPT or Codex, and what it can do. > **[Claude](/en/integrations/claude)** > > Connect Claude Code or the Claude apps over MCP. > **[API Access](/en/settings/api)** > > Connect your own code to the catalog through the REST API. > **[Security Settings](/en/settings/security)** > > Password, two-factor authentication, and active sessions. > **[Workspace Features](/en/settings/features)** > > Switch Browser agents and other tools on or off for this workspace. > **[Data & Privacy Settings](/en/settings/data-privacy)** > > What WISEPIM stores, exports, and deletes for your account. > **[AI Chat](/en/ai/ai-chat)** > > The assistant built into WISEPIM, for when you would rather stay in the app. # Data & Privacy Settings Source: https://docs.wisepim.com/en/settings/data-privacy Download a JSON copy of your personal data, check your analytics preference, or delete your account with a 14-day window to change your mind. Data & Privacy settings put you in charge of your own data. Download a copy of your personal data, and delete your account when you want to leave. **Where to find it:** go to **Settings** > **Data & Privacy** in the Personal group. ## Usage analytics ![WISEPIM Data & Privacy settings with the Usage Analytics switch marked Coming soon, the personal data export and the Danger Zone](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-data-privacy-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=1bed42bdb5d048cf133e3c78596196ee) The **Usage Analytics** switch is marked **Coming soon**. You can't change your analytics preference on this page yet, and nothing is saved from it. ## Export your personal data Download a copy of the personal data WISEPIM holds about you. Use it as a personal backup or to meet a data portability request. **1. Open Data & Privacy** Go to **Settings** > **Data & Privacy**. **2. Click Export my data** Under **Download your personal data**, click **Export my data**. **3. Save the file** Your browser downloads a JSON file straight away. Nothing is emailed. The file holds your account, profile, onboarding answers, free tool results, plan and invoice list. It does not include payment details. > [!NOTE] > > Product data is not part of this export. Export it from **Products** in each project, see [Exporting Products](/en/essentials/exporting-products). > [!NOTE] > > You can export up to 5 times per hour. After that you see "You exported your data several times in the last hour. Try again later." ## Delete your account **Delete my account** sits in the **Danger Zone** at the bottom of the page. It deletes your account, the projects you own with their product data, your profile and your free tool results. You have 14 days to cancel. > [!WARNING] > > You can't delete your account while you have an active subscription, or while other people use organizations or projects you own. Cancel your plan in [Billing](/en/settings/billing) first, and transfer ownership or remove those members. **1. Click Delete my account** A **Delete your account?** window explains what happens next. **2. Confirm it is you** Enter your **Password**. Sign in with Google or LinkedIn? Choose **I sign in with Google or LinkedIn** and type the email address of your account instead. **3. Confirm** Click **Delete my account**. You are signed out everywhere right away and can't sign in. What happens after that: | When | What happens | | - | - | | **Right away** | You are signed out on every device. | | **Within 14 days** | You can still cancel. Sign in and choose **Keep my account**. | | **After 14 days** | Your account, the projects you own with all their product data, your profile, onboarding answers and free tool results are deleted for good. | | **Kept** | Invoices, as tax law requires. | > [!TIP] > > Want a copy first? Export your data before you delete your account. ## Your GDPR rights WISEPIM supports your rights under the General Data Protection Regulation (GDPR): | Your right | How to use it | | - | - | | **Access** | Click **Export my data** to download your personal data | | **Erasure** | Delete your account to remove your data for good | Have another privacy question? Contact the WISEPIM support team. ## Related > **[Account Settings](/en/settings/account)** > > Update the name and email linked to your account. > **[Security Settings](/en/settings/security)** > > Reset your password and check your current session. > **[Billing Settings](/en/settings/billing)** > > Cancel your subscription before you delete your account. > **[Exporting Products](/en/essentials/exporting-products)** > > Export your product data from each project. # 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. > [!NOTE] > > 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. > **General** > > Set domain weights and the score needed for each grade. > **Completeness** > > Score how fully your product fields are filled in. > **Channels** > > Score whether products are ready to list on each platform. > **SEO** > > Set the character limits that drive search visibility. > **Conversion** > > 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. > **Detection** > > Choose which automated check families run on your catalog. > **Signals** > > Add external data sources that feed product recommendations. > **Alerting** > > Decide what happens when a check flags a product. > **Schedule** > > 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. ![Data Quality General tab showing score distribution sliders and grade thresholds](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-data-quality.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=5af8b0d61bb129d417a38a8c75e4c8ef) ### 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. > [!WARNING] > > 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. > [!TIP] > > 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% | > [!NOTE] > > 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. > [!TIP] > > 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. ![Data Quality Completeness tab showing component weight sliders and core field importance settings](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-data-quality-completeness.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=60583055d45fb66ba846080806450b27) ### 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 | > [!NOTE] > > 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. ![Data Quality Channels tab showing active platform toggles and component weight sliders](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-data-quality-channels.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=e64f583132795a7e343a2a5806acdb44) ### 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 > [!TIP] > > 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 | > [!WARNING] > > 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. ![Data Quality Conversion tab showing component weight sliders for persuasive content, trust signals, visual appeal, and purchase enablers](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-data-quality-conversion.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=2cc9d65a22cc3331bb51a9de634a1f58) ### 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) | > [!TIP] > > 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. > [!NOTE] > > 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. | > [!NOTE] > > 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. > [!WARNING] > > 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."). > [!NOTE] > > 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. > [!WARNING] > > 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. > [!NOTE] > > 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 > **[Quality Guard](/en/quality-guard/overview)** > > Block low-quality products from reaching your channels. > **[Recalculate Data Quality](/en/essentials/bulk-editing/recalculate-quality)** > > Refresh scores in bulk after you change these settings. > **[Export Settings](/en/settings/export)** > > Set defaults for how WISEPIM exports your product data. > **[Settings Overview](/en/settings/overview)** > > 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, shows on each content card in **Enrich product content** and **Fill empty fields**, and is the prompt those workflows run unless you pick another. Your team enriches products with the same on-brand instructions every time. **Where to find it:** **Settings** > **Enrich Prompts**, in the **AI & Content** group. > [!NOTE] > > 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. ![WISEPIM Enrich Prompts settings with a default prompt dropdown per enrichment type](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-enrich-defaults-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=6335a3e7482514bf5a9931be90df285c) ## 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 | | - | - | | **Description** | Full product descriptions | | **Short description** | Short descriptions. With no default here, the **Description** default is used | | **Titles** | Product titles | | **Attributes** | Attribute values filled from your product data and research | | **SEO title & meta** | 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). > [!NOTE] > > Need a default for FAQs? FAQ prompts are picked per run in the Enrich modal, where **Built-in FAQ prompt** is the starting point. See [Product FAQs](/en/ai/product-faqs). To set a default for an enrichment type: **1. Find the enrichment type** Pick the row for the type you want to set, for example **Titles** or **SEO title & meta**. **2. Open the dropdown** It lists every prompt in your project that matches that enrichment type. **3. Choose a prompt** Select the prompt your team should use by default. To clear a default, set the dropdown back to **No default**. > [!TIP] > > 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. * **Shown on the workflow cards.** In **Enrich product content** and **Fill empty fields**, each ticked content card shows **Prompt** set to **Project default (name)**. Pick another prompt on the card for one run. A field with no default and no saved prompt says "No saved prompt for this field yet. Create one in Prompt Lab." > [!TIP] > > Because the Enrich modal only **preselects** your default, power users keep full freedom. The default removes the routine choice without taking away control. ## AI review moved This page used to hold the switch for approving AI changes. The page now says "Whether AI changes wait for your approval is now set on the AI review page." Click **Open AI review** to choose which AI changes are saved right away and which wait for you in the Review inbox. It is off by default, so AI work reaches your catalog without extra steps. ## 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 > **[Enriching Products with AI](/en/essentials/enriching-products)** > > See how the Enrich modal and its workflows use the defaults you set here. > **[Prompt Library](/en/essentials/prompt-library)** > > Create and manage the prompts that appear in each enrichment dropdown. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Draft and test prompts before adding them to your library. > **[Settings Overview](/en/settings/overview)** > > 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, encoding, description spacing, and a quality check before products leave. ![WISEPIM export settings with default format, encoding and Quality Guard export rules](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-export-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=516187a751e03def311693ad40e6c0a3) Export settings control how WISEPIM packages your product data for download or channel distribution. Set sensible defaults once, and every export starts from there. > [!NOTE] > > Select a project from the project switcher first. Export settings are saved per project. > [!NOTE] > > Looking to control **which fields and columns** go out per channel? That lives in [Export Templates](/en/settings/export-templates). This page sets the project-level defaults (format, encoding, description spacing, 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. > [!TIP] > > 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. > [!NOTE] > > 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. | > [!WARNING] > > If your products use non-Western characters (Chinese, Arabic, Cyrillic), always pick UTF-8. Other encodings will corrupt them. ## Description spacing Choose the spacing for HTML descriptions exported to your webshops. | Option | What it does | | - | - | | **Use the shop theme’s paragraph spacing (recommended)** | Descriptions keep their paragraphs, lists and quotes as HTML, and your shop theme decides the spacing. | | **Add a blank line between sections** | Adds one line break after each top-level paragraph, list or quote, for themes that show paragraphs without space between them. | The setting applies to future HTML exports in this project, in every language. Existing copy and manual line breaks stay unchanged. Plain-text channels and channels with a length limit are not affected, and a per-shop override, such as on a CCV Shop connection, takes precedence. ## 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 > **[Quality Guard Overview](/en/quality-guard/overview)** > > Set the quality gates that products pass before export. > **[Data Quality Settings](/en/settings/data-quality)** > > Define how WISEPIM scores your product data. > **[Import Settings](/en/settings/import)** > > Set defaults for bringing product data into WISEPIM. > **[Settings Overview](/en/settings/overview)** > > 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. > [!NOTE] > > Select a project from the project switcher first. Export templates are saved per project, so each catalog keeps its own set. ![WISEPIM export templates mapping fields per channel](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-export-templates-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=72d081473fbadee2e749946898306834) ## 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. > [!TIP] > > 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. **1. Start from a preset (optional)** Under **Start from a preset**, pick a preset to pre-fill the form with platform-specific defaults, then customize from there. Leave it blank to start clean. **2. Name and code it** Give the template a clear **Template Name**. The **Template Code** auto-fills from the name as a unique identifier, and you can edit it. **3. Pick the target platform** 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. **4. Choose fields, attributes, and headers** Select which product fields and dynamic attributes to include, and rename their column headers. The sections below cover each part. > [!NOTE] > > A template needs a name, a code, and at least one product field or attribute before you can save it. ### Presets | Preset | What it gives you | | - | - | | **Dynamic Attributes** | Product fields plus your attributes in numbered slots. | | **Akeneo CSV** | The column layout Akeneo's product import expects. | | **Shopify CSV** | The columns of Shopify's product import spreadsheet. | | **WooCommerce (simple and variable products)** | WooCommerce's importer layout: one `variable` row per parent and a `variation` row per variant, numbered attribute slots and the parent linked by SKU. Selecting one member of a family exports the whole family. Attribute names longer than 28 characters stay local attributes, with a warning. | | **Google Merchant Center** | The column names of a Merchant Center product file. | ## 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. > [!NOTE] > > 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. > [!TIP] > > 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. When you export more than one language, each slot also gets a column per language, such as "Attribute Name 1 (fr)". > [!WARNING] > > 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. Paste comma-separated attribute codes into the search to select exactly those, or click **Add All** to add the attributes the search shows. 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`. The **Unit Export Format** you pick when you export can override this for one run. * **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. > [!TIP] > > 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. > [!TIP] > > 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 > **[Export Settings](/en/settings/export)** > > Set the default file format, encoding, and quality check for every export. > **[Exporting Products](/en/essentials/exporting-products)** > > Run an export and apply the template you just built. > **[Feed Hub](/en/essentials/feed-hub)** > > Push product feeds to channels on a schedule. > **[Integration Settings](/en/settings/integrations)** > > Connect the stores and marketplaces your templates feed. # FAQ Settings Source: https://docs.wisepim.com/en/settings/faqs Choose how product and category FAQs combine, which channels get them and in what format, how the storefront block looks, and when AI FAQs go live. ![WISEPIM FAQ settings with Category FAQs and Export sections on the left and a live preview of the storefront FAQ block on the right](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-faqs-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=5700bcfd3f2a3982bef621dc93765ae7) The FAQs settings page decides what happens to your [product FAQs](/en/ai/product-faqs) after you write them: how category questions are mixed in, what each channel receives on export, how the block looks on your storefront, and whether AI-written questions wait for your review. **What this page enables:** you set up FAQs once for the whole project, so every product exports a consistent, schema-marked FAQ block to the channels that accept it, and no channel gets FAQ text it would reject. **Where to find it:** go to **Settings** and open **FAQs** in the AI & Content group. The settings apply to the selected project. ## Category FAQs Categories can add their FAQs to every product filed directly under them. Two settings control this: | Setting | What it does | Default | | - | - | - | | **Stop adding category FAQs once a product has enough of its own** | When on, set **Stop adding category FAQs at** a number of own questions, from 1 to 50. Products at or above it get no category FAQs. | Off | | **New categories add their FAQs to products** | Whether a new category starts with its FAQs switched on. You can still switch it off per category. | On | A single product can override the limit, or switch category questions off entirely, in its **FAQs** tab. ## Export FAQs are appended to the end of the exported description. **Append FAQs to exported descriptions** is on by default, so your FAQs reach every shop without extra mapping. Re-exporting never adds them twice: WISEPIM replaces the old block each time, and strips it again when you re-import the product. ### Per channel Each channel starts from the format it renders best. Pick **FAQ format for** a channel to override it: **Default**, **HTML**, **Plain text** or **Off**. The default shows in brackets, for example **Default (HTML)**, with a one-line reason below the channel name. | Default | Channels | | - | - | | HTML | Shopify, WooCommerce (API and CSV), Magento 2, Lightspeed, CCV Shop, BigCommerce, Ecwid, PrestaShop, Shopware, ShopWired, Squarespace, Sylius, Oscar, CSV and Excel file exports, Channable and custom feeds | | Plain text | Medusa, Kaufland, ChatGPT Shopping, Copilot, Perplexity and affiliate feeds | | Off | Google Merchant Center ("Not sent: Google rejects FAQ text in descriptions"), Akeneo, Mirakl, bol, Amazon, shopping-ad feeds for Google, Microsoft, Meta, Pinterest and TikTok, beslist, idealo and BMEcat | When a channel has a length limit on descriptions, WISEPIM drops whole questions from the end of the block to fit. It never cuts an answer in half. ### Structured data Three platforms can also receive the FAQs as clean data, so themes, apps and AI assistants can read them. All three are on by default: | Channel | Option | | - | - | | Shopify | **Also send as metafields (wisepim.faqs)** | | WooCommerce | **Also send as product meta (wisepim\_faqs)** | | Magento 2 | **Also send to the attribute wisepim\_faqs** | > [!WARNING] > > For Magento 2, the attribute `wisepim_faqs` must exist in your store. If it doesn't, the structured data is skipped and the export run shows a warning. > [!NOTE] > > WISEPIM also sends FAQPage schema. Google shows FAQ rich results only for a few authoritative sites, so don't expect them in search results. AI assistants and your theme still benefit. ### Use it in your theme The **Use it in your theme** section gives ready-made code to print the FAQPage schema from the structured data: **Shopify: product template (Liquid)** and **WooCommerce: functions.php or a code snippets plugin (PHP)**. Click **Copy** and paste the code where your product template renders. If you print this JSON-LD yourself, turn off **Add FAQ schema markup** under Layout and style, so the page doesn't carry two FAQPage entities. The **Turn off schema markup** button does that for you. ## Layout and style These settings shape the HTML block inside your product descriptions. **Use recommended** resets them. | Setting | Options | Default | | - | - | - | | **Layout** | **Accordion** (questions open in place, no scripts needed), **Definition list** (every answer visible), **Headings** (each question is a heading) | Accordion | | **Show a section heading** | On or off. Set a **Heading** per language; leave one empty for the built-in "Frequently asked questions". | On | | **Heading level** | H2 to H4 | H2 | | **Question level** | H3 to H5. One level below the section heading keeps the page outline valid. | H3 | | **Open the first question** | Accordion only | | | **Keep one question open at a time** | Accordion only | | | **Add FAQ schema markup** | Adds FAQPage markup that stays invisible to shoppers | On | | **Style** | **Use my theme** (no inline styles) or **Styled**, which adds **Question color**, **Border color**, **Background color** and **Corner radius** (0 to 24) | Use my theme | | **CSS class** | Up to five class names so your theme can target the block | `wpim-faq` | | **Limit the number of questions** | When on, set **Questions to show**, from 1 to 50 | Off | ## Generation These settings decide what happens when WISEPIM AI writes FAQs for your products. ### When suggestions are ready This is the project default. You can pick another option for each run in the Enrich dialog. | Option | What happens | | - | - | | **Review every suggestion** | Nothing reaches a product until you accept it in its FAQ tab. | | **Add the safe ones automatically** | Suggestions that pass your rules go live right away. The rest wait for you. | | **Add everything automatically** | Every suggestion is saved as soon as it's ready. You can undo a whole run from its task page. | ### What counts as safe A suggestion is added automatically only when it passes every rule: * **Adds to the list, never replaces it** (always on). Runs that replace a product's FAQs always wait for you. * **Isn't a duplicate** (always on). It doesn't repeat a question the product already shows, its own or from a category. * **Cites its sources** (on by default). Every answer added without review points to product data or research. * **Stop once a product has enough questions of its own** (off by default). When on, set **Stop adding at** a number of own questions per product. Off means only the 50-question limit applies. Anything held waits in the product's FAQ tab with the reason, so you only review what needs it. ## Live preview The **Live preview** panel updates as you change settings: * **Preview as**: **Your storefront**, or one of your channels. * **Preview language**: see the heading and questions in another language. * **Preview with a product**: search by name or SKU to use a real product's FAQs instead of sample questions. When you preview a channel, **What the channel receives** has two tabs: **Description** shows the block or plain text that channel gets, and **Structured data** shows the JSON, with **Copy JSON**. If a channel gets nothing, the preview says "Not sent to" that channel and why. When you save your changes, you see "FAQ settings saved". ## Act on what you find > **FAQs show up twice on your Shopify product page** > > Your theme probably prints the `wisepim.faqs` metafield and the description also carries the block. Either set Shopify to **Off** under Per channel and render from the metafield, or untick **Also send as metafields (wisepim.faqs)**. > **Google Merchant Center rejected descriptions** > > Keep Google Merchant Center on its default, **Off**. Google rejects FAQ text in descriptions. > **The block looks unstyled in your theme** > > Switch **Style** to **Styled** and pick colors, or keep **Use my theme** and target the `wpim-faq` class in your theme's CSS. > **Well-documented products get too many questions** > > Turn on **Stop adding category FAQs once a product has enough of its own**, or set **Limit the number of questions** to cap what shoppers see. > **You review hundreds of AI suggestions after every run** > > Set **When suggestions are ready** to **Add the safe ones automatically**. You then only review what a rule held back. ## Related > **[Product FAQs](/en/ai/product-faqs)** > > Write, generate and review FAQs per product and in bulk. > **[Exporting Products](/en/essentials/exporting-products)** > > Send products, with their FAQ block, to your channels. > **[Bulk Enrich](/en/ai/bulk-enrich)** > > Run AI enrichment across many products at once. > **[Managing Product Categories](/en/other-features/managing-categories)** > > Add FAQs to a category and choose whether its products get them. # Workspace Features Source: https://docs.wisepim.com/en/settings/features Choose which tools a project shows. Pick your goals, start from Simple or Advanced, and switch tools such as SEO, Analytics or Browser agents on or off. WISEPIM can do a lot, but your team might not need everything right now. Workspace Features lets you switch off the tools you do not use, so menus, settings and the product editor only show what you work with. You can switch a tool back on at any time. **What this page enables:** a shorter menu for your team, tools that follow your goals, and one place to keep browser agents out of a project. **Where to find it:** **Settings** > **Catalog & Data** > **Workspace Features**. It applies to the project you have open, for everyone on that project. > [!NOTE] > > Only project editors can change this page. Other team members see it read-only, with the notice "Only project editors can change this." ## Pick your goals Under **What this workspace is for**, click the goals your team works on: * **Launch on a marketplace** * **Translate the catalog** * **Rewrite descriptions** * **Fix missing attributes** * **Get found in search** * **Localized listings** * **Set channel prices** Hover over a goal to see which tools it switches on. Goals only shape the recommendation. Nothing is deleted when you change them. ## Choose a mode **Workspace mode** gives you a starting point: | Mode | What it does | | - | - | | **Simple** (recommended) | Only the tools your goals call for. Everything else stays out of the way until you need it | | **Advanced** | Every tool switched on, including the ones for larger teams and technical setups | | **Custom** | Your own mix. WISEPIM shows this as soon as you switch a tool on or off by hand | With **Simple**, changing your goals updates the tools right away. With no goals picked, Simple keeps only the basics plus analytics. > [!NOTE] > > A project that was never narrowed down shows **Everything is switched on**. Pick **Simple** to focus it on your goals, or switch tools off one by one. ## Switch tools on or off Tools sit in four groups. **Standard** tools show right away. **Advanced** tools are for larger catalogs and technical setups; open them with **Show advanced tools**. | Group | Tool | What it adds | Tier | | - | - | - | - | | **Content and AI** | Translations | The Translate flow, translation settings, locale pickers and linguistic review | Standard | | | SEO | The SEO tab, SEO and keyword settings, bulk SEO meta and SEO analytics | Standard | | | Web research | The Research tab, bulk research and web research settings | Standard | | | Content logic | The content logic settings page | Advanced | | **Channels** | Channels | Integrations, channel readiness checks and sync settings | Standard | | | Feed hub | Building, mapping and publishing product feeds | Standard | | | Brand portals | A branded product portal for resellers and partners | Advanced | | | WiseChat | The storefront shopping assistant, its analytics and settings | Advanced | | | Community | Achievements and the partner program | Advanced | | **Insights and control** | Analytics | The analytics section, Grow sales and Reduce returns, custom dashboards | Standard | | | Quality Guard | Rule packs, quarantine, audit log, data quality settings | Standard | | | Browser agents | AI agents in your browser that work in WISEPIM for you | Standard | | | Automations | Automations, the workflow builder and workflow settings | Advanced | | **Catalog and setup** | Media library | The media library, media settings and image tools such as alt text | Standard | | | Product families | Product families, so variants share data | Standard | | | Lifecycle | Lifecycle stages and what happens between them | Advanced | | | Classification | ETIM and GS1 classes, unit code sets, the attribute mapper and the ETIM tab | Advanced | | | Pricing rules | Pricing rules in settings and the discounts section | Advanced | | | API access | The API settings page for keys and webhooks | Advanced | | | Templates | Product templates and export templates | Advanced | Click a tool's details to read what it adds. Click **Save** in the save bar to apply your changes. You see "Workspace features saved" when it worked. Switching a tool off removes it from the menus, settings and product editor for everyone on the project. Nothing you already created is deleted. ### Tools that need a higher plan Some tools show a chip such as **Needs the Business plan**. You can still switch them on: they then show with an upgrade hint until your plan includes them. | Tool | Chip shows | | - | - | | Web research, Analytics | **Needs the Starter plan** | | Content logic, Quality Guard, Automations, Pricing rules | **Needs the Business plan** | | API access | **Needs the Pro plan** | See [Billing Settings](/en/settings/billing) for what each plan includes. ### Always on Some parts of WISEPIM can't be switched off: "Products, categories, attributes, import and export, AI enrichment, chat, prompt library, prompt lab, the knowledge library, your team and projects are always on." Workspace Features itself also stays available, so you can always switch tools back on. ## Browser agents **Browser agents** lets an AI agent built into your browser search, edit and enrich your catalog for you. Every change waits for your approval in WISEPIM. It is a Standard tool and on by default. Switch it off to keep agents out of this workspace. See [Connected Apps](/en/settings/connected-apps#browser-agents) for how you approve an agent's changes, approve a plan, and pause agent access. ## When a tool is switched off * **Menus:** the tool's menu entries, settings cards and editor tabs disappear. A small hint, for example "2 tools hidden", links to **Manage features**. * **Direct links:** a page of a switched-off tool still opens, with a banner saying it is switched off for this workspace. Editors can click **Turn on** to bring it back for everyone, or **Manage features** to open this page. * **Actions:** if you start an action that needs a switched-off tool, WISEPIM stops and tells you the tool "is switched off for this workspace. Switch it on under Settings → Features to run this." * **Automations:** a node that uses a switched-off tool shows "Uses a switched-off feature". ## Act on what you find > **A menu item or settings page is missing** > > The tool behind it is probably switched off. Open **Workspace Features**, find the tool and switch it on, then click **Save**. > **An automation stopped with Uses a switched-off feature** > > Switch the tool back on here, or remove that node from the automation. > **My team sees too many tools** > > Pick your goals and choose **Simple**. Then switch on any extra tool your team asks for. > **I want to keep AI browser agents out of a project** > > Switch off **Browser agents** and save. Agents in anyone's browser can then no longer work in this project. ## Related > **[Connected Apps](/en/settings/connected-apps)** > > Connect AI assistants and approve what browser agents do. > **[Setup Checklist](/en/settings/onboarding)** > > The Shape your workspace step sets these tools during onboarding. > **[Billing Settings](/en/settings/billing)** > > See which plan includes which tools. > **[Settings Overview](/en/settings/overview)** > > Browse every personal and project setting in one place. # General Settings Source: https://docs.wisepim.com/en/settings/general Set your project name, languages and industry, down to a segment or assortment. 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, choose **My Settings**, then **Catalog & Data** > **General** in the settings sidebar. ![General settings page showing project name, keywords, industry, and language configuration](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-general.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=f56e03cc54e65cbaea89088cb0ad78f1) > [!NOTE] > > 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. **1. Project name** Enter a descriptive name. It shows in the project switcher and across the interface. **2. Description** 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 ``` > [!TIP] > > 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. It also decides which quality benchmarks, recommended fields and FAQ types WISEPIM suggests. Under **Primary Industry**, open **Select your primary industry**. The list is a tree with three levels: | Level | Example | | - | - | | Industry | Foodservice & Hospitality (HoReCa) | | Segment | Professional tableware & cutlery | | Assortment | Cutlery | Pick the most specific level that fits your whole catalog. A segment or assortment gives AI more precise context than the industry alone. Expand an industry to see its segments, and a segment to see its assortments. > [!TIP] > > Type in **Search by name or keyword** to find a level fast. Search also matches other common names. When it does, the result shows **Matches "..."** with the word that matched. Recent additions to the list include **Foodservice & Hospitality (HoReCa)**, **Building Materials**, **Baby & Kids**, **Agriculture & Farm Supplies** and **General Merchandise (multi-category)**. ### Mixed catalogs and category industries Each category can set its own **Industry**. A product uses the industry of its primary category. If that category has none, it uses the nearest parent category that has one. If no category sets one, the product uses the project's Primary Industry. See [Managing Product Categories](/en/other-features/managing-categories) to set it per category. Selling across many unrelated industries? Pick **General Merchandise (multi-category)** as the project industry and set an industry on your main categories. Products then get the right context from their category. ### Where else you pick an industry The same picker shows up when you: * Create a project or edit one with quick edit on the Projects page. * Fill in **About you** during onboarding. WISEPIM can suggest a segment from your store there. * Set the **Industry** of a category, or let AI suggest one with **Suggest industries**. * Override the industry for a quality review. > [!NOTE] > > 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. **1. Select the primary language** Search the autocomplete dropdown and pick your main language. Each one shows its country flag, so it is easy to spot. **2. Check the result** If your new primary language was in the additional list, WISEPIM removes it from there automatically. > [!WARNING] > > 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 > **[Managing Product Categories](/en/other-features/managing-categories)** > > Give a category its own industry for mixed catalogs. > **[Import Settings](/en/settings/import)** > > Control conflict resolution, empty fields, and validation for every import. > **[Translation](/en/settings/translation)** > > Fine-tune how AI translates content into your additional languages. > **[Interface Language](/en/settings/language)** > > Set the language of the WISEPIM interface for your account. > **[Managing Projects](/en/essentials/managing-projects)** > > 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. ![Import settings page showing import filters, conflict resolution, empty field handling, and validation options](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-import.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=02bee0adea09f057ac37858b7b851c89) > [!NOTE] > > 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. **1. Open the filter modal** Click **Add Filter** to open the advanced filter modal. **2. Build a condition** 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. **3. Combine conditions** Use **AND** to require every condition. Use **OR** to require just one. > [!TIP] > > 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. | > [!WARNING] > > **Overwrite** replaces every field on the existing product. Make sure your file holds complete data before you use it, or you may lose information. > [!NOTE] > > This project-wide setting applies to platform and integration imports. File imports ask their own question per file and don't read it. On the file import review, **What this import does** offers **Add new products and update existing ones**, **Only update existing products** or **Only add new products**, and **Find existing products by** offers **SKU, then EAN/GTIN**, **EAN/GTIN, then SKU** or **SKU only**. With SKU first, a row whose SKU is new still matches a product with the same EAN, and that product keeps its own SKU. In the advanced importer, **Don't add new products** limits an import to updates. See [Importing Products](/en/essentials/importing-products#what-this-import-does). ## 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. | > [!TIP] > > **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. | > [!NOTE] > > **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. > [!NOTE] > > 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. > **[Importing Products](/en/essentials/importing-products)** > > Run an import step by step, from picking a file to reviewing what landed. > **[Product Templates](/en/settings/templates)** > > Set the defaults that fill the gaps your import file leaves behind. ## Related > **[Web Scraping Import](/en/essentials/web-scraping-import)** > > Bring in products from a webshop page with the browser extension. > **[General Settings](/en/settings/general)** > > Set the project name, industry, and languages that shape your data. > **[Export Settings](/en/settings/export)** > > Control the defaults for exporting your products out of WISEPIM. > **[App Marketplace & Integrations](/en/essentials/integrations)** > > 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 browser extension: extend your data model or not, classify them, research them on the web, then write the fields. ![WISEPIM import by scraping settings chaining web research and Bulk Enrich onto every product the browser extension brings in](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-import-by-scraping-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=18dc19878d223586653e209517a94da3) A scraped page rarely arrives finished. This page, titled **Import by scraping** in the app, decides what happens to every product the [browser extension](/en/essentials/web-scraping-import) brings in, so imports come out classified, researched, and written instead of raw. There are four sections. **Prepare website imports** links to the language and source settings imports rely on. **Data model** decides whether imports may create attributes and categories. **Classification** files products into your adopted standards. **After an import** chains enrichment onto them. Classification runs first, and outside the enrichment chain's master switch, because 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. > [!NOTE] > > 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. ## Prepare website imports Two links help before your first import: * **Project languages**: shows the **Primary content language**. Set it to the language of the sites you import from, so the content lands in the right language. * **Trusted websites**: add manufacturer websites to guide [web research](/en/settings/web-research). ## Data model By default, extension imports fill the attributes and categories you already have. Allow creation only when you want imports to extend this project's data model. | Switch | What it does when on | | - | - | | **Create missing attributes** | New specifications and variant options on a page create attributes. | | **Create missing categories** | Breadcrumbs on a page can create category paths. | > [!NOTE] > > Projects created since 19 October 2026 start with **Create missing attributes** on and **Create missing categories** off, so the specs of a first import aren't lost. Older projects keep their stored setting, which is off for both unless you changed it. With a switch off, values still go into attributes that exist and breadcrumbs still match category paths that exist. The rest is left out, and the import report says how many spec values and category paths were not imported, and which setting caused it. ## 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. Creating ETIM attributes also needs **Create missing attributes**, and new GPC categories need **Create missing categories**. 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. > [!TIP] > > 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 extension import 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 steps that **Runs in order**, for example web research, then Bulk Enrich with three fields. If nothing is selected, imports stay as they arrive. > [!WARNING] > > The chain runs on *every* product an import brings in. Before scraping a 2,000-product catalog with the chain on, import a few products first and check the results. Credits spent on a misconfigured chain are hard to get back. ## Related > **[Web Scraping Import](/en/essentials/web-scraping-import)** > > Import products with the browser extension. > **[Classification (ETIM & GS1 GPC)](/en/products/classification)** > > Adopt the ETIM classes and GPC categories imports file into. > **[Web Research Settings](/en/settings/web-research)** > > Control what research focuses on and which fields it updates. > **[Bulk Enrich](/en/ai/bulk-enrich)** > > 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. ![WISEPIM integration settings and connected channels](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-integrations-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=c7015e8a81ad0cbe754013c03b568bf0) > [!NOTE] > > 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. **1. Open the Integrations page** Click **Manage** next to "Platform Integrations". **2. Connect a platform** Pick a platform (Shopify, Magento 2, WooCommerce, and more), enter your API credentials, and follow the setup wizard. **3. Map your fields** 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. Each connected shop has its own **Shop settings** for which products, prices, stock and languages it gets, see [Shops](/en/products/shops). ## Connect the browser extension Not every source has an API. The WISEPIM browser extension imports products straight from a webshop page you have open. You connect it once per browser, for your whole account, not per project. **1. Open the Browser Extension app** Go to **Integrations** and open **Browser Extension**. If the extension is not installed yet, the page offers **Add to Chrome**, **Add to Edge** or **Add to Firefox**. Click **I've installed it** when you are done. **2. Connect this browser** Click **Connect this browser**. The browser is now paired to your account, and you pick the project in the extension each time you import. The key that connects a browser is created for that browser only and is never shown to you. It never sees your password and only runs when you use it. > [!NOTE] > > You can connect up to 20 browsers at a time. **Disconnect** one under **Connected browsers** and it stops importing immediately. A browser paired the old way, to a single project, shows "Legacy: paired to one project. Reconnect to import into any project." Click **Reconnect** to switch it to account-wide. 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 your connected platforms about 30 seconds later. * **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. Auto-sync reaches Shopify, Magento 2, WooCommerce, Lightspeed, Lightspeed E-Series (Ecwid), CCV Shop, PrestaShop, ShopWired, Akeneo, Kaufland, WordPress, Webshopimporter and Google Merchant Center. Other platforms, such as bol.com and Mirakl, only receive changes when you run an export or an [automation](/en/automations/overview) does. > [!TIP] > > 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. > [!WARNING] > > With auto-sync on, every product change goes out within seconds, 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. > [!NOTE] > > 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 > **[App Marketplace & Integrations](/en/essentials/integrations)** > > See how integrations work end to end and connect your first platform. > **[Supported Platforms](/en/integrations/supported-platforms)** > > Browse every e-commerce platform you can connect to WISEPIM. > **[Exporting Products](/en/essentials/exporting-products)** > > Push product data manually when auto-sync is off. > **[Notification Settings](/en/settings/notifications)** > > 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. ![WISEPIM keyword settings - category-scoped SEO keywords the AI works into generated content, with bulk tools and generation](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-keywords-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=f21ea3c1c7ea4764202b9e4c9fe5baa2) 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, choose **My Settings**, then **SEO & Discovery** > **Keywords** in the settings sidebar. > [!NOTE] > > 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. > [!TIP] > > 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. **1. Pick your data sources** Choose which signals AI draws from: **Google Search Console**, **Knowledge Library**, **Product catalog**, and **Google Analytics**. Combine them for broader coverage. **2. Shape the request** 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. **3. Review the suggestions** AI returns a list with each term's source, intent, and click data where available. Terms you already have are flagged and skipped automatically. **4. Add the ones you want** Check the keywords to keep, then add them all in one click. **Regenerate** to try again with different settings. > [!NOTE] > > The AI suggestions cost 1 credit per run, and each **Regenerate** is a new run. If your balance is too low, WISEPIM tells you how many credits the run needs and how many you have, and nothing is charged. ## 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 > **[SEO & Sitemap](/en/settings/seo)** > > Configure how WISEPIM optimizes meta titles, descriptions, and search content. > **[Enrich Prompts](/en/settings/enrich-defaults)** > > Set the default rules AI follows when it writes product content. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Generate and improve product content with AI, using your keywords. > **[Settings Overview](/en/settings/overview)** > > 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 interface language setting - switch the app to English, Dutch, German, Spanish or French](https://mintcdn.com/swiftsyncai/zsz5Zz3-6-rcrJ5n/images/marketing-screenshots/settings/settings-language-light-branded.webp?fit=max\&auto=format\&n=zsz5Zz3-6-rcrJ5n\&q=85\&s=978bc08ce7143236df0be4029a98a54e) 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. > [!NOTE] > > 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 > **[Account Settings](/en/settings/account)** > > Update your profile name, email, and other personal account details. > **[Translation Settings](/en/settings/translation)** > > Configure how AI translates your product content into other languages. > **[Translating Products](/en/products/translating-products)** > > 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. ![WISEPIM media library settings with display preferences, default sorting and auto-linking](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-media-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=b5a0992ca06b8524c4a9c01c69953805) 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. > [!NOTE] > > 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). > [!TIP] > > 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. > [!TIP] > > 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: **1. Strip the extension** `SKU-12345_front.jpg` becomes `SKU-12345_front`. **2. Split on the separator** Split on the underscore and take the first part to get the identifier `SKU-12345`. **3. Search for the product** Look for a product whose SKU equals `sku-12345`, ignoring case. **4. Link the image** 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. > [!TIP] > > 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. > [!WARNING] > > 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 > **[Media Library](/en/products/media-library)** > > Upload, organize, and attach assets to products in the library itself. > **[Product Views](/en/settings/product-views)** > > Set the default columns, sorting, and filters for the product table. > **[Managing Attributes](/en/other-features/managing-attributes)** > > Create the custom identifier attributes you can match filenames against. > **[Settings Overview](/en/settings/overview)** > > Browse every personal and project setting in one place. # Notification Settings Source: https://docs.wisepim.com/en/settings/notifications Choose how WISEPIM reaches you: email, browser and sound alerts, Do Not Disturb, which events matter, and scheduled PDF reports for your team. 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 ![WISEPIM notification preferences across channels](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-notifications-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=24a9357c2c6c5c6f34189af82e4c015a) Turn each delivery channel on or off to match how you work. > [!NOTE] > > 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. **1. Turn on the toggle** Your browser shows a permission prompt if you have not allowed notifications before. **2. Click Allow** The permission status appears below the toggle: granted, denied, or not yet requested. > [!WARNING] > > 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 | | **Security watchtower** | A reviewed security warning is accepted for sending. Security alerts are on by default; you receive warnings relevant to your store technology | > [!TIP] > > Every type is on by default. Turn off the ones you do not need to keep your feed focused. > [!NOTE] > > 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**. ## Security watchtower Security warnings reach you in two separate ways, and each has its own switch: * The **Security watchtower** type in the table above controls the **bell notification** in the app. Every approved warning that the email provider accepts also lands in your notification feed. * The **email** itself is controlled by the **Email me approved security warnings** toggle on the Security watchtower page, not here. Click **Manage Security watchtower** in this section to open it. Both are on by default. Turning off the bell notification does not stop the emails, and the other way round. See [Security Watchtower](/en/settings/security-watchtower) for how warnings are reviewed and matched to your store's versions. > [!NOTE] > > Marketing emails are separate from these settings. The weekly blog newsletter has its own double opt-in and unsubscribe link, and campaign emails go only to people who opted in at signup. Opting out of those is permanent and does not affect your notification emails. ## 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. > [!NOTE] > > 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. ## Scheduled reports Below your personal settings, **Scheduled reports** sends "A PDF summary of this project's revenue, sessions, key event rate and targets, emailed to your team." Reports belong to the project you have open, not to your account. They are separate from the order report schedules on the [Reports](/en/analytics/reports) page. Click **New report** and fill in: | Field | What it does | | - | - | | **Name** | How the report is listed, for example "Weekly store summary". Under 100 characters | | **How often** | **Every week** on the **Day** you pick, or **Every month**, sent on the first day of each month | | **Time** and **Timezone** | When the email goes out | | **Revenue currency** | The currency the revenue figures use | | **Branding** | Only shows when you have partner brands. Pick **Project name** or a partner brand for the PDF | | **Send to** | Up to 10 team members with analytics access | | **Send this report** | Turn off to pause emails without deleting the report | Click **Save report**. Use **Download PDF** to see what the next email looks like. Each report shows its schedule, its recipient count and one of these statuses: | Status | Meaning | | - | - | | **Active** | The report is sent on schedule | | **Paused** | **Send this report** is off | | **Paused: its creator left the project** | The person who made the report is no longer on the project | | **Paused: access changed** | The creator lost the access the report needs | | **Not sending yet** | Your plan does not include scheduled report emails yet | > [!NOTE] > > A **Not in your plan yet** chip means you can set up reports and download a PDF now. Emails start once your plan includes scheduled reports. ## Review requests Now and then a small **Quick favour** card appears in the bottom-left corner. It asks you to leave a review of WISEPIM on a review site. Some requests offer credits for it, whatever rating you give. Click **Write a review**, **Not now** or **Don't ask again**. After you post a review, enter the **Name on your review** so WISEPIM can find it and add the credits, usually within 2 working days. The card never shows during onboarding, a product tour or an open dialog, and it waits at least 3 days before asking again. ## 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. > [!NOTE] > > Your settings live on the server, so they follow you across devices and browsers. ## Act on what you find > **I get too many alerts** > > Turn off the types you do not need under **Pick which events you hear about**, or switch on **Do Not Disturb** while you work. > **A scheduled report stopped arriving** > > Check its status under **Scheduled reports**. If it says **Paused: its creator left the project** or **Paused: access changed**, create a new report with the same settings. You then own it. > **I no longer want security warning emails** > > Open **Manage Security watchtower** and turn off **Email me approved security warnings**. The bell notification has its own switch in the table above. ## Related > **[Account Settings](/en/settings/account)** > > Update your registered email, the address your notifications go to. > **[Security Watchtower](/en/settings/security-watchtower)** > > Record your store technology and manage the security warning emails. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Run AI enrichment and get an alert when it finishes. > **[Bulk Editing](/en/essentials/bulk-editing)** > > Make changes in bulk and get notified when the job completes. > **[Importing Products](/en/essentials/importing-products)** > > Start an import and know the moment it is done. # Setup Checklist Source: https://docs.wisepim.com/en/settings/onboarding Six setup steps checked against your actual project, plus the store-first health report and the optional guided catalog setup for new accounts. ![WISEPIM persistent setup checklist with confirmed progress, optional next steps and reversible dismissal](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/onboarding-checklist-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=3b791cccecc307ce74859328f75a227b) The [signup wizard](/en/quickstart#your-first-sign-in) runs once. The setup checklist is what is left afterwards: "Everything that makes WISEPIM work for your catalog, ticked off as you go." It does not sit on a saved answer from your first day. WISEPIM re-checks your project each time you open the page, so a step you finished by hand months later shows as done anyway. **Where to find it:** go to **Settings > Setup checklist** in the Personal group. ## The six steps | # | Step | Where it takes you | | - | - | - | | 1 | **Bring in your products** | Import a file or connect your store. Every other step builds on your catalog. | | 2 | **Run your first AI action** | Pick one product, let AI fill the gaps, and review every change before it lands. | | 3 | **Teach the AI your brand** | Add tone of voice, audience, and product rules to the Knowledge Library. | | 4 | **Set your quality bar** | Tell Quality Guard what a complete product looks like. | | 5 | **Connect a sales channel** | Link Shopify, Magento, or another platform and push finished products. | | 6 | **Shape your workspace** | Switch on the tools you use, hide the rest, and set your languages and markets. You can change the tools any time under [Workspace Features](/en/settings/features). | The order is deliberate: each step is more useful once the one before it is done. You are free to jump around, but a quality bar with no products behind it does not tell you much. Each row has a **Continue** button that drops you on the right page, and a counter at the top of the list shows how far along you are. ## How a step gets ticked WISEPIM verifies steps against your project rather than trusting a flag from the wizard. Two of them matter especially: * **Teach the AI your brand** is read from your Knowledge Library's actual contents. * **Set your quality bar** is read from the Quality Guard rules that exist. That means work you did on your own counts. It also means a step you did through the wizard can go back to open if you later empty out what it created. > [!NOTE] > > A step can also show **Not checked**, in a yellow chip. That is not the same as "not done": the check itself could not complete this time. The list says so plainly ("We couldn't check every step just now. Nothing was changed.") and offers **Check again**. ## Skip what you do not need Not every catalog needs every step. Click the **×** on a step to skip it and it drops out of the list, marked **Skipped**. Skipping is always reversible. Nothing is deleted, and **Bring back skipped steps** returns them. If everything open has been skipped, the list tells you that instead of pretending you are finished. > [!TIP] > > Skipping is the right move for a step that genuinely does not apply, like connecting a sales channel when you feed a marketplace by file. Finishing steps you do not need just to clear the list wastes your time. ## The reminder on the products page The same checklist has a one-line version that sits under your product table: your next open step, how far along you are, and a **Continue** button. **All steps** opens the full page. Click the **×** on it and it stops appearing there. The full checklist keeps track of that too, so you can always tell the reminder is hidden rather than gone. Once every step is done, dismissed, or hidden, the reminder disappears on its own. ## Start from your store Some new accounts get a store-first setup instead of the classic wizard. It reads a few of your own products, shows a health report and fixes the first gap with AI. The steps show as "Step N of 5": **1. Store** "Let's start with your store": enter your **Store URL** and click **Read my products**. For Shopify and WooCommerce stores, WISEPIM reads up to 25 public products. "We only read public product data. Nothing on your store changes." For other platforms you get a button to connect that platform instead. Under **Other ways to add your products** you can pick **Connect your store**, **Upload a CSV**, **Use the browser extension** or **No store yet**, which opens **Pick your industry** and **Load sample products**. **2. Scan** WISEPIM counts the products it reads ("N of 25 products read"). You can move on early with **Continue with N products**. **3. Report** **Your catalog health report** shows your **Quality score** out of 100, **Channel readiness** per channel (**Not ready**, **Almost ready** or **Ready**), **Gaps we can fix with AI** and **Needs your own data** for fields AI can't fill in. Pick the gap you want fixed first. **4. Fix** WISEPIM shows the products it will fix and what they have now, such as **Empty** or **Thin** descriptions. Nothing runs until you click **Run on N products**. Or click **Skip to my workspace** and run the fix later. **5. Result** **Your catalog after the fix** shows the score change and the before and after. Send the changes to your store, for example with **Push N products to Shopify**, or use **Download CSV** or **Connect your store**. > [!NOTE] > > The fix uses credits: 1 credit per product, and translations 1 credit per product for each language. The report tells you the cost before you run it. The store preview works twice per account. After that, connect your store or upload a CSV. After setup, the Overview page shows a **Getting started** section with your **Catalog health**, a **Fix queue** for the next products with the same gap, and features to try on your own products. ### Industry suggestion On the **About you** step you can pick your industry. When WISEPIM has read your store, it can preselect a segment: "Suggested from your store. Open the list to pick another segment or the whole industry." See [General Settings](/en/settings/general#set-your-industry) for how the industry tree works. ### Organize your products (optional) The result step can also show an **Organize your products** card. Click **Choose products**, pick a few products, review the suggested families, categories, fields and variant groups, and apply only the changes you want. This guided setup needs no credits. See [Catalog Structure](/en/products/catalog-structure) for the full walkthrough. ![Organize your products guided setup with the steps Choose products, Review suggestions, Confirm changes and Done, and a product list to select from](https://mintcdn.com/swiftsyncai/aNPvWPdGvNzu2lNs/images/marketing-screenshots/onboarding/structure-wizard-onboarding-light-branded.webp?fit=max\&auto=format\&n=aNPvWPdGvNzu2lNs\&q=85\&s=7688cc7fb7737c30495942868a6666b9) ## Replay the wizard, or start over Two controls sit at the bottom of the page: * **Reset checklist** clears your skips and progress marks so you can go through the list again. * **Replay onboarding** runs the signup wizard from the start. Useful after a big change of direction, when the goal you picked on day one no longer matches what you are doing. If you joined by invitation rather than signing up, you get a list of recommended next steps instead of the verified checklist, with **Mark done** on each card. Never ran the wizard at all? The page says "No recommendations yet" and offers **Start onboarding**. ## Related > **[Quick Start Guide](/en/quickstart)** > > The four steps from empty account to enriched catalog. > **[Workspace Features](/en/settings/features)** > > Choose which tools this workspace shows. > **[Catalog Structure](/en/products/catalog-structure)** > > Set up families, categories, fields and variant groups with a guided setup. > **[Quick Win](/en/essentials/quick-win)** > > Step two of the checklist, in full. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Teach WISEPIM your brand so every generated text sounds like you. > **[Quality Guard Overview](/en/quality-guard/overview)** > > Define what a complete product looks like, and catch what falls short. # 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, give a project a fixed budget if needed, and manage 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. Every project you add spends from that pool right away. Give a project a fixed budget only when you want to cap what it can spend. When a project 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 balance for every project, and an optional hard budget per client or department. **Where to find it:** go to **Settings** > **Organization** in the Personal group. > [!NOTE] > > 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 **1. Open Organization settings** Go to **Settings** > **Organization**. If you have none yet, the page shows **Create organization**. **2. Name it** 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 **Team credit pool** card shows three numbers: | Number | What it means | | - | - | | **Total in pool** | Every credit in the pool. | | **Reserved for fixed budgets** | Credits set aside for projects with a fixed budget. | | **Available to projects** | What projects on the shared pool can still spend. | The strip **How credits reach your projects** shows the route: **Your plan**, then **This pool**, then **Projects**. Only the organization owner can fund the pool. There are two ways: * **One-time top-up:** enter an amount under **Move credits to pool**, or pick one of the **Quick amounts** or **All**, and click **Fund pool**. * **Automatic monthly funding:** set a **Share of monthly plan credits**. Each time your plan credits are added, that share moves into the pool. Purchased credit packs are not included. Set 0% to turn it off. You need an active paid plan for this. Credits move from your personal account into the organization. They are not duplicated, so the same credit can never be spent twice. Changes to the balance show in the header within about a minute. > [!WARNING] > > When the pool is empty, paid actions in its projects pause until someone adds credits. ### Low-pool alerts When spending by a project on the shared pool takes the pool below 20% and again below 5% of its credits, the organization owner and that project's owner get a notification. ## 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, add their own projects to the pool, and set project 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. ## Add projects to the pool The **Projects using this pool** table lists every project with where it **Spends from**, what it has **Spent** and what it **Can still spend**. A project that ran out shows **Paused**, or **Pool is empty** when the shared pool itself is empty. **1. Add the project owner as an admin** A project can only be added by its own owner. Invite that person to the organization with the **Admin** role. **2. Add the project** The project owner opens Organization settings, picks the project under **Add a project** and clicks **Add to pool**. Its team can spend from the pool right away. Ownership and access stay the same. ## Choose a budget per project Click **Budget** on a project row to open **Budget for `{name}`**. Under **How should this project spend credits?**, pick one: | Mode | How it works | | - | - | | **Shared pool** | Recommended, and the default for projects you add. The project spends straight from the pool. Nothing to top up. | | **Fixed budget** | Reserves a set number of credits for this project. It stops when they run out. | For a fixed budget, set the **Total budget**, or use **Quick adjustments** and **Everything left**. You can raise or lower it, but not below what the project already spent. The window shows what moves: credits go from the pool to the project, or unspent credits go back to the pool. **Return unspent** sends everything the project has not spent back. Click **Save budget**. > [!NOTE] > > Switching a project from a fixed budget back to **Shared pool** returns its unspent credits to the pool. > [!WARNING] > > When a project runs out, paid actions pause. The project owner's personal credits are never charged unless they turn that on themselves. 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 **Stop charging owner** button. Click it to stop that fallback. **Detach project** removes a project from the organization. The project itself is not deleted. > [!NOTE] > > The organization budget is separate from the [automation budget](/en/settings/ai-budgets), which caps what automations, imports and scheduled jobs can spend each month in a project. ## 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 spend or move the remaining pool. ## Act on what you find > **A client project ran out of budget mid-run** > > On a fixed budget, click **Budget** and raise it, or switch the project to **Shared pool**. On the shared pool, top up the pool. Then resume the stopped work in the [Process Tracker](/en/other-features/process-tracker). > **One client should never spend more than an agreed amount** > > Give that project a **Fixed budget** of the agreed amount. Lower it later and the unspent credits go back to the pool. > **You want to see which project spends the most** > > Open [Usage](/en/settings/usage) and group by **Project** or **Organization**. The **Spent** column here shows the total per project; Usage shows it over time. > **A project owner is not in the organization yet** > > You cannot add their project for them. Add them as an **Admin** and ask them to add the project. This keeps project ownership where it is. ## Related > **[Usage Settings](/en/settings/usage)** > > See how credits are spent per project, member and action. > **[Billing Settings](/en/settings/billing)** > > Buy the credits that fund the organization pool. > **[Agencies](/en/essentials/agencies)** > > Run multiple client catalogs from one account. > **[Team Management](/en/teams/team-management)** > > Set project-level roles for the people you invite. > **[Automation Budget Settings](/en/settings/ai-budgets)** > > Cap what automations, imports and scheduled jobs spend each month. # 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 **1. Click your account icon** It sits in the top-right corner of the screen. **2. Select Settings** This opens the Settings hub with all available options. > [!TIP] > > 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". ![WISEPIM settings hub with searchable, category-filtered personal and project settings](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-hub-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=5aaa2f42af7240d0772d66ee39503fac) > [!TIP] > > 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. > [!NOTE] > > Moved the settings items around and want the old layout back? You can reset the settings navigation to its default order at any time. ## Settings groups The hub sorts every setting into six groups. **Personal** settings apply to your own account and stay the same in every project. All other groups hold project settings: they appear only when a project is selected and control how that one project behaves. > [!NOTE] > > Some project settings belong to a tool that can be switched off, such as SEO, Pricing rules or Translations. When a tool is off under [Workspace Features](/en/settings/features), its settings cards disappear from the hub for everyone on the project. ### Personal | Setting | What it controls | | - | - | | [Account](/en/settings/account) | Your name, email address, and profile information | | [Setup Checklist](/en/settings/onboarding) | The six setup steps, checked against your project, plus the onboarding wizard | | [Appearance](/en/settings/appearance) | Theme, font size, interface effects, and the Stable or Experimental Catalog menu | | [Notifications](/en/settings/notifications) | Email, browser, and sound notifications, plus scheduled PDF reports for your team | | [Security](/en/settings/security) | Password reset, sign-in protection, and active sessions | | [Billing](/en/settings/billing) | Subscription plan, billing period, and payment method | | [Usage](/en/settings/usage) | Credit usage per team, member, and action | | [Organization](/en/settings/organization) | Members, projects, and shared credit budgets | | [Data & Privacy](/en/settings/data-privacy) | Data export and account deletion | | [Connected Apps](/en/settings/connected-apps) | AI assistants connected to your account, and browser agents working in your tab | ### Catalog & Data | Setting | What it controls | | - | - | | [General](/en/settings/general) | Project name, description, industry, and languages | | [Workspace Features](/en/settings/features) | Which tools this project shows, based on your goals | | [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 | | [Product Lifecycle](/en/workflows/product-lifecycle) | The stages, checklists, and requirements products move through | | [Data Quality](/en/settings/data-quality) | Quality score across completeness, channels, SEO, and conversion | | [Media Library](/en/settings/media) | Display preferences, upload behavior, and auto-linking images to products | | [Attribute Scope](/en/settings/catalog-structure) | Whether families, categories, or both decide which attributes apply | ### Import & Export | Setting | What it controls | | - | - | | [Import](/en/settings/import) | Import filters, conflict resolution, empty field handling, and validation | | [Import by Scraping](/en/settings/import-by-scraping) | What happens to products the browser extension brings 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) | Price rules, marketplace fees, and margin safeguards applied at export time, per channel | ### AI & Content | Setting | What it controls | | - | - | | [Content Logic](/en/workflows/content-logic) | Reusable variables, formulas, and conditional content blocks | | [Translation](/en/settings/translation) | Tone, per-field rules, language overrides, a do-not-translate dictionary, and translation samples | | [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 | | [AI Review](/en/settings/ai-review) | Which AI changes are saved right away and which wait for your approval | | [Automation Budget](/en/settings/ai-budgets) | A monthly credit limit for automations, imports, and scheduled jobs | | [Web Research](/en/settings/web-research) | What research looks for, which sources it trusts, which fields it fills, and how it suggests prices | | [FAQs](/en/settings/faqs) | Category FAQs, how FAQs export to each channel, and their storefront layout | ### SEO & Discovery | Setting | What it controls | | - | - | | [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 | ### Connections & Team | Setting | What it controls | | - | - | | [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 | | [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 | | [Security Watchtower](/en/settings/security-watchtower) | Your store technology, matched known vulnerabilities, and reviewed security warning emails | > [!NOTE] > > Project settings are tied to the project you have open. Switch projects and you will see a different set of values. > [!NOTE] > > Looking for **Autopilot**? It is now called **AI review**. Old links to the Autopilot page open AI review. ## Act on what you find > **A setting I used before is gone from the hub** > > Its tool is probably switched off for this project. Open [Workspace Features](/en/settings/features) and switch it back on. > **I only see personal settings** > > Pick a project in the project switcher. Project settings only show when a project is selected. > **I can't find a setting by browsing** > > Type its name in the search box at the top of the hub, or open the command menu and search there. ## Related > **[Account Settings](/en/settings/account)** > > Update your name, email, and profile details. > **[Workspace Features](/en/settings/features)** > > Choose which tools and settings this project shows. > **[Product Views](/en/settings/product-views)** > > Set the default table layout for your whole team. > **[Data Quality Settings](/en/settings/data-quality)** > > Tune how WISEPIM scores the quality of your products. > **[Command Menu](/en/essentials/command-menu)** > > 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. ![Pricing & Margins page with the export switch on, four ordered pricing rules and a bol.com fee profile under Marketplace fees](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-pricing-rules-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=484a5012568a2c4589c7b54b28873fd8) 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. > [!NOTE] > > Pricing rules need the **Business** plan or higher. You can open this page, read it, and look at the templates on any plan, but the master switch, **New rule**, saving and fee profiles are locked with a note pointing at the upgrade. The margin report is part of the same plan. > > Pricing rules, fee profiles and the margin report use **no AI credits**. > [!WARNING] > > 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. * **Marketplace fees** holds one fee profile per channel, with **Add fee profile** and **Margin report** 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. > [!TIP] > > 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 ![Pricing & Margins page with no rules yet, showing the Marketplace fee, Margins per brand, Protect my margins and Charm prices recipes](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-pricing-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=cce5ddd2d2001fbc33051aa9b297d71d) 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. **1. Rule details** 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. **2. Scope: pick your channels** **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. **3. Scope: pick your products** 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. Conditions that match a list of values ignore upper and lower case on text fields, but identifiers such as SKU must match exactly. **4. Choose the calculation** Pick a calculation type and enter its value. The types are explained in the table below. **5. Set rounding** Choose **Project default**, **No rounding**, **2 decimals**, **Whole numbers**, **Charm .99**, or **Charm .95**. Keep **Also adjust sale price** on if the rule should apply to the sale price too, so the discount stays the same in percent. Safeguards then check the sale price as well, see [Safeguards on sale prices](#safeguards-on-sale-prices). **6. Add safeguards** Optional limits that stop a rule from doing damage. Covered below. **7. Check the previews, then save** 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. | > [!NOTE] > > **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. | | **Minimum margin after fees** | Selling below the margin you need once the channel's fees and the cost price are paid. Only works on channels with a [fee profile](#marketplace-fees). | You set safeguards for all rules under **Safeguards**, and a rule can set its own limits to override them. They run only on products a rule applies to. A product no rule matches exports its stored price. 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**, **Margin after fees floor applied**, **Raised to minimum price**, **Capped at maximum price**, **Change limited**, **Kept base price**, **No cost price**, and **Below cost**. **Fees leave no room for the margin target** means the fees plus your target reach 100% of the price, so WISEPIM leaves the price unchanged. > [!TIP] > > 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. ### Safeguards on sale prices When a rule also adjusts the sale price, the same safeguards check the sale price. A sale price below a floor is raised to it, and one above **Maximum price** is lowered. **Maximum change** is measured against the product's own sale price, so a deep discount is not pulled back towards the regular price. A sale price that ends up on or above the regular price, or at zero or less, is dropped and the product exports without a sale. The chips tell you what happened: | Chip | What happened | | - | - | | **Sale price raised to margin floor** | The sale price was under your minimum margin. | | **Sale price raised to margin after fees floor** | The sale price left too little after the channel's fees. | | **Sale price raised to minimum price** | The sale price was under your minimum price. | | **Sale price capped at maximum price** | The sale price was above your maximum price. | | **Sale price change limited** | The rule moved the sale price more than **Maximum change** allows. | | **Sale price was zero or less** | The calculation gave no usable sale price. | | **Sale removed, not below the price** | After the safeguards, the sale price was no longer below the regular price, so the sale was left out. | ## Marketplace fees A fee profile tells WISEPIM what a channel takes from each sale. With fee profiles in place you see the margin after fees in your previews, you can use the **Minimum margin after fees** safeguard, and you can open the [margin report](#margin-report). ![New fee profile form under Marketplace fees with marketplace rates, channel, VAT rate for percentage fees, commission, payment fee and fixed fee per item](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-pricing-fee-profile-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=1cb8e03397284916e6c54e50aa8ef94e) Click **Add fee profile** and fill in the form: | Field | What it does | | - | - | | **Start from marketplace rates** | Optional. Pick a marketplace (Amazon.de, Amazon.com, bol, eBay or Etsy) and a **Category**, then **Use these rates**. You get the highest rate from that category's fee table as a starting point. Not included: fulfilment, listing, subscription and ad fees. | | **Channel** | The export these fees apply to. Each channel gets one profile. A profile on all product feeds also covers each feed without a profile of its own. | | **VAT rate for percentage fees** | Percentage fees use the net price plus this VAT rate. Enter the selling VAT rate, for example 21. Use 0 only for fees charged on the net price or for VAT-exempt sales. | | **Commission** | Percentage of the selling price. | | **Payment fee** | Optional. A payment processing percentage, if the channel charges it separately. Commission and payment fee together can be at most 100%. | | **Fixed fee per item** | Optional. An amount charged on every item or order. | | **Currency** | For your reference only. Amounts are not converted. | | **Name** | A label you recognize, for example "bol.com NL". | Below the form, a live line shows what a price of 100 leaves after fees, before the cost price. Click **Save profile**. Each profile in the list shows its rates and a badge: **Your own rates**, or the marketplace and the date its rates were checked. > [!NOTE] > > Prices and cost prices in WISEPIM are net. WISEPIM never guesses a VAT rate, so profiles created before the VAT field existed use 0 until you review them. Their summary says "VAT rate not set; estimate uses net price. Review this fee profile." If one channel sells at different VAT rates, create separate profiles. > [!NOTE] > > How the fees are calculated: > > * Fees = price × (1 + VAT rate ÷ 100) × (commission + payment fee) ÷ 100, plus the fixed fee. > * Margin after fees = price minus fees minus cost price. > > You can keep up to 100 fee profiles. When a feed, portal or shop has its own profile, that one wins over the profile for its channel group. ### Minimum margin after fees Set **Minimum margin after fees** under **Safeguards** for all rules, or on a single rule. On channels with a fee profile, the export price is raised so at least this margin remains after the channel's fees and the cost price. On a channel without a fee profile, the safeguard does nothing. The minimum margin floor runs first, then this one, then minimum price, maximum price and maximum change. A maximum price still wins over the floor. ## Margin report Click **Margin report** to open **Margin after fees**: what each product keeps after the channel's fees and its cost price, at the price an export to that channel sends. * **Channel** picks the channel. The report needs at least one fee profile. Without one you see **Add a fee profile first**. * **Thin margin below** sets the threshold for a thin margin. It starts at your **Minimum margin after fees**, or 10% if you have not set one. * **Show** filters to **All products**, **Below the threshold**, **Selling at a loss** or **No cost price**. * **Sort by** orders the list by **Lowest margin first**, **Highest margin first** or **SKU**. Products fall into **Healthy**, **Thin**, **Loss**, **No cost price** and **No price**, with an **Average margin** on top. The table shows **Product**, **Cost**, **Export price**, **Fees**, **Margin**, **Margin %** and **Status**. > [!NOTE] > > The report checks up to 5,000 products. In a bigger catalog it says how many it checked. If **Apply pricing rules on export** is off, the report uses your stored prices, because that is what exports send. ## 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. > [!TIP] > > 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. Pick a channel with a fee profile and you also get **Fees** and **After fees** columns, plus a line with the fees on that channel. A channel without a profile tells you there is no margin after fees. > [!WARNING] > > 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. > [!NOTE] > > 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 > **A marketplace takes a commission** > > 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. > **You do not know what you keep per marketplace** > > Add a fee profile for each marketplace with **Start from marketplace rates**, set the VAT rate, and check the rates against your seller account. Then open the **Margin report** and filter on **Selling at a loss**. **Outcome:** a list of products that lose money on that channel at the price you send today. > **Fees eat your margin on one channel** > > Set **Minimum margin after fees** on the rule for that channel. Run **Test on my products** for the channel and look for **Margin after fees floor applied** and **Fees leave no room for the margin target**. **Outcome:** export prices on that channel always leave the margin you set, and you see which products cannot reach it. > **Some brands need a different margin** > > 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. > **You want to protect your floor everywhere** > > 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. > **Prices should end in .99** > > 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. > **A partner should see their own price in a Brand Portal** > > 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. > **Something looks wrong and you need it to stop now** > > 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 > **[Brand Portals](/en/other-features/brand-portals)** > > Show partner prices in a shareable catalog without changing stored prices. > **[Exporting Products](/en/essentials/exporting-products)** > > Where CSV and Excel exports pick up your rules. > **[Feed Hub](/en/essentials/feed-hub)** > > Scope rules to a single feed or to every feed you publish. > **[Discounts & Pricing](/en/products/discounts)** > > The other tool: change the prices actually stored on your products. > **[Send a different price per channel](/en/guides/price-per-channel)** > > A step-by-step guide to a per-channel markup with fee profiles and safeguards. # 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. ![WISEPIM product view settings with default columns and layout](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-product-view-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=3728c59eed0469dd8ff801a27b59b76c) > [!NOTE] > > 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 | > [!TIP] > > 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. > [!NOTE] > > 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. > [!WARNING] > > 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: **1. Click Add Filter** This opens the advanced filter dialog. **2. Pick a field** Choose the product field to filter on. **3. Choose an operator** Set the comparison logic, such as equals, contains, is empty, or greater than. **4. Enter a value** Add the value to compare against. Combine conditions with **AND** (all must match) or **OR** (any can match). > [!TIP] > > 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 > **[Managing products](/en/essentials/managing-products)** > > Search, filter, and sort the product table you just configured. > **[Product Templates](/en/settings/templates)** > > Set default values for every new product you create. > **[Data Quality](/en/settings/data-quality)** > > Decide how the Quality Score column is calculated. > **[Settings Overview](/en/settings/overview)** > > Browse every personal and project setting in one place. # Security Settings Source: https://docs.wisepim.com/en/settings/security Keep your WISEPIM account safe. Reset your password with a secure link, see your current session, and learn what happens after failed sign-ins. Security settings is where you protect your WISEPIM account. Change your password through a secure reset link and check the session you are signed in with. **Where to find it:** go to **Settings** > **Security** in the Personal group. ## Change your password ![WISEPIM Security settings with the Reset password button, two-factor authentication marked Coming soon, API keys and the current session](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-security-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=feb36d7c9c873cdee13536216a80f4e4) You change your password through the secure password-reset flow. WISEPIM emails a time-limited reset link to your account address. **1. Click Reset password** Under **Change Password**, click **Reset password**. **2. Request the link** Enter your email address and click **Send reset link**. **3. Open the email** Click the link in the email and choose a new password. It must be at least 8 characters long. > [!NOTE] > > Your password is saved exactly as you type it, including any spaces at the start or end. The email address is matched without regard to capitals. You always see the same confirmation, whether or not an account exists for that address. > [!TIP] > > A password manager creates and stores strong, unique passwords for you. Aim for a mix of uppercase and lowercase letters, numbers, and symbols. ## Failed sign-ins WISEPIM locks sign-in after repeated wrong passwords, to stop someone from guessing yours. | Rule | Value | | - | - | | Failed attempts before a lockout | 5, for the same account from the same network address | | Lockout length | 15 minutes | | Unlock right away | Open a valid password-reset link and set a new password | A lockout only blocks that account from that address. Colleagues who share your office network can still sign in. ## Check your current session The **Active Sessions** section shows the session you are using now, marked **Active**. Full session management is not available yet. If you think someone else knows your password, reset it 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. * Reset your password if you think it may have leaked. ## API keys The **API Keys** section links to your keys. Click **Manage API keys** to create, rename and revoke them under [API Access](/en/settings/api). ## Coming soon The **Two-Factor Authentication** section is marked **Coming soon**. It will add a second step when you sign in, so a password alone is not enough to get in. ## Related > **[Account Settings](/en/settings/account)** > > Update your name, email, and profile details. > **[Data & Privacy Settings](/en/settings/data-privacy)** > > Export your personal data or delete your account. > **[Security Watchtower](/en/settings/security-watchtower)** > > Get warnings when a known vulnerability affects your store software. > **[Team Management](/en/teams/team-management)** > > Invite people and control who can access your projects. # Security Watchtower Source: https://docs.wisepim.com/en/settings/security-watchtower Record the platforms, plugins and runtimes your store runs, see which known vulnerabilities affect your versions, and get reviewed warnings by email. ![WISEPIM Security watchtower with the security email toggle and a list of recorded technologies such as WooCommerce, WordPress and PHP marked Version verified](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-security-watchtower-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=a64d786376245fadac7878444353c584) Security watchtower keeps an eye on vulnerabilities in your store's platforms, plugins and underlying technology. You record what you run, WISEPIM matches it against a database of known vulnerabilities, and a person reviews every warning before it is sent to you. It is included in every plan, Free included. **What this page enables:** you can see at a glance which known vulnerabilities apply to the exact versions you run, read in plain language what each one means and what to do, and receive a reviewed email when something affects your store. **Where to find it:** go to **Settings** > **Security watchtower**. It is the last item in the project sidebar, below Team. You need a project selected; without one the page says "Select a project to open Security watchtower." Three tiles at the top summarize the project: **Recorded technologies**, **Confirmed matches** and **Recent reviewed warnings**. ## Your security emails The **Email me approved security warnings** toggle is on by default for every WISEPIM user. You can turn it off at any time. It is a personal setting: every member of the project decides for their own address. A warning email only goes out when two things are true: * A person at WISEPIM has reviewed and approved the warning. * The vulnerability affects a version that was recorded and verified in your project. > [!NOTE] > > This toggle is separate from the **Security watchtower** notification type under [Notification Settings](/en/settings/notifications). That type controls the bell notification in the app. This toggle controls the email. ## Record your technologies The **Recorded technologies** section lists the exact products and packages your store runs, with their versions. Without a known version WISEPIM cannot tell whether a vulnerability affects you, so this list is the foundation of everything else on the page. ### Automatic discovery from your connections When you test a store connection under [Integration Settings](/en/settings/integrations), the watchtower reads the technology behind it and records it for you: | Connection | What gets recorded | | - | - | | **WooCommerce** | WooCommerce, WordPress, PHP and MySQL or MariaDB versions, plus every active plugin by slug and version | | **Shopware** | The `shopware/core` package and its version | | **PrestaShop** | The PrestaShop release | | **Magento 2** | The Magento release | Discovery needs a clean public HTTPS store URL. Records that come from a connection get the same badges as manual ones, so check them and edit anything that looks off. ### Add a technology by hand Click **Add technology** to open the **Technology details** form. Fill in: * **Technology family**: a searchable picker over the catalogue of 184 families. Filter by category: Runtimes, Libraries, Infrastructure, Databases & cache, Message queues, Search, Frameworks, Frontend, Ecommerce, Content management, PIM & product data, Automation, Marketing, Analytics, Operations, Identity & access, Collaboration, ERP & warehouse, Payments, CRM, Shipping and AI services. Search by package name, such as `symfony/http-kernel`, or by an alias, such as `postgres`. * **Product or package**: the exact ecosystem name. For Composer packages that is the vendor and package, such as `shopware/core`. For WordPress plugins and themes it is the exact name or the wordpress.org slug, such as `elementor`. API versions are not installed software versions. * **Installed version**: the version you run, for example `6.5.8.2`. * **Currently in use**: turn this off for software you keep recorded but no longer run. It then shows as **Inactive**. * **Version evidence**: where you read the version, for example `composer.lock`, your hosting panel or the admin footer. * **I verified this version against the deployed installation**: tick this once you have checked the version on the live store, not on a staging copy. Click **Save technology**. Each record shows a status badge: | Badge | Meaning | | - | - | | **Version unknown** | No version recorded. Nothing can be matched until you add one. | | **Needs verification** | A version is recorded but you have not confirmed it against the live installation. | | **Version verified** | The version is confirmed. Only verified versions can trigger a warning email. | | **Inactive** | The record is kept but **Currently in use** is off. | > [!TIP] > > For WooCommerce, WordPress and other platforms with an extension ecosystem, most vulnerabilities live in plugins, apps and themes. Record each one as its own entry in that family, with its exact name or slug and version. The form reminds you of this when you pick such a family. > [!NOTE] > > Vendor-managed services, such as a hosted SaaS tool, show **Vendor managed**. The vendor applies the fixes, so you record them for context only. Their versions are not matched against known vulnerabilities. The page shows the first 300 technology records. If your inventory is larger, contact support to review the rest. ## Known vulnerabilities in your stack ![Known vulnerabilities in the Security watchtower, each with What it is, What could happen and What to do, badged Affects your version and Actively exploited](https://mintcdn.com/swiftsyncai/gzdqtcY_QetlL5e0/images/marketing-screenshots/settings/settings-security-watchtower-advisories-light-branded.webp?fit=max\&auto=format\&n=gzdqtcY_QetlL5e0\&q=85\&s=a3266d5ae8d630fba58f825c6d4b4cd5) This section lists up to 50 known vulnerabilities for the technology you recorded. The ones that affect your versions come first, followed by older issues you may not know about. A listed vulnerability does not mean your installation is affected. Each entry carries one or more badges: | Badge | Meaning | | - | - | | **Affects your version** | The recorded version falls inside the affected range. | | **Needs checking** | The vulnerability concerns a technology you recorded, but WISEPIM cannot confirm the match, usually because your version is unknown or not yet verified. | | **Actively exploited** | Attackers are using this vulnerability in the wild, according to CISA. | Every card explains the issue in plain language: * **What it is**: the vulnerability in one or two sentences. * **What could happen**: the realistic consequence for a store. * **What to do**: the fix, naming the release that closes the issue. Expand **Show the original report text** to read the source advisory as published, or click **Read the original report** to open it at the source. When nothing matches, the section says "No known vulnerabilities match your recorded technology yet. That does not prove your store has none." ### How matching works Matching is deliberately conservative. A warning is only worth something if it is right. * Versions match on exact numbers or numeric ranges from the advisory. An unknown version never matches. * WordPress core never matches a plugin or theme vulnerability. A plugin matches only when you recorded it by its exact name or slug. * Vendor-managed services are never matched. ### Coverage and data sources The watchtower follows Magento and Adobe Commerce, WooCommerce and WordPress, Shopware, PrestaShop, OpenCart, PHP, MySQL and MariaDB. For WordPress it also includes more than 42,000 plugin and theme records from Wordfence Intelligence, including vulnerabilities that have no fix yet. Sources are CVE.org, the CISA Known Exploited Vulnerabilities catalogue, OSV, publisher advisories on GitHub, NVD and Wordfence. Each card names its source and license under **Data sources and licenses**. The monitor checks for new and changed records every 15 minutes. ## Understand your technology stack Below the inventory, **Understand your technology stack** suggests related components worth checking, based on the architecture of what you recorded. Each suggestion tells you the relationship: * **Extends this platform**: a plugin, app or theme that runs inside a platform you recorded. * **Built on this technology; verify the deployed release**: a dependency the platform ships with. * **May use this component; verify the actual configuration**: an optional component that is common but not guaranteed. It also tells you whether that component is already recorded on the same connection, elsewhere in the project, or not at all. Each suggestion has its own button, such as **Add MySQL**, that opens the form with the family already chosen. **Browse the technology catalogue** opens the full list of 184 families, with **Likely in your stack** highlighted. > [!WARNING] > > Suggestions are not confirmed installations, compatible-version guarantees or security findings. They tell you what to verify, not what you run. ## Warning history and the email **Recent reviewed warnings** lists your latest 20 approved warning emails that the email provider accepted. Provider acceptance does not confirm inbox delivery, so check your spam folder if you expect one and it is missing. A warning email: * Has a subject that starts with "Security watchtower:". * Opens with "This does not mean your store has been hacked", because it is about a known vulnerability in a version you run, not about an intrusion. * Carries the same **What it is**, **What could happen** and **What to do** sections as the card on this page, and says "Actively exploited, according to CISA" where that applies. * Has a **Read the original report** button and a per-project unsubscribe link, which is the same as turning off the toggle above. Every accepted warning also appears as a bell notification in the app if the **Security watchtower** notification type is on. ## What it is not Security watchtower is an early-warning service. It is not a penetration test, it does not scan your store for intrusions, and it does not install patches. A warning identifies a known vulnerability in a verified version; your team stays responsible for assessing the guidance, applying the update and checking the result. If WISEPIM does not know your version, it will not guess. ## Permissions * Project **editors**, admins and the owner manage technology records. * **Viewers** see the page and the vulnerabilities, but can only change their own email preference. The page says so: "A project editor can manage technology records. You can manage your own email preference." * The email toggle is always personal, whatever your role. ## Act on what you find > **A warning email arrived** > > Open the project it names and go to **Settings** > **Security watchtower**. Find the card with **Affects your version**, read **What to do** and update to the named release on your store's own update screen. Then edit the technology record with the new version and tick the verification checkbox. The vulnerability drops out of your confirmed matches once the version is outside the affected range. > **A plugin you run is not in the catalogue** > > Pick the platform family it belongs to, such as WordPress or Shopware, and enter the plugin in **Product or package** by its exact name or slug. Plugins you built yourself, or premium plugins that have never had a public report, cannot be matched because there is nothing to match against. > **A record shows Version unknown or Needs verification** > > Look the version up at the source: the admin footer, your hosting panel or `composer.lock`. Edit the record, enter it under **Installed version**, note where you found it under **Version evidence** and tick the checkbox. Until then the record cannot trigger a warning, and matching vulnerabilities show **Needs checking** instead of **Affects your version**. > **Auto-discovery recorded nothing for your WooCommerce store** > > Open [Integration Settings](/en/settings/integrations), make sure the store URL is a public HTTPS address without extra path segments, and test the connection again. Discovery runs on a successful test. > **You get too many emails, or none at all** > > Turn the **Email me approved security warnings** toggle off to stop emails for this project. If you expect emails and see none, check the toggle is on, check **Recent reviewed warnings** for accepted sends, and remember that only verified versions with an approved warning trigger an email. ## Related > **[Notification Settings](/en/settings/notifications)** > > Decide whether security warnings also appear as a bell notification in the app. > **[Security Settings](/en/settings/security)** > > Protect your own WISEPIM login with two-factor authentication and session control. > **[Integration Settings](/en/settings/integrations)** > > Connect and test your store so the watchtower records its technology automatically. > **[WooCommerce Integration](/en/integrations/woocommerce)** > > Set up the connection that discovers WordPress, PHP, the database and every active plugin. # 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. > [!NOTE] > > 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. ![WISEPIM SEO defaults for titles, meta and structured data](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-seo-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=73b50b7ae621ccabd877d3fdd865a18d) 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. | > [!TIP] > > 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. **1. Click Add sitemap URL** A new input row appears. **2. Paste the full sitemap URL** Use the complete `.xml` address, not just the domain. **3. Add more or remove rows** Add a row per sitemap you want to track. Remove any row with the trash icon. > [!NOTE] > > 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). | > [!TIP] > > 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`. > [!TIP] > > 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. > [!TIP] > > 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 > **[Keyword Management](/en/settings/keywords)** > > Manage the target keywords your slugs and clusters build on. > **[SEO Analytics](/en/analytics/seo)** > > See coverage, gaps, and rankings powered by your sitemap setup. > **[Product Templates](/en/settings/templates)** > > Set default meta and content values for every new product. > **[Settings Overview](/en/settings/overview)** > > 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 settings page showing default status, type, visibility, brand, pricing, and SKU pattern options](https://mintcdn.com/swiftsyncai/623lTB1FEiy-FOKO/images/screenshots/settings/settings-product-templates.webp?fit=max\&auto=format\&n=623lTB1FEiy-FOKO\&q=85\&s=0198f8310c3cfb285815012c6dc8f12b) 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. > [!NOTE] > > 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. > [!TIP] > > 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`. > [!NOTE] > > 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.` | > [!TIP] > > 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 > **[Creating products](/en/products/creating-products)** > > Add products that start with your template defaults. > **[Importing products](/en/essentials/importing-products)** > > Bring in products in bulk from a file or integration. > **[Content logic variables](/en/workflows/content-logic)** > > Build the `{{product.field}}` variables used in SEO patterns. > **[Data quality](/en/settings/data-quality)** > > 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, choose **My Settings**, then **AI & Content** > **Translation** in the settings sidebar. > [!NOTE] > > 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. At the top of the page, **Translation samples** opens a review workspace for test batches, and **Ingest feedback** turns reviewer feedback into settings. Both are covered below. > **General** > > Set the default mode, tone, and content handling for the whole project. > **Fields** > > Add rules for a single field, like a character limit on the product name. > **Languages** > > Override the tone or formality for one language. > **Categories** > > Use different terminology for a group of products. > **Dictionary** > > Lock in how specific terms translate across every language. ## General ![WISEPIM translation settings with tone, fields and language controls](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=bba4fce7234980cfa75ed81bcc9049d8) 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 | > [!NOTE] > > 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. A remembered translation is only reused for the exact same source text (upper and lower case count), in the same field and language, with the same categories, dictionary and instructions. Change a dictionary term or an instruction and the memory does not keep the old wording. * **Protected terms stay protected**: brand names and terms marked **Keep as-is** stay untouched, even when they sit inside a longer word. * **Dropdown attributes translate their labels**: for select attributes, the AI translates the option labels you see, never the option codes behind them. * **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 ![Translation settings Fields tab showing per-field instructions for product name, description, and SEO fields](https://mintcdn.com/swiftsyncai/mRwP1UIxLfW7ckEf/images/screenshots/settings/settings-translation-fields.webp?fit=max\&auto=format\&n=mRwP1UIxLfW7ckEf\&q=85\&s=816fa18db768715fa87a2bf623f0ee03) 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. > [!TIP] > > 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 ![Translation settings Languages tab showing language-specific overrides for German with formality and tone settings](https://mintcdn.com/swiftsyncai/mRwP1UIxLfW7ckEf/images/screenshots/settings/settings-translation-languages.webp?fit=max\&auto=format\&n=mRwP1UIxLfW7ckEf\&q=85\&s=d752582fba57af115b55ae130bc2a121) 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." > [!NOTE] > > 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 ![WISEPIM translation dictionary with multilingual term mappings and do-not-translate brand terms](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-dictionary-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=cf6a3eceaab67a0245192e1c57d6c6c6) Use the Dictionary to fix how key terms translate across every language. This keeps your terminology consistent throughout the catalog. ### Add a term **1. Click + Add term** A new entry appears. **2. Enter the source term** Type the original term in your primary language. **3. Add a translation per language** Fill in one field for each target language to set the exact translation. **4. Add context if the term is ambiguous** 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. ### Scope a term to categories By default a term **Applies to all categories**. Use **Scope to categories** when a word needs a different translation in one part of your catalog. A scoped term only applies to products inside those categories. Each source term has one entry per project, so check the scope before you rely on it across products. ### Let AI fill in or find terms Two AI helpers save typing. Both cost credits, and WISEPIM tells you up front when you do not have enough. | Helper | What it does | Credits | | - | - | - | | **AI fill missing…** | Select entries, pick a **Target locale**, and the AI translates every source term that has no translation in that locale yet. Existing translations are kept. | 1 credit per batch of up to 50 terms | | **Suggest** | **From products** lists frequent terms in your product names and descriptions that are not in the dictionary yet. **From text** reads translator feedback, brand guidelines or terminology notes you paste, and pulls out candidate terms. You review everything before it is saved. | **From text**: 1 credit per analysis | ### 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. > [!NOTE] > > Auto-learned entries never overwrite your work. Terms you added yourself, and anything marked **Keep as-is**, always win. ## Test translations on a sample batch ![Translation samples workspace with a sample batch, review progress tiles, the next review step and the context and terminology coverage panel](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-samples-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=d586233d818f0a0715ac27b0b1680c7c) Before you translate a whole catalog into a new language, try your settings on a small, representative set of products and have a reviewer check the result. Click **Translation samples** at the top of the Translation settings page. Nothing in a sample batch touches your products. Generation saves candidate translations inside the batch only, and never changes your products, dictionary, settings or translation memory. **1. Create a sample batch** Under **Create a sample batch**, choose your products (**1. Choose your products**), then up to six target languages (**2. Choose target languages**). In **Batch details**, give the batch a name, pick the **Source language** and the **Fields to review**: **Product name**, **Description**, **Short description**, **SEO title**, **SEO description** or **SEO keywords**. Click **Create batch**. **2. Generate candidate translations** Existing translations start protected. On a row that needs a candidate, click **Allow candidate generation**, select it, then click **Generate N selected rows**. **Select eligible rows on this page** selects them in one go. **3. Review each sample** Under **Review your samples**, compare the **Source text** with the **Candidate translation**. Write a **Reviewed correction** and a **Reviewer comment** where needed, set the **Review decision** (**Pending review**, **Approved**, **Changes requested** or **Rejected**), and click **Save review**. Approved and corrected rows are protected from regeneration. **4. Run quality checks** **Run quality checks** looks for missing numbers, changed units, missing protected terms, changed HTML, text that is too long or too short, the wrong writing system, and terms that do not follow your dictionary. Automated checks cover defined rules. Fluency, tone and factual completeness still need a human. **5. Hand off or deliver** **Export review package** gives you a JSON file for an outside reviewer. They edit decisions, corrections and comments, and you bring it back with **Import reviewed package**. The batch shows **Ready for delivery** once every row is approved and the quality checks for the current version are done. The **Context and terminology coverage** panel shows gaps in your [Knowledge Library](/en/other-features/knowledge-library) context and **Observed terminology candidates** from the source text, with links to **Open Knowledge Library** and **Review dictionary**. After you fix guidance, **Refresh approved context** updates the batch. > [!NOTE] > > | Limit | Value | > | - | - | > | Products per batch | 50 | > | Target languages | 6 | > | Sample rows (product, field and language combinations) | 300 | > | Rows per generation run | 12 | > | Review package import | Smaller than 2 MB | > | Credits | 1 per product per target language in each generation run, at your normal translation rate. Failed runs are refunded. | ## Turn reviewer feedback into settings ![WISEPIM translation feedback ingest - drop in a reviewer feedback file as Excel, PDF, Word or text, or pick one from the media library](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-feedback-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=e8cfc98fa9c80df331eb26a4226ab639) 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. Under **Analysis source**, pick what the AI learns from: * **Feedback document**: a reviewer's file, as described in the steps below. * **Approved examples**: pairs of original text and a translation your team accepted, per content field and target language. Add up to 100 examples of up to 10,000 characters each, then click **Analyze N references**. Add a SKU to tie an example to one product. Either way, the analysis only proposes changes. Each proposal shows the evidence it is based on, and nothing changes until you review and apply it. If an applied change turns out wrong, **Restore previous configuration** undoes the settings and dictionary values it changed, as long as nobody edited them since. **1. Add your feedback file** Drag in an Excel, PDF, Word, or text file (up to 20MB), or pick one from your [media library](/en/products/media-library). **2. AI reads it in context** 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. **3. Review the suggestions** You get a list of suggested changes, split into three groups. Everything starts selected; deselect anything you don't want. **4. Apply** 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: ![WISEPIM translation feedback review with reviewer conflicts to resolve, explained settings changes and bulk terminology fixes](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-feedback-review-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=f63f55e4f3edfacdcf91132d60f9f7e6) * **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 from the current to the proposed value, 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. ![WISEPIM translation feedback terminology fixes - corrected term pairs per language with how often reviewers raised each one](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-feedback-terms-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=6b72f84f6f7b2b4332c2fa4e01d5623c) > [!NOTE] > > 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 > **[Translating Products](/en/products/translating-products)** > > Translate your catalog in bulk using these settings. > **[General Settings](/en/settings/general)** > > Add or manage the languages in your project. > **[Prompt Library](/en/essentials/prompt-library)** > > Reuse saved instructions across AI tasks. > **[Linguistic Review](/en/analytics/linguistic-review)** > > Check translated content for quality and consistency. > **[Knowledge Library](/en/other-features/knowledge-library)** > > The brand context that samples and translations draw on. # 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. ![WISEPIM usage settings with credit totals, value delivered, a daily usage chart and breakdowns by project and team member](https://mintcdn.com/swiftsyncai/lcqwGzyvnHeZm8_9/images/marketing-screenshots/settings/settings-usage-light-branded.webp?fit=max\&auto=format\&n=lcqwGzyvnHeZm8_9\&q=85\&s=696e8cc99cdf7b1223639d7152076b9a) 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. ## See your credit pace The card at the top always looks at the last 30 days, whatever range you pick below. It shows **You use about N credits a day** and when your credits run out at that pace, or that they last until your next reset. **Where your credits go** lists the actions that use the most. It also tells you whether your plan fits: * **Your plan fits** when your pace stays inside your monthly credits. * When one cycle runs short, it points to a one-off credit pack with **See credit packs**. * When your pace is above your plan, it names the plan that covers it. ## 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. > [!TIP] > > 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. You also see Category enrichment, Category translation, Option label translation, Linguistic review, Feed optimization, Feed AI audit, Dictionary AI and Keyword suggestions. [Billing](/en/settings/billing#what-each-action-costs) lists what each one costs. ### 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 > [!WARNING] > > 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: **1. Choose who can spend credits** 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. **2. Set a monthly cap per member** 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. **3. Save** Click **Save**. Both the member and the project owner get a warning when a member crosses 80% of their cap. > [!NOTE] > > 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). ## Other limits on spending Member caps are one of three separate limits. Check the right one when work stops: | Limit | What it caps | Where to set it | | - | - | - | | **Monthly cap** per member | What one team member can spend in a calendar month | **Spending controls** on this page | | **Automation budget** | What automations, imports and scheduled jobs can spend each month. Runs you start yourself are not counted | [Automation Budget Settings](/en/settings/ai-budgets) | | **Fixed budget** per project | What a project in an organization can spend from the shared pool | [Organization Settings](/en/settings/organization) | ## Act on what you find > **Credits disappeared faster than expected this month** > > 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. > **You want a budget per teammate** > > 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. > **You bill credits back to clients or departments** > > 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 > **[Billing Settings](/en/settings/billing)** > > See your credit balance, what each action costs, and buy extra credits. > **[Organization Settings](/en/settings/organization)** > > Share one credit pool across projects, and cap a project with a fixed budget. > **[Automation Budget Settings](/en/settings/ai-budgets)** > > Cap what automations, imports and scheduled jobs spend each month. > **[Team Management](/en/teams/team-management)** > > Invite teammates and assign the roles that spending controls build on. > **[Process Tracker](/en/other-features/process-tracker)** > > 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 supplier sites it trusts, which images it adds, which fields it updates, and how prices become a recommendation. ![WISEPIM Web Research settings page with the General section and the Sources section, including Supplier sources you choose and the Prefer my supplier sources switch](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-web-research-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=06a099ede01d586d3b3a5d9de3764b8a) Every [web research](/en/ai/web-research) run, whether 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. > [!NOTE] > > 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**, up to 365. Set it to 0 to always re-research, but that spends credits every run. To refresh one product inside the window, use **Research again** instead. * **Automatically apply results to products**: on by default. Turn it off and research results are only shown in the product's **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. > [!TIP] > > 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. Researched text (name, short description, description and text attributes) is always written in your project's language. Identifiers, units and numbers are kept as found, and copy that comes back in another language is dropped. ## Sources ### Supplier sources you choose Tell research which supplier or manufacturer sites you prefer. It keeps searching other sites for extra context and market prices. * **Prefer my supplier sources**: off by default. When on, specifications, attributes and description text stated by your chosen supplier are used without other sites having to repeat them, and their product images are tried first. * **Supplier website host**: add up to 10 hosts in priority order, for example `www.manufacturer.com`. The first host wins when suppliers disagree. `www.` and the bare domain count as the same site; add other subdomains separately. Add at least one host to switch the preference on. > [!NOTE] > > Only passages that match the product's identifier get this preference. Missing facts stay unknown and keep the normal check across sources, and conflicting facts from suppliers with the same priority stay unknown. The source restrictions below still apply. The product's **Research** tab shows which supplier pages were used in a **Trusted supplier source** card. ### Allowed sites 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. ## Images What product photos research adds to the [Media Library](/en/products/media-library) when images are switched on for a run: | Setting | Default | What it does | | - | - | - | | **Images per run** | 3 (1 to 10) | New images one research run may add | | **Enough images at** | 8 (1 to 30) | A product with this many images gets no more | | **Minimum size (px)** | 300 (100 to 3,000) | Shortest edge. Smaller images are skipped | | **Kind of photo** | **Prefer packshots (plain background)** | Or **Only packshots (plain background)**, **Prefer lifestyle photos**, **No preference**. Detected from the image itself, without AI | | **Avoid watermarked images** | On | Skips stock-photo sites and files marked as watermarked | | **Avoid logos and banners** | On | Skips logo, icon and badge files and banner-shaped images | | **Prefer the manufacturer's images** | On | Tries images from the brand's own website first | | **Give variants their own photo** | On | Variants without an image get the photo a cited shop lists for their barcode or SKU, or the photo whose file name names their colour | | **Image sources** | **Any website** | Or **Only these websites** / **Never these websites**, up to 50 domains. Matches the page or the image host, and is separate from the research sources | Research never replaces an existing image. New images go behind the ones you have, and the first one only becomes the main image when the product has none. Watermarks are recognised by source and file name, not by looking at the pixels. ## 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. > [!NOTE] > > 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. > [!WARNING] > > 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 > **[Web Research](/en/ai/web-research)** > > What research gathers and how to run it on your products. > **[Import by Scraping Settings](/en/settings/import-by-scraping)** > > Chain research automatically onto every scraped import. > **[Pricing & Margins](/en/settings/pricing)** > > Pricing rules applied when products are exported. > **[Enrich Prompts](/en/settings/enrich-defaults)** > > 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. ![WISEPIM WISECHAT setup wizard with a live preview of the storefront AI shopping assistant](https://mintcdn.com/swiftsyncai/iTqcybAHwFgjCQ3Q/images/marketing-screenshots/wise-chat/wise-chat-setup-light-branded.webp?fit=max\&auto=format\&n=iTqcybAHwFgjCQ3Q\&q=85\&s=7eb564e823036e4005d82fb73fca5109) > [!NOTE] > > 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. > [!TIP] > > 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. ![WISEPIM WISECHAT setup - behavior step with pricing/stock toggles and assistant tone](https://mintcdn.com/swiftsyncai/iTqcybAHwFgjCQ3Q/images/marketing-screenshots/wise-chat/wise-chat-setup-behavior-light-branded.webp?fit=max\&auto=format\&n=iTqcybAHwFgjCQ3Q\&q=85\&s=c48ef2fe62b5b10dff32a36d4415a9bc) ### 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 | > [!WARNING] > > 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. > [!TIP] > > 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. ![WISEPIM WISECHAT setup - install step with the embed snippet and per-platform install guide](https://mintcdn.com/swiftsyncai/iTqcybAHwFgjCQ3Q/images/marketing-screenshots/wise-chat/wise-chat-setup-install-light-branded.webp?fit=max\&auto=format\&n=iTqcybAHwFgjCQ3Q\&q=85\&s=e04260f21184a9ad0fe3ebc41454ee5d) **1. Copy the embed snippet** Click **Copy** to grab the script. It already includes your unique site key, so the widget knows which project's catalog to use. **2. Paste it into your store** 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. | **3. Verify the installation** 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. > [!NOTE] > > 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. **1. Review the summary** Check that the tone, language, and data toggles match what you want shoppers to experience. **2. Enable the widget** Click **Enable WISECHAT** to switch the assistant on. The widget only appears on your storefront once it is enabled. > [!WARNING] > > 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. > [!TIP] > > 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 > **[AI Chat](/en/ai/ai-chat)** > > Configure the in-app AI copilot that helps you manage your catalog. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Add brand, shipping, and returns content the assistant can answer from. > **[Integrations](/en/settings/integrations)** > > Connect the store platform where your widget gets installed. > **[Settings overview](/en/settings/overview)** > > 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 ![WISEPIM product lifecycle stages and status automation](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-lifecycle-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=97a38ca7fb198810c173b8c65add983a) 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. > [!NOTE] > > 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 **1. Start a new workflow** Click **Create Your First Workflow** if you have none yet. Otherwise click **Add Workflow** in the top right. **2. Name and describe it** Give it a clear name, like "Product Launch Pipeline." Add an optional description to explain its purpose. **3. Pick a color and icon** These help you tell workflows apart. They appear on the workflow cards in the list view. **4. Set the start and end stages** Choose the **From Stage** (where products begin) and the **To Stage** (where they should end up). WISEPIM finds every stage in between automatically. **5. Configure each stage** 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. > [!WARNING] > > 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). > [!TIP] > > 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 ![WISEPIM product workflows guiding products from draft through enrichment and review to live](https://mintcdn.com/swiftsyncai/lcqwGzyvnHeZm8_9/images/marketing-screenshots/settings/settings-workflows-light-branded.webp?fit=max\&auto=format\&n=lcqwGzyvnHeZm8_9\&q=85\&s=dd96b969941503335bd9ccf5faae1db8) 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. > [!WARNING] > > 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 > **[Product Lifecycle](/en/workflows/product-lifecycle)** > > Set up the stages your workflows move products through. > **[Managing Products](/en/essentials/managing-products)** > > 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. ![WISEPIM partner dashboard with commission, leads pipeline, audits and tier progress](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/partner/partner-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=f97a49b66c2a4cddf4bf758335c4ca01) 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. > [!NOTE] > > 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **[Agencies](/en/essentials/agencies)** > > How WISEPIM's multi-project architecture works for agency workflows: isolated client projects, bulk editing, and AI enrichment at scale. > **[Team management](/en/teams/team-management)** > > 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. ![WISEPIM invite team member modal with role presets and Admin/Editor/Viewer access levels](https://mintcdn.com/swiftsyncai/IyGHrSrokfI7rCt5/images/marketing-screenshots/settings/team-invite-member-modal-light-transparent.webp?fit=max\&auto=format\&n=IyGHrSrokfI7rCt5\&q=85\&s=556790fd5d450fb708ed7521d736bd4a) 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. > [!NOTE] > > Teams are project-scoped. Each project has its own team, so you control exactly who can see and edit each catalog. ## Open team settings ![WISEPIM team management with roles and permissions](https://mintcdn.com/swiftsyncai/zsz5Zz3-6-rcrJ5n/images/marketing-screenshots/settings/settings-team-light-branded.webp?fit=max\&auto=format\&n=zsz5Zz3-6-rcrJ5n\&q=85\&s=12b65ad158bd184af51ec1f44ceb5b1e) 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. **1. Open the invite modal** Click **Invite Member** in the top-right of the Team Members card. **2. Enter an email address** Type the email of the person you want to invite. They get an email with a link to join. **3. Choose a role** Pick **Admin**, **Editor**, or **Viewer**. Each option lists the permissions it includes, so you can choose with confidence. **4. Add a message (optional)** Write a short note so your colleague knows why you invited them. **5. Send the invitation** Click **Send Invitation**. The person appears under Pending Invitations until they accept. > [!WARNING] > > 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, edit, bulk-edit and delete products, import, export | | **Viewer** | Stakeholders who only read | View and export data | | **Custom** | Anyone with special needs | Exactly the permissions you switch on | > [!TIP] > > 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: * **Products**: view, create, edit, delete, bulk-edit, import and export products * **Catalog Structure**: manage attributes, categories and product families * **Integrations**, **AI & Enrichment**, **Analytics** and **Team & Settings**: who can connect shops, run AI, see reports and change the project * **Data Access**: which product fields and attributes a member can edit, in groups such as **Core Fields**, **Description**, **SEO**, **FAQs** and **Pricing** ### Who can delete products | Role | Delete one product | Bulk delete | | - | - | - | | **Owner**, **Admin**, **Editor** | Yes | Yes | | **Viewer** | No | No | | **Custom** | Needs **Delete Products** | Needs **Delete Products** and **Bulk Edit** | > [!NOTE] > > A large bulk delete runs in the background. When it starts, WISEPIM checks the permissions of the person who launched it again. If their role lost those permissions in the meantime, the run stops and nothing is deleted. Resuming a stopped bulk delete needs the same permissions, and it then runs as the person who resumed it. > [!NOTE] > > 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 **1. Find the member** Open the member list on the Team & Permissions page. **2. Open the actions menu** Click the three-dot menu on the right of their row. **3. Edit permissions** Select **Edit Permissions**. Pick a preset role, or switch individual permissions on and off for a custom setup. **4. Save** Click **Save**. The change takes effect right away. ## Remove a team member **1. Open the actions menu** Click the three-dot menu on the member's row. **2. Remove from project** Select **Remove from Project**. **3. Confirm** A dialog titled **Remove `{name}`?** asks you to confirm: "`{name}` will immediately lose access to this project. Their user account and work are not deleted." Their past edits to product data stay. > [!WARNING] > > 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 an invitation** > > Resend the email if the recipient never received it. > **Copy the invitation link** > > Copy the link to share it yourself, for example over Slack or another chat tool. > **Cancel an invitation** > > Cancel an invitation you no longer need. A **Cancel this invitation?** dialog asks you to confirm first. ## Best practices > **Start with Viewer** > > When unsure, invite people as Viewers. You can raise their role later once you know what they need. > **Use Custom roles** > > Give members exactly the access they need, and nothing more, with a Custom role. > **Review access regularly** > > Check your team list now and then. Remove anyone who no longer needs access to keep your data safe. > **Add context to invites** > > Use the message field so new members know why you added them and what to do. ## Related > **[Partner Dashboard](/en/teams/partner-dashboard)** > > Give partners a focused view of the products they work on. > **[Agencies](/en/essentials/agencies)** > > Run multiple clients and brands from one WISEPIM account. > **[Security Settings](/en/settings/security)** > > Manage passwords, sessions, and access security. > **[Delete Products](/en/essentials/bulk-editing/delete-products)** > > Remove products in bulk, and see what gets deleted with them. # 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. > [!NOTE] > > Content Logic is in **Beta**. Select a project, then open it from **Settings > Content Logic**. ## Why use Content Logic? ![WISEPIM content logic builder with reusable variables, formulas and channel rules](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-content-logic-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=254e689f406594ebf15c18b9191ff432) > **Consistency at scale** > > Define a content pattern once. Apply it to hundreds or thousands of products automatically. > **Dynamic content** > > Use formulas and conditions so content adapts to each product's attributes, brand, or category. > **Channel optimization** > > Reshape content per channel: truncate for marketplaces, format for your webshop, strip HTML for feeds. > **Less manual work** > > Stop copying and pasting. Let variables and conditions generate the content for you. > [!NOTE] > > 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}}`. > [!TIP] > > Browse the Defaults tab before you build custom variables. You might already have what you need. > **Date & time** > > | 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 | > **Product identity** > > | 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 | > **Product content** > > | 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 | > **Pricing** > > | 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 | > **Physical properties** > > | 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 | > **Inventory** > > | 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 | > **Shipping & customs** > > | Variable | Description | > | - | - | > | `{{product.hs_code}}` | Harmonized System code | > | `{{product.country_of_origin}}` | ISO country code | > **Status & scores** > > | Variable | Description | > | - | - | > | `{{product.status}}` | active, inactive, pending, or archived | > | `{{product.completion_score}}` | Data completeness percentage | > | `{{product.quality_score}}` | Overall quality score | > **Store info** > > | 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. **1. Open the Global tab** Go to **Settings > Content Logic** and click **Global**. **2. Add a variable** Click **Add Variable**. Enter a key (letters, numbers, and underscores only) and a value. The value field supports autocomplete. Type `{{` to reference other variables. **3. Use it in content** 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 | > [!TIP] > > 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. **1. Define the fields** On the **Brands** tab, click **Add Field** and fill in the **Field key**, **Field label**, and **Field type** (text, long text, or URL). The key uses letters, numbers, and underscores only, and each key must be unique. WISEPIM won't save a field without a valid key. **2. Fill in values per brand** 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". **3. Reference in content** 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) ![WISEPIM content logic, the Products tab where dynamic products rules are defined](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/content-logic-products-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=7ef8e7b7d017726075172ae866b0309c) Product variables use formulas to compute new values from existing product data. They recalculate per product. **1. Open the Products tab** Go to **Settings > Content Logic** and click **Products**. **2. Add a variable** Click **Add Variable**. Enter a label, key, and formula. Use **Insert Field** and **Insert Operator** to build it, or type `{{` for autocomplete. **3. Check the preview** The preview shows an **Example using sample values**, so you can check the output before saving. It uses sample data, not a live product. When a reference has no sample value, the preview leaves it visible and warns you to check it. ### Formula operators > **Arithmetic** > > | 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` | > **Math functions** > > | 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}})` | > **Text functions** > > | 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: a price of 120.99 gives `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` > [!WARNING] > > 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) ![WISEPIM content logic, the Channels tab where dynamic channels rules are defined](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/content-logic-channels-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=75098a93bfb9d7bfbabcd8a59eb5423d) 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. **1. Open the Channels tab** Go to **Settings > Content Logic** and click **Channels**. **2. Add a transformation** Click **Add Transformation**. Enter a label and key, then pick the **Source field** to transform. **3. Add channel rules** Under **Channel Rules**, click **Add Rule** for each step. Rules run from top to bottom: the output of one becomes the input for the next. **4. Pick the channel per rule** Each rule has a channel box with the hint **Exact channel ID (blank for all)**. Leave it blank to apply the rule to every channel, or enter the exact channel ID, such as `shopify`, `woocommerce`, `magento2`, `lightspeed`, `ccvshop`, `bol`, or `google_merchant_center`. A rule with another channel ID is skipped for that export. ### 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, at the last space when there is one in the second half | | **Strip HTML** | None | Removes all HTML tags, leaving plain text | | **Template** | Template string | Wraps the text. `{value}` (single braces) stands for the incoming text; everything else stays literal | | **Bullet Points** | Max bullets (default: 5) | Splits the text at each full stop and turns the sentences into a bullet list | > [!TIP] > > Order your rules carefully. Strip HTML first, then truncate. Otherwise you might cut in the middle of an HTML tag. > [!WARNING] > > Channel rules also change the field you export. When WISEPIM exports to a channel, it runs every rule for that channel, plus every rule with a blank channel, on the matching source field before sending it. A blank-channel Truncate on Description shortens the description in every export. Enter a channel ID on each rule unless you want that. ### Example channel variables **Amazon short description:** * Source: Description * Rules: Strip HTML, then Bullet Points (max: 5), then 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} - Buy at Industrial Supplies BV`), then Truncate (150) * Result: "Stainless Steel Hex Bolt M10x50 - Buy at Industrial Supplies BV" **Marketplace plain-text description:** * Source: Description * Rules: Strip HTML, then 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. **1. Create a block** On the **Conditional** tab, click **Add Block**. Give it a name and key. **2. Define conditions** Click **Add Condition**, pick a product field, choose an operator, and enter a value. With more than one condition, set the **Condition match mode**: **AND** needs every condition to match, **OR** needs just one. Each branch has its own match mode. **3. Write content for each branch** Enter the content for when the conditions are met (**then**). Click **Add Else If** for other cases, and add optional **else** content for the fallback. ### How branches are picked The first matching IF or ELSE IF branch is used. ELSE runs when none match. A branch without conditions shows **No conditions: this branch matches every product.**, so put it last or it hides the branches below it. ### 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 > **Start with Globals** > > 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. > **Use descriptive keys** > > Name variables clearly: `warranty_text`, not `var1`. You reference these keys everywhere, so keep them readable. > **Test with real products** > > After you create a block or formula, check it against different products. Use the live preview to catch issues early. > **Layer your scopes** > > Combine scopes in one formula: globals for shared text, brand variables for manufacturer details, category variables for product-type details. ## Related > **[Bulk Editing](/en/essentials/bulk-editing)** > > Apply variables across many products at once with bulk actions. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Inject variables into AI prompts for richer, on-brand content. > **[Export Templates](/en/settings/export-templates)** > > Format channel-ready output using your Content Logic variables. > **[Automations Overview](/en/automations/overview)** > > 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. > [!NOTE] > > 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 ![WISEPIM content logic builder with reusable variables, formulas and channel rules](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-content-logic-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=254e689f406594ebf15c18b9191ff432) Reach for a workflow when a person needs to review and fix product data step by step. Common jobs: > **Audit your catalog** > > Find every product with missing or low-quality data, then work through the list until it is clean. > **Prepare a launch** > > Make sure new products meet your standards before they go live on your sales channels. > **Improve quality** > > Raise quality scores across the catalog by fixing descriptions, images, SEO, and more. > **Move products forward** > > 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. **1. Open the builder** Go to **Workflows** and click **Create Workflow**. You can also add one from **Settings > Workflows**. **2. Name your workflow** Give it a clear name, like "Q1 Launch Prep", and a short description of its purpose. **3. Set a pre-filter (optional)** Click **Add Pre-filter** to limit the workflow to a set of products, like only "Electronics". This filter applies to every stage and task. **4. Configure stages** 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. **5. Add tasks** 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. **6. Save** 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). > [!NOTE] > > 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. > **Quick Fixes** > > Low quality score, unreviewed products, missing main image. > **Content** > > Missing description, short description under 100 characters, missing reviewed name. > **SEO** > > Missing meta title, short meta description, no meta keywords. > **Commerce** > > Missing price, no SKU, zero price, missing brand. > **Inventory** > > Out of stock, low stock, no stock info. > **Media** > > No images, missing image URL. > **Quality** > > Critical quality below 25%, incomplete below 50%. > **Translation** > > Not translated, partially translated. ## Run a workflow Click **Start Workflow** from the workflows page to open the task view. ![WISEPIM saved workflow tasks with current matching products and recoverable progress](https://mintcdn.com/swiftsyncai/IyGHrSrokfI7rCt5/images/marketing-screenshots/workflow/workflow-task-review-light-branded.webp?fit=max\&auto=format\&n=IyGHrSrokfI7rCt5\&q=85\&s=24404764e8c0f4cd98f293aa13684983) Stages and their tasks sit in the sidebar. Pick one and its matching products fill the main area. The page states its own rule up front: "Each task shows products that currently match its criteria, within the workflow and stage filters." Working through a task goes like this: * The heading counts what is left, as "12 products need attention". * Every match is listed by name and SKU, and **View product** opens it for editing. * Long lists page with **Previous** and **Next**. * **Refresh results** re-runs the filter, so the count catches up with what you just fixed. A task is finished when nothing matches it any more: "No products currently match this task". Each task is checked on its own, so an empty one tells you nothing about the rest of the stage. > [!NOTE] > > Counts move when you refresh, not on their own. That is deliberate: the list holds still while you work through it, instead of shifting under you. > [!TIP] > > You can pause and come back any time. There is no saved position to lose: the task view is a live filter over your catalog, so reopening it just asks the same question again and shows whatever still needs work. ## 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 ![WISEPIM product workflows guiding products from draft through enrichment and review to live](https://mintcdn.com/swiftsyncai/lcqwGzyvnHeZm8_9/images/marketing-screenshots/settings/settings-workflows-light-branded.webp?fit=max\&auto=format\&n=lcqwGzyvnHeZm8_9\&q=85\&s=dd96b969941503335bd9ccf5faae1db8) 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 > **[Product Lifecycle](/en/workflows/product-lifecycle)** > > Define the stages products move through, and connect them to your workflows. > **[Automations](/en/automations/overview)** > > Set up actions that run on their own when conditions are met. > **[Workflow Settings](/en/settings/workflow-settings)** > > 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. > [!NOTE] > > The lifecycle is set up per project. Go to **Settings > Product Lifecycle** to configure your stages. ## Why use lifecycle stages ![WISEPIM product lifecycle stages and status automation](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-lifecycle-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=97a38ca7fb198810c173b8c65add983a) > **See status at a glance** > > Know instantly which products are drafts, in review, approved, or published. No guessing. > **Follow one process** > > Every product follows the same repeatable steps, so nothing gets published before it is ready. > **Set quality gates** > > Add requirements and checklists per stage. Products cannot advance until they pass. > **Drive your workflows** > > Stages connect to [Workflows](/en/workflows/overview), so guided processes can move products forward. ## Enable the lifecycle **1. Open the settings** Go to **Settings > Product Lifecycle**. Make sure a project is selected in the project switcher. **2. Turn it on** Flip the **Enable Product Lifecycle** switch at the top of the page. **3. Configure stages** 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. > [!TIP] > > 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. > [!WARNING] > > 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. **1. Add a condition** Click **Add Condition** in the stage's requirements area. **2. Pick a field** 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**. **3. Choose an operator** 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 | **4. Set a value** Enter the value to compare against. Operators like "is empty" need no value. **5. Set the logic** 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. **1. Add an item** Click **Add Item** in the stage's checklist section. **2. Describe the task** Write a clear, actionable item, like "Verify all images are at least 1000x1000px". **3. Add more as needed** Repeat for every manual check that belongs in this stage. > [!TIP] > > 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. > [!NOTE] > > 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. > **Simple two-stage review** > > Best for small teams that just need a basic review step. > > 1. **Not Reviewed** (Red): awaiting initial review. > 2. **Reviewed** (Green): checked and approved. > **E-commerce publishing pipeline** > > 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. > **Multi-market launch** > > 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. > [!NOTE] > > Undo reverts everything at once. There is no partial undo. To keep some changes and drop others, save first, then make more edits. > [!WARNING] > > 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. > [!TIP] > > The lifecycle column adjusts its width to your stage names, so they stay readable without wasting space. ## Related > **[Workflows](/en/workflows/overview)** > > Run guided processes that find, fix, and move products through your stages. > **[Product Attributes](/en/other-features/managing-attributes)** > > Define the fields your stage requirements can check against. # 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. > [!NOTE] > > **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). > [!TIP] > > **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. ![WISEPIM default enrich prompts per enrichment type, preselected in the enrich modal and used by Auto-Fill](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-enrich-defaults-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=6335a3e7482514bf5a9931be90df285c) **1. Run it manually and note every click** 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. **2. Promote your prompts to project defaults** 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. **3. Refine the prompt against real products** 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. **4. Save the filter you always apply** 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. **5. Decide who should hear about it** 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. ![WISEPIM visual automation builder with a branching product launch pipeline](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automation-builder-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=831ab8963da9c01e1393471236e9936c) **1. Start from a template** 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. **2. Set the trigger to After Import** 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. **3. Select only the products that just arrived** 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. **4. Pick the enrichment** 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. **5. Branch if two groups need different treatment** 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. **6. Notify, test, then activate** 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. > [!NOTE] > > 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 ``` ![WISEPIM Quality Guard quarantine holding non-compliant products before sync](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=612f547fbdc58a1dd29f1fbaf2dff6fb) **1. Understand what a drop actually costs you** 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. **2. Create a second automation on Quality Changed** 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. **3. Re-enrich what slipped** 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. **4. Notify a human anyway** 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. ![WISEPIM automations list with triggers, run counts and status](https://mintcdn.com/swiftsyncai/nQ1qi-TuISKNptfQ/images/marketing-screenshots/automations/automations-light-branded.webp?fit=max\&auto=format\&n=nQ1qi-TuISKNptfQ\&q=85\&s=c7da084f671545619e9008c8daf7ce72) | 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 | > [!TIP] > > 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 > **It ran, but nothing got enriched** > > 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. > **The success rate dropped below 80 %** > > 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. > **A run stopped because credits ran out** > > 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. > **The Quality Changed automation fires far too often** > > 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. > **The unattended content is off-brand** > > 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 > **[Automations overview](/en/automations/overview)** > > Manage, monitor, and read the success rate of every workflow you build. > **[Automation triggers](/en/automations/triggers)** > > The full reference for all seven triggers, including After Import and Quality Changed. > **[Run a weekly catalog health routine](/en/guides/weekly-maintenance-routine)** > > The 45-minute Monday round that checks whether your automations are still behaving. > **[Onboard a supplier catalog end to end](/en/guides/onboard-a-supplier-catalog)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM data quality dashboard with score, trends and field health](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=bb56502c7355993892b46178f287f950) **1. Write down your score and your worst grades** 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. **2. Read the action queue on the Overview** 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. **3. Count the damage with preset filters** 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. ![One-click preset filters for common data issues in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-presets-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=dc8066e07c1179935c9b1a348ee64ea1) **4. Find the duplicates now, not later** 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. **5. Save the filters you will re-run** 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. ![Bulk editing, Trim Whitespace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-trim-whitespace-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=8ee0b0c8c7b60da5df220cd81dba6693) **1. Trim whitespace first** [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. **2. Standardize case second** [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. **3. Find and replace third** 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. **4. Remove the links that point somewhere else** 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. **5. Normalize the numbers and the units** 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. ![Enriching products with AI, categorization in WISEPIM](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-categorization-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=527c73d19dd815cdfad475a440fecea2) **1. Categorize confidently first** 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. **2. Run a second, looser pass on what is left** 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. **3. Fix products that landed nowhere** 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. **4. Set the primary category** 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. **5. Group the flat variant rows** 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. **1. Recalculate the quality scores** 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. **2. Compare against your baseline** 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. **3. Write two or three Quality Guard rules** 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. ![WISEPIM Quality Guard rules list with severity and scope](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-rules-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=fc3c560d7946c5d36150af833ec95ffa) **4. Set them to Warn, not Block** 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 > **I cleaned thousands of products and the score didn't move** > > 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. > **Thousands of products are still uncategorized after two passes** > > 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). > **Group as Variants is greyed out or skipped half my selection** > > 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). > **Remove Links stripped links I wanted to keep** > > 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). > **The score dropped instead of rising** > > 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 > **[Data Quality](/en/analytics/data-quality)** > > The score, the grade distribution, and the fix workspace you measure against. > **[All bulk actions](/en/essentials/bulk-editing)** > > Every bulk edit used in this guide, with its full option list. > **[Consistent terminology](/en/guides/make-terminology-consistent)** > > Collapse the brand-name and wording variants this cleanup will surface. > **[Weekly routine](/en/guides/weekly-maintenance-routine)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM returns and refund analytics by quality grade](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-returns-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=a74ebe7c9bb25bd65ab41d74df1b3dda) **1. Write down your baseline** 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. **2. Read the return-rate-by-quality-grade chart** 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. **3. Check the top return reasons** 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. **4. Pick your worst offenders** 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. ![WISEPIM data-quality fix workspace ranking issues by revenue impact](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-fix-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=ab24b65f85428b4c67112a97dfd39198) **1. Open the worst offenders in Data Quality** 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. **2. Use the Fix with AI drawer, and test on one first** 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. ![WISEPIM Fix Review drawer showing affected products, the planned change with credit cost, and a test-on-one preview before applying to all](https://mintcdn.com/swiftsyncai/e5lHCbnPIlrrYMyG/images/marketing-screenshots/analytics/fix-review-drawer-light-transparent.webp?fit=max\&auto=format\&n=e5lHCbnPIlrrYMyG\&q=85\&s=47f3de74d6792b95b6b8e14624f6ac9f) **3. Run an AI Quality Review on the target list** [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. **4. Fill the specs a shopper needs to be sure** 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. **5. Audit the images and their alt text** 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. ![WISEPIM Quality Guard rule builder configuring a meta-title length check with warn severity](https://mintcdn.com/swiftsyncai/k8eHWZw09BmC2dLt/images/marketing-screenshots/quality-guard/quality-guard-rule-builder-light-branded.webp?fit=max\&auto=format\&n=k8eHWZw09BmC2dLt\&q=85\&s=a29b542dedcaab4a0f863d630e7584bf) **1. Turn the gap you just fixed into a rule** 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. **2. Start at Warn, not Block** **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. **3. Export the fixed content to your storefront** 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. **4. Verify on the live site and note the date** 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 | > [!TIP] > > 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 > **The quality-grade gradient is flat, so where do I even start?** > > 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. > **Three weeks later and the return rate hasn't moved** > > 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. > **I have no return reasons at all** > > 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. > **Attribute extraction filled almost nothing** > > 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. > **My new Quality Guard rule is quarantining half the catalog** > > 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. > **Web Research came back empty for my worst products** > > 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 > **[Returns & Refunds](/en/analytics/returns)** > > The report behind this guide: rates, reasons, and the quality-grade gradient. > **[AI Quality Review](/en/analytics/quality-review)** > > Twelve dimensions that catch the mismatches customers send products back over. > **[Clean up an inherited catalog](/en/guides/clean-up-an-inherited-catalog)** > > When the return problem is really an inherited-data problem across the whole catalog. > **[Weekly maintenance routine](/en/guides/weekly-maintenance-routine)** > > 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. > [!NOTE] > > **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). > [!TIP] > > **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. ![One-click data quality preset filters in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-presets-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=dc8066e07c1179935c9b1a348ee64ea1) **1. Open the Presets tab for a damage report** 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. **2. Run the is-duplicate operator on SKU** 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. **3. Repeat it on EAN** The same operator works on EAN, which catches the duplicates that slipped through under different SKUs. **4. Review, then merge or delete** 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. ![Bulk editing, Standardize Text Case across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/vvEFN06AYT2fgPzY/images/marketing-screenshots/products/products-bulk-edit-standardize-case-light-transparent.webp?fit=max\&auto=format\&n=vvEFN06AYT2fgPzY\&q=85\&s=fff5e0a4581ce19422462798adccc6e2) **1. Trim whitespace** [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. **2. Standardize case** [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. **3. Fix terms with find and replace** [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. **4. Clean the numbers** [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. **5. Filter narrowly before each run** 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. ![Bulk editing, Find and Replace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=4be9d8602b6e21027161bd6657609518) ## 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. ![AI Categorization settings in WISEPIM, confidence threshold and category count options](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-categorization-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=527c73d19dd815cdfad475a440fecea2) **1. Run categorization at the default confidence** 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. **2. Lower the threshold for a second pass** 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. **3. Cap the category count if your merchandising needs it** 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. **4. Collapse flat variant rows** 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. **5. Assign product families** [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. ![Bulk editing, Group as Variants across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/5wIUMdLHCHxzwx8X/images/marketing-screenshots/products/products-bulk-edit-group-as-variants-light-transparent.webp?fit=max\&auto=format\&n=5wIUMdLHCHxzwx8X\&q=85\&s=ea7376f225e5336130b0c61678a16254) ## 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 > **Thousands of products stayed uncategorized** > > 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. > **Products landed in the wrong category** > > 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. > **Group as Variants is unavailable** > > 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. > **A find and replace hit more than I expected** > > 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. > **A filter suddenly matched my whole catalog** > > 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 > **[4. Enrich your catalog with AI](/en/guides/first-catalog/enrich)** > > Next in the series: fill the gaps without overwriting the data you just cleaned. > **[Clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog)** > > The same cleanup with a measured baseline in front and a Quality Guard floor behind it. > **[Filtering & searching products](/en/products/filtering-products)** > > Presets, the is-duplicate operator, and saved filter sets. > **[Bulk editing](/en/essentials/bulk-editing)** > > 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. > [!NOTE] > > **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). > [!TIP] > > **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 missing data in WISEPIM, detects content gaps and fills them in one run](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-auto-fill-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=cccf303c696f1a287109a038c7a05e22) | | [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 | **1. Confirm Auto-Fill is your tool** 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. **2. Check which gap types are available** 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. **3. Leave the overwrite threshold off for now** 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. ![WISEPIM product preview comparing original and AI-enhanced content side by side](https://mintcdn.com/swiftsyncai/sZPsCKeRUxsBrGey/images/marketing-screenshots/products/products-preview-compare-light-branded.webp?fit=max\&auto=format\&n=sZPsCKeRUxsBrGey\&q=85\&s=d0bb1b03a97119fa348be9fe6df68de2) **1. Choose a deliberately mixed sample** 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. **2. Run Auto-Fill on just those ten** 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. **3. Read every generated field** 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. **4. Fix the prompt, not the products** 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. **5. Repeat until boring** 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. ![WISEPIM process tracker task detail with live enrichment progress and item-level results](https://mintcdn.com/swiftsyncai/7sTUImuhkpxjbX7R/images/marketing-screenshots/process/process-tracker-task-detail-light-branded.webp?fit=max\&auto=format\&n=7sTUImuhkpxjbX7R\&q=85\&s=bf2f49dc20b8815839b6b86d7476e63a) **1. Filter, select all matching, and check the count in the modal header** 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. **2. Start the run and let it go** 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. **3. Read the What's happening timeline** 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. **4. Resume, never restart** 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. **5. Read the recap when it finishes** "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. ![WISEPIM data quality dashboard with score, trends and field health](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-data-quality-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=bb56502c7355993892b46178f287f950) | 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 > **It overwrote descriptions I wanted to keep** > > 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. > **Some products came out far better than others** > > 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. > **The run stopped halfway through** > > 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. > **A content type was skipped entirely** > > 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. > **The copy doesn't sound like our brand** > > 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 > **[5. Publish your first enriched catalog](/en/guides/first-catalog/publish)** > > Next in the series: get the enriched data out to your store or channel without surprises. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > When the output is close but not yet yours. > **[Auto-Fill Missing Data](/en/ai/auto-fill)** > > Gap types, prompt overrides, and the overwrite threshold. > **[Bulk Enrich](/en/ai/bulk-enrich)** > > 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 your choices, 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. > [!NOTE] > > **Before you start:** finish [part 1](/en/guides/first-catalog/set-up), and have your file ready (CSV, Excel, JSON or XML, ideally with column names 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). > [!TIP] > > **What you'll get:** your full catalog in WISEPIM with variants and images structured correctly, saved import choices for next time, and no critical fields left silently empty. ## Decide the rules before you upload anything Two places decide what happens when an incoming product already exists, and they cover different imports. **Platform imports** follow the project-wide [Import settings](/en/settings/import). They apply to every platform import, including the ones your colleagues run later. Setting them before the first import is what makes the second and third boring. | If your platform data… | 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 the imported value, blanks included | | Should only ever add new products | **Skip** | The existing product is left untouched and the incoming duplicate is ignored | > [!WARNING] > > **Overwrite** replaces every field, so a partial source is how a good description gets replaced with a blank. Reach for it only when the source is genuinely complete. **File imports** ask per file, on the review screen, under **What this import does**: | If your file… | Choose | | - | - | | Brings new products and updates existing ones | **Add new products and update existing ones** | | Is a stock or price update for products you already sell | **Only update existing products** | | Should only ever add new products | **Only add new products** | Next to it, **Find existing products by** decides the match: **SKU, then EAN/GTIN** is the safe default for supplier files, because a row with a new SKU still finds your product by its barcode. Empty cells in a file never erase what's already in WISEPIM. **1. Set your platform conflict resolution** Pick from the first table in [Import settings](/en/settings/import). It is your safe default for platform imports, not a lock. **2. Set empty-field handling** **Skip empty fields** keeps whatever is already in WISEPIM, which is the safe choice when a source only carries part of each product. The alternatives clear the field or fall back to the attribute's default. **3. Pick a validation strictness** 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. **4. Add import filters if the source has junk in it** 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. **1. Drop the file and answer any questions** On the Products page, click **Import**, choose **CSV Import** and drop your file on **Import your products**. If WISEPIM can't tell how to read it, **A few choices before importing** asks first: whether the first row holds column names, which worksheet, the number or date format, or a measurement unit. **2. Read Here's what we found** The review shows the row and column count, how products are matched, which columns go into which fields and which become new fields, and **How a product will look**. Fix a wrong guess here with **Not right? Change it**, or click a column to pick another field. **3. Check the variants and images** When rows share a parent, the **Variants** card offers **Group variants under their parent product** and shows how many products and variants that gives. Check the image columns too: several URLs in one cell are split on a separator, and numbered columns such as "Image 1" and "Image 2" fill the gallery in order. Getting this right here saves regrouping by hand in part 3. **4. Import, then save your choices** Click **Import 50 products**. WISEPIM remembers your choices for the next file with the same columns. To use them for files with other names too, choose **Advanced** > **Save these choices** and save them as an import profile. **5. Open five imported products and read them** Check the title, price, images, and category path on a handful of records. This is the step people skip and regret. ![WISEPIM CSV import column mapping, matching spreadsheet columns to product fields](https://mintcdn.com/swiftsyncai/ZxhmbRiNDZBg3-jj/images/marketing-screenshots/products/products-csv-import-mapping-light-branded.webp?fit=max\&auto=format\&n=ZxhmbRiNDZBg3-jj\&q=85\&s=dd20ab9476e7949a5c3840a2924bd304) Need more control than the review gives you? **Advanced** opens the full importer with **Map columns by hand**, duplicate handling and variant modes. See [Importing Products](/en/essentials/importing-products#advanced). ## Run the full import and work Import cleanup With the mapping proven on 50 rows, run the rest. Imports execute in the background, so you can keep working while they do. ![WISEPIM post-import cleanup wizard triaging missing weight, images and prices by impact](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-cleanup-light-branded.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=89d83507b3a98473b9a771a8b71fae79) **1. Drop the full file** A file with the same columns gets your remembered choices automatically: "We reused your choices from the last file with these columns." Otherwise pick your import profile under **Advanced**. Then start the import. **2. Follow it in the Process Tracker** 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. **3. Work Import cleanup** After a file import, WISEPIM scans for missing critical fields and opens **Import cleanup** 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. **4. Make the keep-or-redo call now** 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 | | - | - | - | | New and existing product counts, variants | **Matching existing products** and **Variants** on the review | Before you import, 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 > **Every size and colour arrived as its own product** > > **Group variants under their parent product** was off, or WISEPIM didn't recognize the parent column. 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). > **The images didn't come through** > > Usually the image separator did not match your file, or the image column was never mapped. Import cleanup checks whether an unmapped column looks like image URLs and offers to re-run with it mapped. > **Hundreds of rows never appeared** > > Rows that can't be imported are listed on the review before you start, with the reason, and **Download these rows** gives you a file to fix. Also check **What this import does**: with **Only update existing products**, new products are left out on purpose. > **Good descriptions came back blank** > > On a platform import, that is **Overwrite** doing what it says on partial data. Roll the import back, switch conflict resolution to **Merge** in [Import settings](/en/settings/import), and run it again. A file import never erases a value with an empty cell, so check whether the column held real blanks or placeholder text. > **My platform isn't in the import list** > > 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 > **[Clean and structure what you imported](/en/guides/first-catalog/clean)** > > Next in the series: dedupe, normalize, categorize, and group variants in the right order. > **[Migrate platforms without losing data](/en/guides/migrate-your-catalog)** > > The same import discipline applied to a full replatform. > **[Importing Products](/en/essentials/importing-products)** > > Every source, every step of the importer, and what each option does. > **[Import Settings](/en/settings/import)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM Quality Guard quarantine holding non-compliant products before sync](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=612f547fbdc58a1dd29f1fbaf2dff6fb) **1. Read your compliance rate** 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. **2. Find the violators before they are blocked** 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. **3. Fix the data, in bulk** 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. **4. Resolve the queue** Back in [Quarantine](/en/quality-guard/quarantine), use **Bulk Resolve** on the entries you fixed. One root cause often clears several rules at once. **5. Bypass only with a written reason** 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. ![Filtering products by Quality Guard compliance in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-filters-compliance-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=262043f6dfada63a9b8ff95db0f78c12) ## 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 | ![Exporting selected products from WISEPIM to a store, marketplace, data platform or file](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-export-modal-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=d37ba5c0e2b770f3d8e52198f445e0a7) **1. Select the products and open Export** 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. **2. Go with the defaults on the first run** 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. **3. Check your pricing rules first** 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. **4. Understand skip-unchanged before your second run** 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. **5. Watch it, then spot-check the channel** 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 | ![WISEPIM channel sync reliability and integration health](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-integration-health-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=3fe30bca9a6cf032f7e468728d24ed22) ## When it doesn't work > **Nothing was sent, everything was skipped** > > 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. > **Products are missing from the export** > > 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. > **The exported prices are not the prices in WISEPIM** > > 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. > **The buyer says the columns are wrong** > > 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. > **The channel keeps rejecting products** > > 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 > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > Take the same catalog to a marketplace with its own rules. > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > Promote this five-part run into an automation with a quality safety net. > **[Exporting products](/en/essentials/exporting-products)** > > Every destination, option, and troubleshooting path for exports. > **[Quality Guard](/en/quality-guard/overview)** > > 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"] ``` > [!NOTE] > > **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). > [!TIP] > > **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. ![WISEPIM onboarding markets step selecting primary and additional locales](https://mintcdn.com/swiftsyncai/bHDulNVOx41Wn3na/images/marketing-screenshots/onboarding/onboarding-markets-light-branded.webp?fit=max\&auto=format\&n=bHDulNVOx41Wn3na\&q=85\&s=92e3152c5952b7185ae83b1483ce9f67) **1. Work through the onboarding wizard** 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. **2. Enter your real store URL** 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. **3. Choose markets and languages deliberately** These become your project locales, and everything you import and translate later hangs off them. Decide now, while the catalog is empty. **4. Confirm the details in General settings** 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. ![WISEPIM knowledge library brand-identity form capturing brand story, voice and values for grounded AI](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/knowledge/knowledge-library-brand-identity-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=d1030bb5d3b66efcb4749066f6423b98) **1. Open the Knowledge Library and start with brand identity** 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. **2. Add brand voice and target audience next** 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. **3. Cover value proposition and content requirements** 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. **4. Paste from documents you already have** 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. ![WISEPIM default enrich prompts per enrichment type, preselected in the enrich modal and used by Auto-Fill](https://mintcdn.com/swiftsyncai/DPc0xvwLR8mma6T1/images/marketing-screenshots/settings/settings-enrich-defaults-light-branded.webp?fit=max\&auto=format\&n=DPc0xvwLR8mma6T1\&q=85\&s=6335a3e7482514bf5a9931be90df285c) **1. Start from the curated prompts** 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. **2. Try it on a real product** 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. **3. Set your defaults** 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. **4. Leave no dropdown on 'No 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. ![WISEPIM keyword settings - category-scoped SEO keywords the AI works into generated content, with bulk tools and generation](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-keywords-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=f21ea3c1c7ea4764202b9e4c9fe5baa2) **1. Set your product defaults** 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. **2. Add a SKU pattern if your file lacks SKUs** 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. **3. Build a focused positive keyword list** 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. **4. Add negative keywords too** 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 > **Options in the Auto-Fill panel are greyed out** > > 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. > **A prompt dropdown is empty, so I can't set a default** > > 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. > **The AI output still reads generic** > > 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. > **A settings page asks me to pick a project first** > > Enrich Prompts, Export Templates, Keywords, and General settings are project-level. Choose a project in the project switcher, then reopen the page. > **I already imported before reading this** > > 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 > **[2. Import your catalog safely](/en/guides/first-catalog/import)** > > Next in the series: test-import, map once, and keep a rollback option open. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > Go deeper on brand voice so thousands of descriptions still sound like you. > **[Knowledge Library](/en/other-features/knowledge-library)** > > Every field the AI reads before it writes a single word. > **[Enrich Prompts](/en/settings/enrich-defaults)** > > 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. > [!NOTE] > > **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). > [!TIP] > > **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. ![WISEPIM translation settings with tone, fields and language controls](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=bba4fce7234980cfa75ed81bcc9049d8) **1. Add the locale to your project** 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. **2. Enrich the source language first** 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. **3. Lock your terminology in the dictionary** 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. **4. Pick strict mode, or pick a tone** 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. **5. Set formality for the language** 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. **6. Decide how units should behave** **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. > [!NOTE] > > 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. | ![Enriching products with AI, translation in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-translation-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=722b9d0d6f75260d3cef655eca099e31) **1. Translate 5 to 10 products on Fast** 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**. **2. Read the result in the target language** 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. **3. Only now decide about Pro** 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. **4. Run the catalog by category** 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. **5. Let a stopped run resume** 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. ![WISEPIM Linguistic Review scoring translation quality across six linguistic criteria](https://mintcdn.com/swiftsyncai/w-iRd3kgM4B-Gv03/images/marketing-screenshots/analytics/analytics-linguistic-review-light-branded.webp?fit=max\&auto=format\&n=w-iRd3kgM4B-Gv03\&q=85\&s=d92158c5564c3a567fab45d5eb738522) **1. Run a review on the full catalog for the locale** 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. **2. Read the six criteria, not just the headline score** 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. **3. Apply the one-click consistency fixes** 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. **4. Confirm the score before you publish** 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. ![WISEPIM keyword settings with category-scoped SEO keywords the AI works into generated content](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-keywords-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=f21ea3c1c7ea4764202b9e4c9fe5baa2) **1. Scope keywords to the locale** 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. **2. Create one feed per language** 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. **3. Confirm hreflang is on** 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. **4. Handle Outdated fields as source content changes** 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. **5. Turn on the auto-learn glossary once reviews look sensible** 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 | > [!TIP] > > 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 > **Translation isn't even in the enrich modal** > > 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. > **I re-ran the translation and nothing changed** > > 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. > **The German reads like a translation, not like German** > > 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. > **The same product term is translated three different ways** > > 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. > **Brand names and model codes got translated** > > 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. > **Attribute values are still in the source language** > > 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 > **[Translating Products](/en/products/translating-products)** > > The full reference: modes, fields, statuses, and what keeps runs consistent. > **[Linguistic Review](/en/analytics/linguistic-review)** > > The six criteria, the scores, and the one-click fixes behind your launch gate. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > Get the source copy sounding like you before you multiply it across languages. > **[Launch on a new channel](/en/guides/launch-on-a-new-channel)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM Channel Readiness with per-channel readiness scores, required-field coverage bars and one-click fixes](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/feed-hub/feed-hub-channel-readiness-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=09f72f297f993d8fdbcdde82c9186cd9) **1. Open Channel Readiness and pick your target channel** 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. **2. Find the single field blocking the most products** 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. **3. Install the channel's rule pack in Quality Guard** 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. **4. Start the pack on Warn severity** 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. **5. Note today's compliance rate on Channel Rules** [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. ![Filtering products by a Quality Guard rule in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-filters-compliance-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=262043f6dfada63a9b8ff95db0f78c12) **1. Filter to the products that violate one rule** 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. **2. Fix flat, factual fields with a bulk edit** 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. **3. Extract missing specs from text you already have** 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. **4. Fill missing identifiers with Web Research** 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. **5. Re-check the same filter** 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). ![WISEPIM Feed Hub feed editor with field mappings, scheduling and a feed quality score](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-feed-detail-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=da748a5d5bad0f118a6a3cc336f9ae3d) **1. Create the feed from the channel preset** 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. **2. Let AI map the fields, then check the required ones** 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. **3. Narrow the scope, then filter out the weak products** 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. **4. Run Feed Validation and read the feed quality score** **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. ![WISEPIM Quality Guard quarantine holding non-compliant products before sync](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=612f547fbdc58a1dd29f1fbaf2dff6fb) **1. Switch your channel rules from Warn to Block** 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. **2. Empty the quarantine queue** 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. **3. Check the price you're about to send** 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). **4. Submit the feed URL and pick a refresh strategy** 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. **5. Watch the first week** [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 > **The feed generated fine but the channel received far fewer products than I expected** > > 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. > **Compliance went red the moment I installed the rule pack** > > 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. > **Feed validation passes but the channel still rejects listings** > > 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. > **Web Research didn't find a GTIN for a chunk of my products** > > 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. > **It synced once, then went stale** > > 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 > **[Feed Hub](/en/essentials/feed-hub)** > > Every option behind feeds, channel readiness, validation, and feed quality. > **[Channel Rules](/en/quality-guard/channel-rules)** > > The per-channel compliance view you'll watch through the launch. > **[Send a different price per channel](/en/guides/price-per-channel)** > > Cover a marketplace fee at export time without touching your stored prices. > **[Sell to wholesalers with ETIM and BMEcat](/en/guides/sell-to-wholesalers)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![Building advanced product filter conditions in WISEPIM](https://mintcdn.com/swiftsyncai/n0SrIIRZ4vgDtB9v/images/marketing-screenshots/products/products-filters-advanced-light-transparent.webp?fit=max\&auto=format\&n=n0SrIIRZ4vgDtB9v\&q=85\&s=d5731fca446cd53e3c739b0d9d0adfb1) **1. Cast a wide net 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. **2. Separate the variants from each other** 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. **3. Confirm you are fixing wording, not duplicates** 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). **4. Save the query as a filter set** 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 | ![Bulk editing, Find and Replace across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=4be9d8602b6e21027161bd6657609518) **1. Trim the whitespace first** 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. **2. Replace one variant at a time** 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. **3. Standardize case only where a uniform style is right** 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. **4. Re-run your saved filter** 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. ![WISEPIM translation dictionary with multilingual term mappings and do-not-translate brand terms](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-translation-dictionary-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=cf6a3eceaab67a0245192e1c57d6c6c6) **1. Add each term to the Dictionary** 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. **2. Lock the names that must never change** 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. **3. Enter them in bulk if you have a list** 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. **4. Apply the dictionary to the whole catalog** 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. ![Bulk editing, Enforce Dictionary across many products at once in WISEPIM](https://mintcdn.com/swiftsyncai/qG3QfnM7eXVnB50s/images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-light-transparent.webp?fit=max\&auto=format\&n=qG3QfnM7eXVnB50s\&q=85\&s=06ebe2d860ede38bf89a0380d289578d) **5. Make it part of every import** 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. **1. Replace free text with a fixed list of values** 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). ![WISEPIM attribute options managing controlled value lists with per-set import handling and value previews](https://mintcdn.com/swiftsyncai/jl7-7OUIcGOW7dTY/images/marketing-screenshots/products/product-attribute-options-light-branded.webp?fit=max\&auto=format\&n=jl7-7OUIcGOW7dTY\&q=85\&s=3c406659f8e58a294d70931a53f6a8b5) **2. Add a Quality Guard rule for the old variants** 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. **3. Keep it at Warn severity** 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. **4. Turn on auto-learn once your reviews look right** 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 > **Find and Replace changed text inside other words** > > 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). > **One capitalisation of the variant survived the replacement** > > 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. > **Enforce Dictionary ran but nothing changed** > > 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. > **Standardizing case flattened a name that was styled on purpose** > > 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. > **The variants came back with the next supplier file** > > 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 > **[Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary)** > > The bulk action that applies your approved terms across the catalog. > **[Translation settings](/en/settings/translation)** > > Where the dictionary lives, including keep-as-is and auto-learn. > **[Inherited catalog](/en/guides/clean-up-an-inherited-catalog)** > > The full cleanup sequence this terminology pass belongs to. > **[House style](/en/guides/teach-wisepim-your-house-style)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![Importing a product catalog into WISEPIM](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-modal-light-transparent.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=1c44de3c86a8a45d0a07b749d2eac9af) **1. Connect the platform you are leaving** 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. **2. Connect the platform you are moving to** 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. **3. Import from the source** 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). **4. Verify the structure, not just the product count** 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. **5. Export a CSV snapshot as your rollback net** 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. > [!NOTE] > > 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. ![WISEPIM export modal copying selected products into another project with SKU-merge note](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-export-to-project-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=3c13a092fb0f7348f523f2ddc9f00f25) **1. Duplicate the project, or copy a slice into a new one** 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. **2. Run the risky steps in the copy first** 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. **3. Compare the two projects by SKU** 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. **4. Promote what worked** 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. ![WISEPIM SEO defaults for titles, meta and structured data](https://mintcdn.com/swiftsyncai/r6VDtpfGWKxkvc1j/images/marketing-screenshots/settings/settings-seo-light-branded.webp?fit=max\&auto=format\&n=r6VDtpfGWKxkvc1j\&q=85\&s=73b50b7ae621ccabd877d3fdd865a18d) **1. Normalize the text the old system left behind** 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. **2. Restructure categories while they are portable** 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. **3. Set the new URL rules first** 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. **4. Regenerate meta titles and descriptions** 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. **5. Optionally rewrite the inherited copy** 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. ![WISEPIM Quality Guard dashboard with compliance rate and rule coverage](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=1481c8daa250f30b4e73aa19278e8ed6) **1. Put rules in front of the export** 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. **2. Read the compliance rate before you push anything** 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. **3. Build the export template for the new platform** 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. **4. Export a small batch, then check the store** Filter to a handful of representative products, export them, and open them in the new platform. Verify the storefront, not just the admin. **5. Push the rest, then keep syncing with skip-unchanged** 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 > **Only one variant's price and SKU made it to Shopify** > > 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. > **I imported the wrong store, or the wrong file** > > 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. > **The export ran but nothing was sent** > > 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). > **Products are being held back and never reach the new store** > > 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. > **The prices in the new store are not the prices in WISEPIM** > > 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 > **[Exporting products](/en/essentials/exporting-products)** > > Every destination, template, and the skip-unchanged option in full. > **[Managing projects](/en/essentials/managing-projects)** > > Duplicate a project and compare two catalogs field by field. > **[Import your catalog safely](/en/guides/first-catalog/import)** > > The careful version of a first import, with a test batch before the real one. > **[Clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog)** > > 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). > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM Feed Hub XML import with field auto-mapping](https://mintcdn.com/swiftsyncai/CWxoCL6DT-ox53OB/images/marketing-screenshots/feed-hub/feed-hub-import-light-branded.webp?fit=max\&auto=format\&n=CWxoCL6DT-ox53OB\&q=85\&s=455114aa448ddcc44d9d3ea4322e90a7) | 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, at 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, Excel, JSON or XML file | [File import](/en/essentials/importing-products) | Choices WISEPIM remembers per column layout, saved as an import profile for every future file | | A public website and nothing else | The [browser extension](/en/essentials/web-scraping-import) | Connect your browser once, then import the pages you open; check the first products before you import many | **1. Rule out a zero-file route before you touch a file** 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. **2. Open the route you picked from the right place** File and website routes start on the [Products](/en/essentials/managing-products) page: click **Import** in the toolbar and choose **CSV Import** or **From a website or URL**. Feed routes start in [Feed Hub](/en/essentials/feed-hub) under **XML Import**, where you paste the URL or upload the file. **3. Check the count the importer reports back** Every route shows you what it found before it commits: **Here's what we found** with the row count and how many products are new or already exist for a file, the item count and XPaths for a feed, the products the extension finds on a page. Compare it to the number of products you expect. A mismatch here is cheap; the same mismatch after 4,000 products land is not. **4. Spend your review on the low-confidence rows only** For a feed, AI proposes a mapping per field with a confidence chip: accept the confident ones and read the rest. For a file, known column names are matched first and AI picks a field for the rest, with every AI pick marked. A wrong guess you wave through is what quietly fills the wrong attribute on every product. **5. Save the setup before you run it again** A file's choices are remembered for the next file with the same columns. Save them for good with **Advanced** > **Save these choices** as an import profile, and save a feed mapping as an **Import Profile** in Feed Hub. This is the step that makes the supplier's *next* file a five-minute job instead of a repeat of today. When a supplier's columns change, WISEPIM warns you before you import, and values you edited or verified by hand stay when the next file arrives. A Feed Hub 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. ![WISEPIM classification hub with the imported ETIM release, adopted classes and the browsable ETIM class catalog](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=4714c12ad183559d6a24dcc6fb385a1d) **1. Find the classes this supplier's range belongs to** 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?" **2. Adopt the classes you need** 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. **3. Bring in the categories too** 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. **4. Link the families you already have** 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. ![WISEPIM ETIM mapping review queue with tiered suggestions, confidence scores and adopt or dismiss actions](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-mapping-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=b337cdce97eb7445f8954ae97f42afe5) **5. Switch on auto-classification for imports** In **Settings** > **[Import by Scraping](/en/settings/import-by-scraping)**, the **Classification** section files incoming extension imports 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. **6. Decide whether imports may extend your data model** On the same page, the **Data model** switches decide what happens to specs and breadcrumbs that match nothing you have. **Create missing attributes** turns new specs into attributes, **Create missing categories** turns breadcrumbs into category paths. With a switch off, values only fill what exists and the import report lists what was left out. For a file import, the review's **Not in WISEPIM yet** columns and **Create categories that don't exist yet** make the same choice per file. ## 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. ![WISEPIM import by scraping settings chaining web research and Bulk Enrich onto every product the browser extension brings in](https://mintcdn.com/swiftsyncai/ZhFouQkYEPBbUtsa/images/marketing-screenshots/settings/settings-import-by-scraping-light-branded.webp?fit=max\&auto=format\&n=ZhFouQkYEPBbUtsa\&q=85\&s=18dc19878d223586653e209517a94da3) **1. Take only the categories you sell** 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. **2. Decide what runs automatically after the import** For browser extension 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. **3. Keep the first run small** Import a handful of pages with the extension, or 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. **4. Read the batch before you widen it** 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. ![Enriching products with AI, web research in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-web-research-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=728b6d74396aa0456f4efb1ef3615b25) **1. Run web research on the strongest identifier** 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. **2. Let it fill the identifiers the supplier left out** 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. **3. Write the fields a supplier feed is worst at** 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. **4. Give the flat rows a structure** Supplier files list every size and color as its own row. Select the ones that belong together, click **Edit** on the selection bar, 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. Next time, the file import's **Variants** card can group them during the import itself. **5. Verify the batch as a batch** 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 many extension imports | | 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 extension finds no products on the supplier's page** > > Open a single product page instead of a listing, or use **Import this page as a product** in the extension. See [Web Scraping Import](/en/essentials/web-scraping-import). > **The supplier's site blocks automated access** > > The extension imports the page your own browser loaded, so bot protection doesn't apply. Install it, click **Connect this browser** once for your account, open the supplier's product pages and pick the project in the extension. When WISEPIM has to fetch a page itself and gets blocked, it retries once through a connection in the site's own country and otherwise names the cause. See [Web Scraping Import](/en/essentials/web-scraping-import). > **Web research found nothing for a lot of products** > > 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). > **Fewer products imported than the supplier's file contains** > > For a file, the review lists the rows that can't be imported and why, and **Download these rows** gives you a file to fix. Check **What this import does** too: **Only update existing products** leaves new products out on purpose. For platform imports, check your import filters in [Import settings](/en/settings/import) and your validation mode. 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 BMEcat imported, but the ETIM features look off** > > 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 > **[Classification (ETIM & GS1 GPC)](/en/products/classification)** > > Adopt the classes and categories that give imported products their attribute slots. > **[Feed Hub](/en/essentials/feed-hub)** > > XML, RSS, and BMEcat import with AI mapping and reusable import profiles. > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > Promote this manual sequence into an automation once it works. > **[Migrate platforms without losing data](/en/guides/migrate-your-catalog)** > > The same middle-layer approach, applied to replatforming instead of a 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. > [!NOTE] > > **Before you start:** [Pricing & Margins](/en/settings/pricing) needs the **Business** 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. > [!TIP] > > **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. > [!WARNING] > > 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] ``` ![Pricing & Margins page with no rules yet, showing the Marketplace fee, Margins per brand, Protect my margins and Charm prices recipes](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-pricing-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=cce5ddd2d2001fbc33051aa9b297d71d) **1. Open Pricing & Margins and start from the recipe** 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. **2. Name it after what it does** "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. **3. Scope it to the one channel that charges the fee** 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). **4. Scope the products, or don't** 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. **5. Pick the calculation and the rounding** **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. **6. Read the plain-words recap before you move on** 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. > [!NOTE] > > 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. **1. Set a minimum margin** 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. **2. Add a fee profile and a margin after fees floor** A markup covers the fee on average. A fee profile tells WISEPIM exactly what the marketplace takes. Under **Marketplace fees** on the main page, click **Add fee profile**, pick the marketplace's channel, and enter the **Commission**, any **Payment fee** and **Fixed fee per item**. Set **VAT rate for percentage fees** to the selling VAT rate if the marketplace charges its commission on the price including VAT, or 0 if it charges on the net price. Then set **Minimum margin after fees** on the rule. On that channel the export price is raised so at least this margin remains after the fees and the cost price. The [margin report](/en/settings/pricing#margin-report) shows what each product keeps. **3. Set a maximum change %** 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. **4. Add a price floor or ceiling if the channel has one** **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. **5. Decide what happens with no cost price** 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. **6. Learn the chips** 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. **1. Live example: does the maths do what I think?** 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. **2. Try it on a real product: does it work on my data?** 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. **3. Test on my products: what happens across the catalog?** 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. **4. Turn the master switch on** **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. **5. Leave import price handling on Smart** 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. **6. Tell your team before they find out the hard way** 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 ![WISEPIM gross-margin analytics by product and category](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-profitability-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=a2977c76c81cc220b4641e4dbe9be203) | 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 | > [!NOTE] > > 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 > **I built the rule and the price didn't change** > > 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. > **Some prices moved much more than they should have** > > 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. > **The marked-up price came back into WISEPIM as my new price** > > 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. > **New rule and the master switch are greyed out** > > Pricing rules need the **Business** 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. > **Something looks wrong and I need it to stop right now** > > 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 > **[Pricing & Margins](/en/settings/pricing)** > > Every calculation type, safeguard, and import option in full. > **[Brand Portals](/en/other-features/brand-portals)** > > Scope a rule to a portal so each partner sees their own price level. > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > Get the channel accepting your feed before you worry about its fee. > **[Sell to wholesalers with ETIM and BMEcat](/en/guides/sell-to-wholesalers)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM classification hub with the imported ETIM release, adopted classes and the browsable ETIM class catalog](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=4714c12ad183559d6a24dcc6fb385a1d) **1. Open Classification and check the release** **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. **2. Find the class for one product type** 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. **3. Read the class before you adopt it** 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. **4. Adopt the class** **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. **5. Assign your products to the new family** 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. ![WISEPIM ETIM mapping review queue with tiered suggestions, confidence scores and adopt or dismiss actions](https://mintcdn.com/swiftsyncai/TVgrWFPYVJttIWR8/images/marketing-screenshots/classification/classification-mapping-light-branded.webp?fit=max\&auto=format\&n=TVgrWFPYVJttIWR8\&q=85\&s=b337cdce97eb7445f8954ae97f42afe5) **1. Run mapping** 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. **2. Bulk-adopt the safe matches first** 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. **3. Hand-review what's left** 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. **4. Run AI mapping on the remainder** **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. **5. Correct rather than dismiss when you know the answer** **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. ![WISEPIM product editor ETIM conformance tab with readiness score, per-feature validation and AI auto-fill](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/classification/product-editor-etim-conformance-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=e3114616bf9f660972e6fcae37394dcd) **1. Open the ETIM tab on a product** 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. **2. Read the per-feature reasons** 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. **3. Use the Fix jump on a failing row** Every failing row carries a **Fix** jump straight to that attribute. For a handful of features, this is faster than anything automated. **4. Auto-fill the rest with AI** 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. **5. Spot-check what it skipped** 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. > [!NOTE] > > 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 ![WISEPIM Feed Hub BMEcat feed - ETIM release pinning, generation stats and catalog metadata for trading partners](https://mintcdn.com/swiftsyncai/xA7pMwWWlOw0uI_9/images/marketing-screenshots/feed-hub/feed-hub-bmecat-config-light-branded.webp?fit=max\&auto=format\&n=xA7pMwWWlOw0uI_9\&q=85\&s=f7155092c5915630633dfc6fa8de0f4b) **1. Create a BMEcat feed** 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. **2. Fill in the catalog metadata** 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. **3. Pin the ETIM release once your partner has built their import** 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. **4. Generate, then read the stats card** 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. **5. Or share a Brand Portal instead of a file** 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 > **The ETIM class catalog is empty or missing the release my partner asked for** > > 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. > **Products were skipped in the BMEcat export** > > 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. > **A new ETIM release landed and something broke** > > 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. > **Auto-fill left features empty** > > 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. > **A feature has a value but still counts as invalid** > > 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 > **[Classification (ETIM & GS1 GPC)](/en/products/classification)** > > The full reference for browsing, adopting, mapping, and conformance scoring. > **[Feed Hub](/en/essentials/feed-hub)** > > BMEcat feed configuration, release pinning, and importing a supplier's BMEcat. > **[Send a different price per channel](/en/guides/price-per-channel)** > > Give each wholesale partner their own price level without a second price list. > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![Connecting Akeneo to WISEPIM, API credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-akeneo-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=ca0210b7bf8cef951a02f7a54236be98) 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 | **1. Write the split down, field by field** 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. **2. Connect your PIM** 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. **3. Run the connection test before you trust it** 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. **4. If your PIM is custom, check the API route instead** 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. ![Importing a product catalog into WISEPIM](https://mintcdn.com/swiftsyncai/yGorx_eDjcEZdv6B/images/marketing-screenshots/products/products-import-modal-light-transparent.webp?fit=max\&auto=format\&n=yGorx_eDjcEZdv6B\&q=85\&s=1c44de3c86a8a45d0a07b749d2eac9af) **1. Choose how duplicates are resolved** 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. **2. Set empty-field handling to skip** **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. **3. Import a small slice first** 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. **4. Verify structure, not just the product count** 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). **5. Let template defaults fill the rest** 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. > [!NOTE] > > 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? ![WISEPIM Quality Guard dashboard with compliance rate and rule coverage](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=1481c8daa250f30b4e73aa19278e8ed6) **1. Fill gaps with Auto-Fill** [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. **2. Use Bulk Enrich only where you have agreed to overwrite** [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. **3. Put Quality Guard in front of the return trip** [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. **4. Push a handful back, and open them in the PIM** 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. **5. Then let skip-unchanged carry the routine** **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. > [!WARNING] > > 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. ![WISEPIM Feed Hub with outbound channel feeds and sync status](https://mintcdn.com/swiftsyncai/A33RHML1EfMeY4ZQ/images/marketing-screenshots/feed-hub/feed-hub-light-branded.webp?fit=max\&auto=format\&n=A33RHML1EfMeY4ZQ\&q=85\&s=152d695a0d82c6985f9068afa1d411d0) **1. Publish a hosted feed for a channel your PIM cannot reach** 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. **2. Exclude what is not ready, at the feed** 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. **3. Schedule the loop instead of remembering it** 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). **4. Watch both directions from one board** [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 | > [!TIP] > > 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 > **The nightly import wiped the descriptions the AI wrote** > > 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. > **Half the products from my PIM never arrived** > > 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). > **The import works but pushing back is rejected** > > 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**. > **The export ran and reported that nothing was sent** > > 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). > **Enriched products are stuck and never reach the PIM** > > 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 > **[Akeneo integration](/en/integrations/akeneo)** > > Create the connection, add the credentials, and sync your catalog both ways. > **[Exporting products](/en/essentials/exporting-products)** > > Every destination, template, and the skip-unchanged option in full. > **[Migrate platforms without losing data](/en/guides/migrate-your-catalog)** > > The other route: leave the old system instead of layering on top of it. > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM knowledge library brand-identity form capturing brand story, voice and values for grounded AI](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/knowledge/knowledge-library-brand-identity-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=d1030bb5d3b66efcb4749066f6423b98) **1. Open Brand identity and go deep, not wide** 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. **2. Paste from what you already have** 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. **3. Work one card at a time** 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. **4. Be concrete, and write in the voice you want copied** 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. **5. Ban and mandate specific words** 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. ![WISEPIM Prompt Lab testing a prompt on a real product with original and AI output side by side](https://mintcdn.com/swiftsyncai/xqg9StQzBwK3YnvQ/images/marketing-screenshots/prompts/prompt-lab-loaded-light-branded.webp?fit=max\&auto=format\&n=xqg9StQzBwK3YnvQ\&q=85\&s=17c7aa99c5bfc18556b6fd1400e33b8b) **1. Load a product that already has a description** 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. **2. Test once to get a baseline** 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. **3. Change one setting at a time** 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. **4. Re-test on awkward products** 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. **5. Save it, then make it the default** 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 | ![Enriching products with AI - bulk enrich in WISEPIM](https://mintcdn.com/swiftsyncai/5mh37GxGC9-0oyQO/images/marketing-screenshots/products/products-enrich-bulk-enrich-light-transparent.webp?fit=max\&auto=format\&n=5mh37GxGC9-0oyQO\&q=85\&s=52b3f03bf8bf6e19b2b560761e0376ad) **1. Start with one category, not the catalog** 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. **2. Pick your fields and watch the credit estimate** 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**. **3. Read ten of them out loud** 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. **4. Roll out to the rest** 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. **5. Optionally centralize shared boilerplate** 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. > [!WARNING] > > 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. ![WISEPIM AI Quality Review scoring the catalog across data-quality dimensions with one-click fixes](https://mintcdn.com/swiftsyncai/6r4mF58W88nRQW1H/images/marketing-screenshots/analytics/analytics-quality-review-light-branded.webp?fit=max\&auto=format\&n=6r4mF58W88nRQW1H\&q=85\&s=590a65afb0274c7a82e747ad46c6cb56) | 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 | > [!NOTE] > > 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 > **It still doesn't sound like my brand** > > 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. > **The copy is on-brand but says nothing specific** > > 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. > **The prompt was great in the lab and disappointing in bulk** > > 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. > **A field is dimmed with 'no prompt' in the enrich modal** > > 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. > **The same issue keeps reappearing after every run** > > 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 rewrote copy I wanted to keep** > > 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 > **[Knowledge Library](/en/other-features/knowledge-library)** > > Every section the AI reads before it writes a single word. > **[Prompt Lab](/en/essentials/prompt-lab)** > > Test a prompt on a real product before it touches your catalog. > **[Make brand names and terms consistent](/en/guides/make-terminology-consistent)** > > Fix the terminology drift that survives a rewrite. > **[Turn impressions into clicks](/en/guides/win-clicks-you-already-rank-for)** > > 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. > [!NOTE] > > **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. > [!TIP] > > **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. ![WISEPIM overview dashboard with catalog-health score, quality trends and a ranked action queue](https://mintcdn.com/swiftsyncai/46eBLds6qfnO0_2j/images/marketing-screenshots/overview/overview-light-branded.webp?fit=max\&auto=format\&n=46eBLds6qfnO0_2j\&q=85\&s=eb23dfa2f4323d7b3e9a38f0c522ba51) **1. Overview - score, briefing, action queue** 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. **2. Smart Insights - recoverable, at risk, upside** 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. **3. Competitor Intelligence - what your rivals did** 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. **4. Integration Health - any amber or red** 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. ![WISEPIM channel sync reliability and integration health](https://mintcdn.com/swiftsyncai/88gocOD5F9-HWXja/images/marketing-screenshots/analytics/analytics-integration-health-light-branded.webp?fit=max\&auto=format\&n=88gocOD5F9-HWXja\&q=85\&s=3fe30bca9a6cf032f7e468728d24ed22) ## 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. ![WISEPIM Quality Guard quarantine holding non-compliant products before sync](https://mintcdn.com/swiftsyncai/51gAGzJGtmEayInn/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max\&auto=format\&n=51gAGzJGtmEayInn\&q=85\&s=612f547fbdc58a1dd29f1fbaf2dff6fb) **1. Take the quarantine queue to zero** 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. **2. Check the Quick Fixes preset counts** 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. **3. Recalculate feed quality and diff the last generation** 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. **4. Read the automation success rates** 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. ![WISEPIM analytics strategy view with prioritized growth initiatives](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-strategy-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=514697f45b0415a34933ee901e706038) > [!TIP] > > 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 | > [!TIP] > > 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 > **The whole round takes two hours, not one** > > 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. > **The quarantine queue never actually reaches zero** > > 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. > **A channel is amber and the error message means nothing to me** > > 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. > **Competitor Intelligence says 'partial results'** > > 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). > **The score dropped and nothing on the list explains it** > > 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 > **[Overview dashboard](/en/overview)** > > The health score, daily briefing, and ranked action queue this routine starts from. > **[Smart Insights](/en/analytics/smart-insights)** > > One ranked feed of what changed and why, with an action on every signal. > **[Build a pipeline that runs itself](/en/guides/automate-your-enrichment-pipeline)** > > Take the parts of this round that repeat every week and hand them to an automation. > **[Clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog)** > > 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. > [!NOTE] > > **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). > [!TIP] > > **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. ![WISEPIM SEO performance with Search Console clicks, impressions and keyword growth](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=00b4f077ce4cff6b7db1121617f25a78) **1. Open the performance view** 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. **2. Pick a comparison mode** 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. **3. Work the Quick wins panel** 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. **4. Confirm the pattern before acting** 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. **5. Build the product list** 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. | ![Enriching products with AI - seo meta in WISEPIM](https://mintcdn.com/swiftsyncai/eQkaGoRDrDcZIsGf/images/marketing-screenshots/products/products-enrich-seo-meta-light-transparent.webp?fit=max\&auto=format\&n=eQkaGoRDrDcZIsGf\&q=85\&s=f23986071cce93aa1e90fa30344dbf17) **1. Select the products from your list** 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. **2. Regenerate SEO titles and meta descriptions** 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. **3. Check the length rules you score against** 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. **4. Run Search Intent on the highest-impression products** 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. **5. Spot-check before you scale** 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. ![WISEPIM keyword settings - category-scoped SEO keywords the AI works into generated content, with bulk tools and generation](https://mintcdn.com/swiftsyncai/H-xzj1kVtoINfzkA/images/marketing-screenshots/settings/settings-keywords-light-branded.webp?fit=max\&auto=format\&n=H-xzj1kVtoINfzkA\&q=85\&s=f21ea3c1c7ea4764202b9e4c9fe5baa2) **1. Harvest the queries you already rank for** 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. **2. Set priority, locale, and target fields** 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. **3. Add competitor names to the Negative tab** 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. **4. Link the orphans** 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. **5. Set the defaults so new products inherit this** 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 | ![WISEPIM enrichment impact analytics showing revenue lift from AI-enriched products](https://mintcdn.com/swiftsyncai/OYZqrBZqWvqSlgkK/images/marketing-screenshots/analytics/analytics-enrichment-impact-light-branded.webp?fit=max\&auto=format\&n=OYZqrBZqWvqSlgkK\&q=85\&s=8352a2cee9e26a09856621ac6fdc70b0) > [!NOTE] > > 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 > **The SEO report is empty** > > 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. > **Search Intent won't run on some products** > > 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. > **Impressions keep rising but clicks stay flat** > > 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. > **CTR improved but rankings dropped** > > 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). > **Internal Linking added barely any links** > > 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. > **Snippets are still truncated in Google** > > 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 > **[SEO & Search](/en/analytics/seo)** > > The report behind every number in this guide: performance, coverage, cannibalization, and links. > **[Search Intent](/en/ai/search-intent)** > > Rewrite descriptions from the real queries that found each product. > **[Teach WISEPIM your house style](/en/guides/teach-wisepim-your-house-style)** > > Make sure the rewritten copy sounds like your brand, not a template. > **[Run a weekly catalog health routine](/en/guides/weekly-maintenance-routine)** > > Keep the quick-wins list short instead of letting it rebuild. # 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. > [!NOTE] > > 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 ![Connecting Akeneo to WISEPIM, API credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-akeneo-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=ca0210b7bf8cef951a02f7a54236be98) Akeneo generates a set of credentials when you create a new connection. **1. Open Connections** Log in to Akeneo and go to **System** > **Connections**. **2. Create a connection** Click **Create**, name it WISEPIM, and choose the **Data destination** flow type. **3. Copy the credentials** Akeneo shows a **Client ID**, **Secret**, **Username**, and **Password** for the connection. Copy all four. You need them in the next step. **4. Grant catalog access** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Akeneo** Find and click the **Akeneo** integration tile. **3. Enter your credentials** 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`) * **Image attributes** (optional): the codes of your image attributes, comma-separated, such as `image_1,image_2`. See [Images and FAQs](#images-and-faqs) below. **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Akeneo PIM is now connected. You can import products and push enriched content back. > [!WARNING] > > 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. ## Images and FAQs Images only export when you fill in **Image attributes**. The first product image goes to the first attribute code, the second image to the second code, and so on. Leave the field empty and WISEPIM sends no images. Use attributes that are neither localizable nor scopable: Akeneo stores one image per attribute, not one per language or channel. Product FAQs are not appended to descriptions sent to Akeneo: the FAQ format for Akeneo starts at **Off** under **Settings** > **FAQs**. Akeneo feeds your other channels, so an FAQ block would be forwarded everywhere and come back in the description on the next import. ## Troubleshooting > **The connection test fails** > > 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. > **Authentication is rejected** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Akeneo into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and attributes with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the enriched content back to Akeneo. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. > **[Use WISEPIM as a smart layer on your PIM](/en/guides/smart-layer-on-your-pim)** > > Keep Akeneo as your system of record and run the enrichment round trip safely. # BigCommerce Integration Source: https://docs.wisepim.com/en/integrations/bigcommerce Import your BigCommerce catalog into WISEPIM with a store-level API account. The connection is import only: WISEPIM does not write back. Connect your BigCommerce store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. > [!NOTE] > > The BigCommerce connection is import only. WISEPIM does not export products back to BigCommerce, does not create products there, and does not map your store's languages onto WISEPIM languages. Setup takes two steps: create a store-level API account in BigCommerce, then add its credentials in WISEPIM. > [!NOTE] > > You need admin access to your BigCommerce store and a WISEPIM account with an active project. ## Create an API account in BigCommerce ![Connecting BigCommerce to WISEPIM, store hash, access token, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-bigcommerce-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=df90bdb6c1f0152955829c0afc6bd3a3) BigCommerce issues an access token when you create a store-level API account. **1. Open API accounts** Log in to your BigCommerce control panel. Go to **Settings** > **API** > **Store-level API accounts**. **2. Create an account** Click **Create API account**, name it WISEPIM, and set the **Products** OAuth scope to **Read-only**. WISEPIM only reads, so it needs no write access. **3. Copy your credentials** BigCommerce gives you a **Client ID**, **Client Secret**, and **Access Token**. Copy them now. The token is only shown once. **4. Find your store hash** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select BigCommerce** Find and click the **BigCommerce** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your BigCommerce store is now connected. You can start importing products. > [!WARNING] > > Your access token gives 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 > **The connection test fails** > > 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. > **Authentication is rejected** > > Open the API account in BigCommerce and confirm it has access to the **Products** scope. If it still fails, create a new API account and copy the new token. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from BigCommerce into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # bol.com Integration Source: https://docs.wisepim.com/en/integrations/bol Connect bol.com to WISEPIM with Retailer API client credentials. Send price, stock and product content per EAN. Export only, in beta. Connect your bol.com seller account to WISEPIM to push offers and product content to the marketplace from the catalog you already maintain. WISEPIM sets the price and stock of each offer by EAN and uploads the title, description, brand and main image. The connector is in beta and works in one direction only: WISEPIM sends to bol.com, it never imports products from it. **What this page enables:** publishing enriched products on bol.com without retyping them in the Seller Dashboard, with new offers kept on hold until you have checked them. **Where to find it:** **Settings** > **Integrations**, then the **bol.com** tile. > [!NOTE] > > You need a bol.com retailer account with access to the Seller Dashboard and a WISEPIM project whose products carry an EAN. The connection uses OAuth client credentials, so there is no store URL to enter. ## Create client credentials in the bol Seller Dashboard **1. Open the API settings** Log in to the bol Seller Dashboard. Go to **Instellingen**, then **Diensten**, then **API instellingen**. **2. Save a technical contact** bol asks for a technical contact before it issues credentials. Fill it in if you have not already. **3. Create the credentials** Under **Client credentials voor de Retailer API**, choose **Aanmaken**. bol shows a **Client ID** and a **Client secret**. **4. Copy both values** Copy them now. WISEPIM stores both encrypted and never shows them again, so keep your own copy somewhere safe. ## Add your credentials to WISEPIM **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select bol.com** Find and click the **bol.com** tile. It carries a **Beta** chip. **3. Fill in the connection** * **Profile Label**: a name for this connection, such as "bol NL". * **Client ID** and **Client secret**: the values from the Seller Dashboard. * **Send price and stock (offers)**: on by default. Switch off to leave your offers alone. * **Send product content (title, description, brand, main image)**: on by default. * **Put offers up for sale (off keeps them on hold)**: off by default. See below before you turn it on. * **Auto-create products on export**: create a bol offer for an EAN that has none on your account yet. Leave it off to update existing offers only. * **Content language**: `nl` shows in the Netherlands and Flanders. Also `nl-BE`, `fr` or `fr-BE`. * **Primary locale for export**: which project language WISEPIM reads the content from. Empty uses the project's primary language. **4. Set the offer defaults** These apply to offers WISEPIM creates, see [Offer settings](#offer-settings) below. **5. Test the connection** Click **Test Integration** to confirm bol accepts the credentials. **6. Save** If the test succeeds, click **Save**. > [!TIP] > > Your bol.com account is connected. Select products and export them to bol.com like any other channel. > [!WARNING] > > The client secret gives write access to your bol offers. Never share it publicly or commit it to version control. If you think it is exposed, delete the credentials in the Seller Dashboard and create new ones. ## What an export does Every export runs two steps per product. Switch either one off in the connection when you only need the other. | Step | What WISEPIM sends | How bol matches it | | - | - | - | | **Offers** | Price, stock and the on-hold state. The price is the selling price after pricing rules, including VAT: the special price when one is active, otherwise the regular price. | By EAN. The offer id bol returns is stored on the product for the next run. | | **Content** | Title, description, brand and the main image | By EAN, as product content in the **Content language** you chose. | A few rules worth knowing: * **An EAN is required.** A product without an EAN, or with a wrong check digit, is rejected before WISEPIM calls bol. EAN-8 and UPC codes are padded to 13 digits, as bol asks. * **New offers stay on hold.** With **Put offers up for sale** off, every offer WISEPIM creates or updates is kept on hold, so nothing sells before you have checked it in the Seller Dashboard. Turn the switch on and every export puts the offers up for sale. * **A new offer only appears with auto-create on.** Without it, an EAN that has no offer on your account yet is skipped. * **Condition is always new.** Secondhand and refurbished offers are not part of this connector. * **Descriptions are reduced to bol's allowed tags.** Paragraphs, line breaks, bold, `h3` headings and lists survive; other HTML is removed. * **FAQs are off by default.** The FAQ format for bol.com starts at **Off** under **Settings** > **FAQs**, so the description carries product text only. * **Content is accepted, then processed.** bol checks uploaded content on its own side. A product that bol has not finished processing reports as accepted, and the next export checks on it instead of uploading again. > [!NOTE] > > Order ingestion for bol.com, used by [Analytics](/en/analytics/overview), is a separate capability from this export connector. The export connection does not read orders, and the order feed does not change your offers. ## Offer settings The lower half of the connection holds the values bol needs for your offers. Fulfilment, delivery and the countries are sent when WISEPIM creates an offer. The stock setting and the economic operator are sent on every export. The form checks each value when you save, so a value bol would reject is caught before the export. | Field | What it does | | - | - | | **Fulfilment** | `FBR`: you ship the orders. `FBB`: bol ships them and manages the stock. | | **Delivery schedule (FBR)** | `BOL_DELIVERY_PROMISE`, `MY_DELIVERY_PROMISE` or `SHIPPING_VIA_BOL`. | | **Delivery promise in days** | `0-1`, `1-2`, `2-3`, `3-5`, `4-8` or `1-8`. `0-1` needs a latest order time. | | **Latest order time for next-day delivery** | A whole hour between `12:00` and `23:00`, for example `22:00`. Required for the `0-1` promise. | | **Delivery promise profile ID** | Only for **My delivery promise**. Paste the id exactly as bol shows it. | | **I correct stock for open orders myself** | Off by default. Off means bol subtracts open orders from the stock you send, which prevents overselling. | | **Sell new offers in** | `NL`, `BE` or `NL_BE`. Leave empty to use your bol account default. | | **Economic operator ID** | bol keeps offers offline until an economic operator is linked. | ## Not in this version The beta covers offers and product content. These are not part of it yet: * Importing products or offers from bol.com into WISEPIM * Reading orders through this connection (see the note above) * Returns and FBB inbound shipments * Secondhand or refurbished offers * Bundle prices: each offer gets one unit price * Images beyond the main image * Deleting an offer from WISEPIM ## Act on what you find > **A product failed with an EAN error** > > Open the product and check its EAN: it must be present and pass the check digit test. Fix it, then export again. Products without a GTIN cannot be listed on bol. > **The offer exists in bol but is not for sale** > > That is the default. Open the offer in the Seller Dashboard to check it, then either take it off hold there or turn on **Put offers up for sale** in the connection and export again. > **Nothing was created for a new EAN** > > **Auto-create products on export** is off, so WISEPIM only updates offers that already exist. Turn it on and export again. > **The content looks accepted but has not changed on bol** > > bol processes content uploads on its own side, which can take a while. The next export checks the pending upload instead of sending it again. If the content never lands, check the product in the Seller Dashboard for a rejection reason. > **Saving the connection fails on an offer setting** > > The form names the field. A `0-1` delivery promise needs a latest order time, and the profile and economic operator ids must be pasted exactly as bol shows them. ## Related > **[Exporting Products](/en/essentials/exporting-products)** > > Send a selection to bol.com like any other channel. > **[Channel Rules](/en/quality-guard/channel-rules)** > > Use the bol rule pack to catch missing EANs and images before you export. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles and descriptions before they reach the marketplace. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # ChatGPT Source: https://docs.wisepim.com/en/integrations/chatgpt Connect the WISEPIM app in ChatGPT or Codex to search your catalog, read analytics and run enrichment, with an approval step in WISEPIM when you want one. The WISEPIM app brings your catalog into ChatGPT. Ask which products miss a description, what your analytics say, or how your enrichment prompts are set up, and ChatGPT answers from your real project data. When you want something changed, ChatGPT prepares the exact change and runs it through the same enrichment, translation and bulk edit pipelines you use in the app. If you switched on approval for the connection, it sends you a review link first and waits for your decision in WISEPIM. **What this page enables:** you can plan and run catalog work from a ChatGPT conversation without giving it a free hand: it sees one project, only with the permissions you allowed, and you decide per connection whether it applies changes itself or waits for your approval in WISEPIM. **Where to find it:** start in ChatGPT: open the WISEPIM app and choose **Connect**. Afterwards, manage the connection in WISEPIM under **Settings** > **Connected apps**. > [!NOTE] > > This is not the [ChatGPT Shopping channel in Feed Hub](/en/essentials/feed-hub). Feed Hub sends your products *out* to shoppers. The WISEPIM app lets ChatGPT reach *in* to the catalog you work on. ## Before you start * A WISEPIM account. No account yet? The sign-in page links to signup, and the connection picks up where it left off once you finish setup. * A project you can edit. The app asks for permissions that change the catalog, so you need to be the project owner, an admin or editor, or have a custom role that can edit products. Viewers see no projects to choose. * Credits for the actions you plan to run. Reading your catalog is free; enrichment, translation, research and catalog jobs use credits. > [!NOTE] > > WISEPIM appears in ChatGPT once OpenAI has published the listing. If you can't find the WISEPIM app yet, the listing is still on its way. ## Connect ChatGPT to WISEPIM ![WISEPIM consent screen where ChatGPT requests access, listing the requested permissions, a project to choose, the Require approval before changes switch, and Deny access and Allow access buttons](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-consent-light-transparent.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=15024d141c47109ebe1ed93b29201294) **1. Choose Connect in ChatGPT** Open the WISEPIM app in ChatGPT and choose **Connect**. ChatGPT opens WISEPIM in your browser. **2. Sign in to WISEPIM** Use your normal WISEPIM sign-in. ChatGPT never sees your password. **3. Check who is asking** The **Connect WISEPIM** screen shows "ChatGPT requests access to your account" with the email you are signed in with. Signed in with the wrong account? Deny and start again. **4. Read the requested permissions** Every permission is listed under **Requested permissions** with a short explanation. The table below shows them all. **5. Choose a project** Under **Choose a project**, pick exactly one: "Only this project will be accessible through this connection." To use another project, connect again and pick that one. **6. Decide whether changes need your approval** Because the app asks for permissions that change the catalog, the card offers **Require approval before changes**. Leave it off and ChatGPT applies the changes you ask for within its permissions: "Your assistant can apply changes and start jobs within the permissions you grant. WISEPIM still checks access, data freshness and credits." Switch it on and every change waits for your approval in WISEPIM. You can change this later under **Settings** > **Connected apps**. **7. Allow access** Click **Allow access** and you're back in ChatGPT, connected. **Deny access** cancels the request. ### The permissions ChatGPT asks for The WISEPIM app requests these permissions for its workflows: | Permission | What it allows | | - | - | | **Read catalog** | Search products and view product data. | | **Read quality information** | View quality scores and missing product information. | | **Read task status** | Check progress and results of project tasks. | | **Read project settings** | View configuration for the selected project. | | **Read prompts** | View reusable prompts available to the project. | | **Read analytics** | View project analytics and suggestions. | | **Change catalog** | Prepare and apply product changes according to this connection’s approval setting. | | **Change project settings** | Change configuration for the selected project. | | **Change prompts** | Create and change reusable project prompts. | | **Start enrichment** | Start native WISEPIM enrichment jobs using your saved configuration. | | **Start product research** | Research selected products on the web using the granted permissions. | | **Start catalog jobs** | Run catalog improvement jobs without publishing products. | Permissions never go beyond your own role. If your role in the project changes, WISEPIM checks it again on every request. A permission added in a later version of the app is not granted silently: you reconnect and approve it. ## What you can ask Talk to ChatGPT the way you would talk to a colleague who knows WISEPIM. For example: * "Find products that need enrichment and suggest a WISEPIM action." * "Find products missing key information, then prepare descriptions and German translations for my review." * "Research missing facts for the products I select and show the evidence before proposing changes." * "Review my enrichment settings and saved prompts." * "Which of these products get search traffic but have weak content?" * "Help me set up my first catalog." For a precise selection, ChatGPT turns your request into a WISEPIM filter, shows you how it read it and how many products match, and only then works with that selection. If it can't turn part of your request into a filter, it asks instead of guessing. In ChatGPT, some answers come with a WISEPIM card that shows the match count, the criteria it used and a link to the review page. The card has no approve button: when approval is on, approving happens in WISEPIM. ### The tools behind it Each WISEPIM tool has a name, which you may see while ChatGPT works. Each tool needs one or more permissions: | Area | Tools | Permission | | - | - | - | | Products | **List authorized projects**, **Search products**, **Get product filter fields**, **Build a product filter**, **Get product details**, **Get WISEPIM setup status** | Read catalog | | Quality | **Analyze product quality** (stored scores and missing fields, no paid audit) | Read quality information | | Taxonomy, images and channels | **Get catalog taxonomy**, **Get product taxonomy**, **Assess product image evidence**, **Get channel issues** | Read catalog | | Research and documents | **Get stored product research**, **List project documents**, **Read a project document** | Read catalog | | Analytics | **Get project analytics**, **Get catalog suggestions**, **Get order metrics**, **Get analytics capabilities** | Read analytics | | Search performance | **Get product SEO performance**, **Get catalog opportunities** | Read analytics and Read catalog (opportunities also Read quality information) | | Settings and prompts | **Get project settings**, **List saved prompts**, **Get a saved prompt** | Read project settings, Read prompts | | Catalog jobs | **List catalog job kinds**, **Estimate a catalog job** | Read catalog | | Progress | **Get task status**, **Get catalog job status** | Read task status | | Proposals | **Preview enrichment or translation** | Start enrichment (bulk edits: Change catalog) | | | **Preview product changes** (exact text edits you ask for) | Change catalog | | | **Preview project settings**, **Preview a saved prompt** | Change project settings, Change prompts | | | **Preview web research** | Start product research and Read catalog | | | **Preview a catalog job** | Start catalog jobs, Read catalog and Change catalog | | Approval | **Get change review status**, **Apply approved changes** | The permission of the original proposal | Catalog jobs cover five of the [Catalog Jobs](/en/products/catalog-jobs): **Fill the gaps**, **Complete a supplier sheet** (rows you already imported), **Fix missing images**, **Map categories between shops** and **Get ready for Google and Meta ads**. Jobs started from ChatGPT never export. ### What stays in WISEPIM The app does not handle billing, credentials, team access, deleting products, exports or publishing to a channel. It doesn't generate images, video or audio, read PDFs, or import new files. Do those in WISEPIM itself. ## Review and approve changes ![WISEPIM Review assistant changes page with an Awaiting review proposal, the action to authorize, its target of 3 products, the estimated credits, and a product shown by name with a German-flagged field and current and proposed values](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-review-light-branded.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=54f77ecf0c9e0184e79a7ccd7a3ff8a9) Every change goes through a proposal, whether or not you approve it by hand: **1. ChatGPT prepares a proposal** It freezes the exact products, fields, languages, saved prompt and settings, and works out a credit estimate. Nothing runs yet. **2. With approval off, ChatGPT applies it** This is the default. ChatGPT applies the proposal within its permissions and, for enrichment, translation, research and catalog jobs, starts the job. Ask it for the review link to see exactly what it did, and for progress until the job is done. **3. With approval on, you open the review link** The link opens **Review assistant changes** in WISEPIM, signed in as the account that made the connection. You see the action under **Action to authorize**, its target, "Estimated WISEPIM credits" and every selected product by name and image. For text edits you see **Current value** and **Proposed value** side by side, with a flag for the language of each translated field. **4. You approve or reject** Click **Approve this proposal** or **Reject proposal**. There is no tool that lets ChatGPT approve its own proposal. **5. ChatGPT applies it** Go back to ChatGPT and ask it to apply the proposal. For enrichment, translation, research and catalog jobs, this starts the job. Ask ChatGPT for progress until the job is done. The proposal is fixed once it exists. Products that start matching your filter later are not added. If a selected product, the prompt or the settings change before you apply it, the status becomes **Needs a new preview** and ChatGPT has to prepare a fresh one. For enrichment you approve the action and its estimate, not the finished text: the text is generated when the job runs. > [!WARNING] > > With approval on: "Approval covers exactly this proposal. Your assistant must then apply it before it expires. Approval alone does not change your catalog." A proposal expires one hour after ChatGPT creates it. The full list of review statuses is on [Connected Apps](/en/settings/connected-apps#what-each-status-means). ## Credits Actions started from ChatGPT use your normal WISEPIM credits, from the same balance as actions you start in the app, and show up on the [Usage](/en/settings/usage) page. | What ChatGPT does | Credits | | - | - | | Searching, reading products, quality scores, analytics, settings and prompts, building filters | No credits | | Enrichment and translation | The estimate on the proposal, which ChatGPT reports and the review page shows. If WISEPIM can't work it out, the page says "The credit estimate is unavailable. This action may consume WISEPIM credits." | | Web research | Paid. The proposal sets a maximum based on the launch estimate; a product is charged once per research task, even if a request is retried. | | Catalog jobs | The job's own estimate. The maximum on the proposal is an estimate ceiling, not a hard cap on final spend. | The app never sells you credits or upgrades. Your existing plan and balance apply. ## Limits | Limit | Value | | - | - | | Projects per connection | 1 | | Search results per page | Up to 50. The total count covers every match, and ChatGPT can page further. | | Natural-language filters | 10 requests per minute | | Quality check | Up to 10 products at a time | | Taxonomy and image checks | Up to 20 products at a time | | SEO performance and opportunities | 1 to 50 selected products | | Analytics period | Up to 366 days; the last 30 days by default | | Enrichment, translation and bulk edit proposals | Up to 500 products. A larger selection fails as a whole; nothing is cut off. | | Exact text edits | Up to 10 products | | Web research proposals | Up to 50 products | | Catalog job proposals | Up to 500 products | | Proposal lifetime | 1 hour, or less if the connection expires sooner | ## Codex The same WISEPIM app works in Codex. Open the WISEPIM connection in Codex, choose **Connect**, and go through the same sign-in and consent screen. The permissions, approval setting, credits and limits on this page apply unchanged. ## Disconnect In WISEPIM, go to **Settings** > **Connected apps**, click **Revoke access** on the connection and then **Confirm revocation**. This "stops new requests and invalidates pending approvals for this connection." Your catalog data stays in WISEPIM. You can also disconnect the app in ChatGPT. To be sure the access itself is gone, revoke it in WISEPIM as well. Connections also expire on their own; the date is under **Expires**. ## Troubleshooting > **No projects are available with the requested permissions** > > The app asks for permissions that change the catalog, so only projects you can edit are listed. Ask the project owner or an admin for an editor role, or deny the request. > **This connection request is invalid or has expired** > > The request from ChatGPT timed out, for example during a long signup. Start a new connection from ChatGPT. > **The WISEPIM connection is not available yet** > > WISEPIM can't accept new connections right now. Try again later. Existing connections stay listed and you can still revoke them. > **This preview is unavailable** > > The proposal expired, the connection was revoked, or you are signed in to WISEPIM with a different account than the one you connected. Sign in with the right account, or ask ChatGPT for a new preview. > **The review page says Needs a new preview** > > A selected product, prompt or setting changed after ChatGPT made the proposal. Ask for a fresh preview and review that one. > **ChatGPT says a selection is too large** > > Proposals take at most 500 products. Narrow the filter, or ask ChatGPT to split the work into batches that you review one by one. > **ChatGPT can't use a feature it used to offer** > > A newer version of the app may need a permission your connection doesn't have. Connect again and approve the new permission. ## Act on what you find > **ChatGPT found products with missing content** > > Ask it to prepare enrichment or translation for exactly those products, then check the selection and the credit estimate before the job runs: on the review page when approval is on, in ChatGPT's answer when it is off. > **ChatGPT applied a change you wanted to see first** > > Approval is off by default. Switch on **Require approval before changes** for the connection under **Settings** > **Connected apps**, and every later change waits for you in WISEPIM. The review link for the change that already landed shows exactly what was applied. > **You approved a proposal** > > Go back to ChatGPT and ask it to apply the proposal. Ask again later for the job's progress. A queued job is not a finished one. > **A job finished** > > Ask ChatGPT to read the products back, or open them in WISEPIM. Catalog jobs can leave suggestions in their review queue; check them in [Catalog Jobs](/en/products/catalog-jobs). > **You no longer use the app** > > Revoke the connection under **Settings** > **Connected apps**. ## Related > **[Claude](/en/integrations/claude)** > > Connect Claude Code or the Claude apps to the same WISEPIM project. > **[Connected Apps](/en/settings/connected-apps)** > > See every assistant connection, its permissions and dates, and revoke access. > **[API Access](/en/settings/api)** > > Connect your own code to the catalog with a project API key. > **[Usage Settings](/en/settings/usage)** > > See the credits that assistant actions spend, next to everything else. # Claude Source: https://docs.wisepim.com/en/integrations/claude Connect Claude Code or the Claude apps to WISEPIM over MCP to search your catalog, read analytics and run changes, with an optional approval step in WISEPIM. WISEPIM runs an MCP server that Claude can connect to. Once connected, Claude can search your catalog, read quality scores and analytics, look at your enrichment settings and prompts, and prepare enrichment, translation, research and catalog jobs. Every change runs through WISEPIM's own pipelines, and you decide per connection whether Claude applies changes itself or waits for your approval in WISEPIM. **What this page enables:** you can work on your catalog from Claude Code or the Claude apps while Claude only sees one project, only with the permissions you allowed, and applies changes only within those permissions, with an approval step in WISEPIM if you switch it on. **Where to find it:** start in Claude: in Claude Code, add the WISEPIM server with the command below and sign in through `/mcp`. Afterwards, manage the connection in WISEPIM under **Settings** > **Connected apps**. ## Ways to connect | Where you use Claude | How to connect | Available | | - | - | - | | **Claude Code** | Add the WISEPIM MCP server with one command | Now | | **Claude Code with the WISEPIM plugin** | The same connection plus 17 WISEPIM skills | Through Claude's plugin directory once the listing is approved; you can load the plugin from its public repository today | | **Claude on the web, Desktop and mobile** | The WISEPIM connector from Claude's connector directory | Once the directory listing is approved | All of them use the same server: ``` https://wisepim.com/mcp ``` > [!NOTE] > > `https://docs.wisepim.com/mcp` is a different server. It answers questions about these docs and has no access to your account or catalog. ## Before you start * A WISEPIM account. No account yet? The sign-in page links to signup, and the connection picks up where it left off once you finish setup. * A project you can edit if Claude should prepare changes. Write permissions are only offered for projects where you are the owner, an admin or editor, or have a custom role that can edit products. * For Claude Code: version 2.1.231 or later, and port 8765 free on your computer while you sign in. ## Connect Claude Code **1. Add the WISEPIM server** Run this in your terminal: ```sh theme={null} claude mcp add --transport http --client-id wisepim-claude-code --callback-port 8765 wisepim https://wisepim.com/mcp ``` `wisepim-claude-code` is WISEPIM's registered client for Claude Code. It has no secret, and you don't need an API key. **2. Sign in from Claude Code** Start Claude Code, run `/mcp`, pick `wisepim` and authenticate. Your browser opens WISEPIM. **3. Sign in to WISEPIM and review the request** Use your normal WISEPIM sign-in. The **Connect WISEPIM** screen shows which assistant asks for access and the account you are signed in with, followed by the **Requested permissions**. **4. Choose a project** Under **Choose a project**, pick exactly one: "Only this project will be accessible through this connection." **5. Decide whether changes need your approval** When the request includes a permission that changes the catalog, the card offers **Require approval before changes**. Leave it off and Claude applies the changes you ask for within its permissions: "Your assistant can apply changes and start jobs within the permissions you grant. WISEPIM still checks access, data freshness and credits." Switch it on and every change waits for your approval in WISEPIM. You can change this later under **Settings** > **Connected apps**. **6. Allow access** Click **Allow access**. WISEPIM hands the sign-in back to Claude Code on `http://localhost:8765/callback`, and the server shows as connected. ![WISEPIM consent screen for an assistant connection, listing the requested permissions, a project to choose, the Require approval before changes switch, and Deny access and Allow access buttons](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-consent-light-transparent.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=15024d141c47109ebe1ed93b29201294) ### The permissions Claude can ask for | Permission | What it allows | | - | - | | **Read catalog** | Search products and view product data. | | **Read quality information** | View quality scores and missing product information. | | **Read task status** | Check progress and results of project tasks. | | **Read project settings** | View configuration for the selected project. | | **Read prompts** | View reusable prompts available to the project. | | **Read analytics** | View project analytics and suggestions. | | **Change catalog** | Prepare and apply product changes according to this connection’s approval setting. | | **Change project settings** | Change configuration for the selected project. | | **Change prompts** | Create and change reusable project prompts. | | **Start enrichment** | Start native WISEPIM enrichment jobs using your saved configuration. | | **Start product research** | Research selected products on the web using the granted permissions. | | **Start catalog jobs** | Run catalog improvement jobs without publishing products. | The consent screen lists exactly what this request asks for. Permissions never go beyond your own role, and WISEPIM checks your role again on every request. A permission that a newer version needs is not granted silently: you reconnect and approve it. ## Install the WISEPIM plugin for Claude Code The plugin bundles the same connection with 17 skills: ready-made workflows that tell Claude how to use the WISEPIM tools step by step. It will be listed in Claude's plugin directory once the listing is approved. Until then, load it from the public repository at [github.com/lldiegon/wisepim-claude-plugin](https://github.com/lldiegon/wisepim-claude-plugin). Clone it and start Claude Code with the `plugin` folder: ```sh theme={null} git clone https://github.com/lldiegon/wisepim-claude-plugin claude --plugin-dir /absolute/path/to/wisepim-claude-plugin/plugin ``` Then sign in through `/mcp` as above. Use a skill by its name, or just describe your task. | Skill | What it does | | - | - | | `start-with-wisepim` | Helps you create or resume an account, finish setup and reach a first result. Works before you connect. | | `catalog-quality-audit` | Finds stored quality scores, missing fields and translation gaps, and ranks what to fix first. | | `enrich-product-content` | Prepares enrichment of descriptions, short descriptions, titles, SEO metadata or attributes. | | `prepare-product-translations` | Prepares translations for chosen languages, fields and products, and tracks them. | | `clean-catalog-data` | Prepares bulk text cleanup such as find and replace, case changes and trimming spaces. | | `research-product-facts` | Researches selected products on the web and shows the sources before any change. | | `enrich-from-research` | Turns research you checked into a reviewed enrichment. | | `enrich-from-supplier-documents` | Reads supplier documents you already uploaded and completes imported supplier rows. | | `assess-product-images` | Finds missing or placeholder images and prepares image jobs. | | `organize-product-taxonomy` | Reviews categories, families and attributes, and prepares taxonomy jobs. | | `manage-enrichment-prompts` | Prepares reviewed changes to your saved prompts and enrichment settings. | | `analyze-commerce-performance` | Analyzes imported order metrics with explicit dates, store and currency. | | `optimize-seo-performance` | Uses Search Console and GA4 data for selected products to propose SEO content fixes. | | `prioritize-catalog-opportunities` | Ranks selected products by traffic and content gaps. | | `channel-readiness-review` | Checks products against channel requirements you give it and lists the gaps. | | `remediate-channel-issues` | Prepares fixes for stored channel issues without publishing. | | `run-catalog-improvement-jobs` | Prepares and follows catalog jobs: filling gaps, supplier rows, images, category mapping and ad readiness. | The plugin runs nothing on your computer: no local server, hooks or telemetry. It only talks to `https://wisepim.com/mcp`. ## Claude on the web, Desktop and mobile The Claude apps connect through a WISEPIM connector in Claude's connector directory, with its own sign-in client. Once the listing is approved, add WISEPIM from the directory and go through the same sign-in and consent screen as above. > [!WARNING] > > Adding `https://wisepim.com/mcp` as a custom connector by URL doesn't work: WISEPIM only accepts its registered clients and doesn't register new ones automatically. Use Claude Code for now, or wait for the directory listing. ## What you can ask * "Help me get my catalog set up." * "Find products missing a Dutch description and prepare them for my review." * "Research missing facts for these products." * "Use available search data to prioritize these products." * "Review my enrichment settings and saved prompts." For a precise selection, Claude turns your request into a WISEPIM filter, shows how it read it and how many products match, and only then works with that selection. If part of your request can't become a filter, it asks instead of guessing. ### The tools behind it The WISEPIM server offers 35 tools. Each needs one or more permissions: | Area | Tools | Permission | | - | - | - | | Products | **List authorized projects**, **Search products**, **Get product filter fields**, **Build a product filter**, **Get product details**, **Get WISEPIM setup status** | Read catalog | | Quality | **Analyze product quality** (stored scores and missing fields, no paid audit) | Read quality information | | Taxonomy, images and channels | **Get catalog taxonomy**, **Get product taxonomy**, **Assess product image evidence**, **Get channel issues** | Read catalog | | Research and documents | **Get stored product research**, **List project documents**, **Read a project document** | Read catalog | | Analytics | **Get project analytics**, **Get catalog suggestions**, **Get order metrics**, **Get analytics capabilities** | Read analytics | | Search performance | **Get product SEO performance**, **Get catalog opportunities** | Read analytics and Read catalog (opportunities also Read quality information) | | Settings and prompts | **Get project settings**, **List saved prompts**, **Get a saved prompt** | Read project settings, Read prompts | | Catalog jobs | **List catalog job kinds**, **Estimate a catalog job** | Read catalog | | Progress | **Get task status**, **Get catalog job status** | Read task status | | Proposals | **Preview enrichment or translation** | Start enrichment (bulk edits: Change catalog) | | | **Preview product changes** (exact text edits you ask for) | Change catalog | | | **Preview project settings**, **Preview a saved prompt** | Change project settings, Change prompts | | | **Preview web research** | Start product research and Read catalog | | | **Preview a catalog job** | Start catalog jobs, Read catalog and Change catalog | | Approval | **Get change review status**, **Apply approved changes** | The permission of the original proposal | Catalog jobs cover five of the [Catalog Jobs](/en/products/catalog-jobs): **Fill the gaps**, **Complete a supplier sheet** (rows you already imported), **Fix missing images**, **Map categories between shops** and **Get ready for Google and Meta ads**. Jobs started from Claude never export. Claude can't handle billing, credentials, team access, deleting products, exports or publishing. It doesn't generate images, video or audio, read PDFs, or import new files. Do those in WISEPIM itself. ## Review and approve changes ![WISEPIM Review assistant changes page with an Awaiting review proposal, the action to authorize, its target of 3 products, the estimated credits, and a product shown by name with a German-flagged field and current and proposed values](https://mintcdn.com/swiftsyncai/sl_1qDozLiAn5HYQ/images/marketing-screenshots/settings/openai-review-light-branded.webp?fit=max\&auto=format\&n=sl_1qDozLiAn5HYQ\&q=85\&s=54f77ecf0c9e0184e79a7ccd7a3ff8a9) Every change goes through a proposal, whether or not you approve it by hand: **1. Claude prepares a proposal** It freezes the exact products, fields, languages, saved prompt and settings, and works out a credit estimate. Nothing runs yet. **2. With approval off, Claude applies it** This is the default. Claude applies the proposal within its permissions and, for enrichment, translation, research and catalog jobs, starts the job. Ask it for the review link to see exactly what it did, and for progress until the job is done. **3. With approval on, you review it in WISEPIM** Claude gives you a review link and waits. The link opens **Review assistant changes**, signed in as the account that made the connection. Check the **Action to authorize**, its target, "Estimated WISEPIM credits" and every selected product by name and image. Text edits show **Current value** and **Proposed value** side by side, with a flag for the language of each translated field. **4. You approve or reject** Click **Approve this proposal** or **Reject proposal**. Claude has no tool to approve its own proposal, and a "yes" in the chat doesn't count as approval. **5. Claude applies it** Back in Claude, ask it to apply the proposal. For enrichment, translation, research and catalog jobs, this starts the job. Ask Claude for progress until it is done. The proposal is fixed once it exists. If a selected product, the prompt or the settings change before you apply it, the status becomes **Needs a new preview** and Claude prepares a fresh one. For enrichment you approve the action and its estimate; the text is generated when the job runs. > [!WARNING] > > With approval on: "Approval covers exactly this proposal. Your assistant must then apply it before it expires. Approval alone does not change your catalog." A proposal expires one hour after Claude creates it. All review statuses are explained on [Connected Apps](/en/settings/connected-apps#what-each-status-means). ## Credits Actions started from Claude use your normal WISEPIM credits, from the same balance as actions in the app, and show up on the [Usage](/en/settings/usage) page. | What Claude does | Credits | | - | - | | Searching, reading products, quality scores, analytics, settings and prompts, building filters | No credits | | Enrichment and translation | The estimate on the proposal, which Claude reports and the review page shows. If WISEPIM can't work it out, the page says "The credit estimate is unavailable. This action may consume WISEPIM credits." | | Web research | Paid. The proposal sets a maximum based on the launch estimate; a product is charged once per research task, even if a request is retried. | | Catalog jobs | The job's own estimate. The maximum on the proposal is an estimate ceiling, not a hard cap on final spend. | ## Limits | Limit | Value | | - | - | | Projects per connection | 1 | | Search results per page | Up to 50. The total count covers every match, and Claude can page further. | | Natural-language filters | 10 requests per minute | | Quality check | Up to 10 products at a time | | Taxonomy and image checks | Up to 20 products at a time | | SEO performance and opportunities | 1 to 50 selected products | | Analytics period | Up to 366 days; the last 30 days by default | | Enrichment, translation and bulk edit proposals | Up to 500 products. A larger selection fails as a whole; nothing is cut off. | | Exact text edits | Up to 10 products | | Web research proposals | Up to 50 products | | Catalog job proposals | Up to 500 products | | Proposal lifetime | 1 hour, or less if the connection expires sooner | ## Disconnect In WISEPIM, go to **Settings** > **Connected apps**, click **Revoke access** on the connection and then **Confirm revocation**. This "stops new requests and invalidates pending approvals for this connection." Your catalog data stays in WISEPIM. To remove the server from Claude Code as well, run `claude mcp remove wisepim`. Connections also expire on their own; the date is under **Expires**. ## Troubleshooting > **Sign-in in Claude Code doesn't come back** > > Claude Code waits for WISEPIM on port 8765. Make sure nothing else uses that port and that you run Claude Code 2.1.231 or later, then authenticate again through `/mcp`. Don't change the port: WISEPIM only accepts `http://localhost:8765/callback`. > **No projects are available with the requested permissions** > > The request includes permissions that change the catalog, so only projects you can edit are listed. Ask the project owner or an admin for an editor role, or deny the request. > **This connection request is invalid or has expired** > > The request timed out, for example during a long signup. Start the connection again from Claude. > **The WISEPIM connection is not available yet** > > WISEPIM can't accept new connections right now. Try again later. > **This preview is unavailable** > > The proposal expired, the connection was revoked, or you are signed in to WISEPIM with a different account than the one you connected. Sign in with the right account, or ask Claude for a new preview. > **Claude says a selection is too large** > > Proposals take at most 500 products. Narrow the filter, or ask Claude to split the work into batches that you review one by one. > **Claude can't use a feature the plugin describes** > > Your connection may lack a permission that the newer skills need. Connect again and approve the new permission. ## Act on what you find > **Claude found products with missing content** > > Ask it to prepare enrichment or translation for exactly those products, then check the selection and the credit estimate before the job runs: on the review page when approval is on, in Claude's answer when it is off. > **Claude applied a change you wanted to see first** > > Approval is off by default. Switch on **Require approval before changes** for the connection under **Settings** > **Connected apps**, and every later change waits for you in WISEPIM. The review link for the change that already landed shows exactly what was applied. > **You approved a proposal** > > Ask Claude to apply it, and later ask for the job's progress. A queued job is not a finished one. > **A job finished** > > Ask Claude to read the products back, or open them in WISEPIM. Catalog jobs can leave suggestions in their review queue; check them in [Catalog Jobs](/en/products/catalog-jobs). > **You no longer use the connection** > > Revoke it under **Settings** > **Connected apps** and remove the server from Claude Code. ## Related > **[ChatGPT](/en/integrations/chatgpt)** > > Connect the WISEPIM app in ChatGPT or Codex. > **[Connected Apps](/en/settings/connected-apps)** > > See every assistant connection, its permissions and dates, and revoke access. > **[API Access](/en/settings/api)** > > Connect your own code to the catalog with a project API key. > **[Usage Settings](/en/settings/usage)** > > See the credits that assistant actions spend, next to everything else. # CCV Shop Integration Source: https://docs.wisepim.com/en/integrations/cvv-shop Connect CCV Shop to WISEPIM from the App Store or with API keys. Fix test errors, and see how exports, images and imports are verified. 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. > [!NOTE] > > 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. **1. Find WISEPIM in the CCV Shop App Store** Open the App Store in your CCV Shop admin and search for **WISEPIM**. **2. Install the app** Install it and approve the access CCV Shop asks about. Finish within 30 minutes: CCV Shop does not allow an installation to take longer. **3. Continue in WISEPIM** WISEPIM shows **Your CCV Shop is connected**. What happens next depends on your account, see the table below. | Your situation | What WISEPIM does | | - | - | | No WISEPIM account yet | Creates your account, links the shop and opens onboarding with what CCV Shop told us already filled in: your name, company, phone, interface language, your shop's languages as project languages and your storefront URL. Click **Set up WISEPIM**. | | Your CCV Shop email address already has a WISEPIM account | Shows **You already have a WISEPIM account**. Click **Log in and connect**, then **Connect CCV Shop** on the **Connect your CCV Shop** page. The link is valid for 30 minutes. | | You install the app again | Reconnects the shop to the account it was first connected to, so you pick up where you left off. | If the installation fails, WISEPIM shows **We couldn't complete the installation** with the reason. The common ones: the installation took longer than 30 minutes, CCV Shop did not give the app the permission it needs, or CCV Shop did not accept the connection. Start the installation again from the App Store. If it keeps failing, contact [support@wisepim.com](mailto:support@wisepim.com). > [!TIP] > > 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 ![Connecting CCV Shop to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-ccvshop-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=d417f4d5fa125438c9b1ab3d4022cd18) First, create a key pair in your CCV Shop admin panel. **1. Open the API settings** Log in to your CCV Shop admin panel. Go to **Settings**, then **API & Webhooks**, then open the **API Keys** tab. **2. Create a new key** Click **Generate new API key** and fill in the details: * **Description**: a name you recognize, such as `WISEPIM Integration` * **Permissions**: read and write for all resources, including webshops, products, categories, attributes, media and orders **3. Save and copy your credentials** Click **Save**. CCV Shop gives you a public key and a private key. Copy both and keep them somewhere safe. You enter them in WISEPIM next. ## Add the keys to WISEPIM **1. Open the CCV Shop integration** Log in to WISEPIM. Go to **Settings** > **Integrations** and select **CCV Shop**. **2. Enter your credentials** * **API Key**: the public key * **API Secret**: the private key that belongs to it * **API URL**: your store address, such as `https://your-store.nl` * **Storefront URL** (optional): only if your public storefront differs from the API URL **3. Test and save** Click **Test Integration**, then **Save**. Saving tests the connection again. > [!NOTE] > > 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, and each shop keeps track of its own photo gallery. ## When the connection test fails CCV Shop answers every login problem the same way, so WISEPIM names CCV's own error code and the fix: | Code | What it means | What to do | | - | - | - | | **401.10** | CCV does not recognize the API key | Enter the public key as **API Key**. | | **401.12**, **401.13**, **401.14** | The key lacks permissions | Give the key read and write access to all resources, including webshops, products, categories, attributes, media and orders. | | **401.20** | The request signature was rejected | Check that **API Secret** is the private key that belongs to this API key. | | **401.30** | CCV rejected the request time | Run the test again. | An error without a code usually means a wrong store address. Check the **API URL** and test again. ## 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. * **Translated URLs.** A translated product or category gets its own URL alias, built from the translated name once the read-back confirms the text. Only a blank alias, or one that still equals the primary-language alias, is replaced. An alias you set yourself is kept, and an alias CCV refuses is logged as a warning without failing the export. * **Categories.** A product export only links products to categories that already exist in CCV Shop. It never creates them, and a category it cannot match, or matches more than once, is skipped. A category export writes the name, description, page title, meta description, meta keywords and the show-on-website setting, but no images. Category updates are read back too, so a change CCV did not store fails the export. * **Discounts.** WISEPIM sends the discount with every price: your active special price, or `0` when there is none, so an old promotion does not linger. Turn off discount syncing in the connection's field mapping if you manage promotions in CCV Shop. When a promotion kept that way exceeds the new price, the price update is blocked with a message instead of selling below zero. * **Properties.** When two attributes map to the same CCV property, the last one wins and the property is written once. ## How images sync On export, your CCV Shop gallery is made to match your WISEPIM gallery, in the order you set in WISEPIM. The first image becomes the main product photo. * Each photo goes out once, however many times it is linked to the product. * A photo deleted in the CCV admin is restored on the next export. If CCV still holds fewer photos after one retry, WISEPIM stops re-sending until the gallery changes and reports the shortfall, such as `2/3`. * Extra photos added in CCV beyond your WISEPIM gallery are removed on the next export. * Images without a file extension are uploaded unchanged. * A product exported to two CCV shops has its gallery tracked per shop. > [!TIP] > > Put your best shot first in WISEPIM. That is the photo shoppers see in category listings and search results on your CCV Shop store. ## How imports work * Imports respect CCV Shop's rate limit and wait as CCV asks. After 5 waits in a row on the same page, the import gives up on that page. * Products that are only configurable through attribute values import and re-import correctly. * A re-import unlinks images that came only from the previous CCV gallery. It never deletes them. * The [Category Import](/en/automations/data-nodes) automation node, with CCV Shop as the source, imports parents before children and no longer adds copies at the root on each run. One bad row no longer stops the whole batch, and a category moved to the root gets its own tree. A row whose CCV id is linked to two WISEPIM categories fails with a message to merge them before importing. ## 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull products from CCV Shop into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve product content with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Send products back to CCV Shop. # 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. > [!NOTE] > > The Databricks integration is available only on the **Enterprise plan**. Contact our sales team to learn about Enterprise features and pricing. ## Before you start ![Connecting Databricks to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-databricks-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=687e726748ac17ec03aec7e46de55227) 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. **1. Log in to Databricks** Open your Databricks workspace URL and sign in. **2. Copy your Server Hostname and HTTP Path** 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`. **3. Set up authentication** 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. **4. Pick your target Catalog and Schema** 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. > [!WARNING] > > 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. **1. Open the integration** Log in to WISEPIM and go to the **Integrations** page. Find the **Databricks** tile in the App Marketplace and click it. **2. Enter your connection details** 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` **3. Add source tables (optional)** 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`) **4. Test the connection** Click **Test Integration** to confirm WISEPIM can reach your workspace and the chosen catalog and schema. **5. Save** 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. **1. Open Products** Go to the **Products** page in WISEPIM. **2. Choose products** Select the products you want to export, or select all. **3. Export to Databricks** 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 > [!TIP] > > 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. **1. Set your source tables** Add the **source table names** in your integration settings. **2. Import from Databricks** Click **Import** on the Products page and choose **Databricks** as the source. WISEPIM reads your tables and maps the data to your project attributes. > [!NOTE] > > 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. > **Product performance analytics** > > * Build dashboards to track product performance across channels and markets. > * Find which attributes correlate with higher conversion rates. > * Compare performance across languages and regions. > **Machine learning pipelines** > > * 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. > **Data governance** > > * 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. > [!TIP] > > 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 > **Connection errors** > > * 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. > **Authentication issues** > > * 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. > **Export problems** > > * 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. > **Import problems** > > * 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. > [!WARNING] > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull products from your Databricks tables. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve product content with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Send products to Delta Lake tables. # 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 import your catalog. Import only. Connect your Django Oscar store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. Django Oscar is an open-source e-commerce framework for Django. > [!NOTE] > > The Django Oscar connection is import only today. WISEPIM does not export products back to Django Oscar. Setup takes two steps: get an API token from your Oscar backend, then add it in WISEPIM. > [!NOTE] > > 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 ![Connecting Django Oscar to WISEPIM, store URL, API token, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-django-oscar-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=b2f836a32322cec333bcd59629bc27f1) Django Oscar uses a bearer token tied to a staff account with catalog access. **1. Confirm API 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. **2. Create or copy a token** Generate an API token for that account (for example, a Django REST Framework auth token from your admin), or copy an existing one. **3. Copy the token** Copy the token. You need it in the next step. **4. Note your store URL** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Django Oscar** Find and click the **Django Oscar** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Django Oscar store is now connected. You can start importing products. > [!WARNING] > > 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 > **The connection test fails** > > 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. > **Authentication is rejected** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Django Oscar into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > This integration syncs products, variants, categories, images, and custom attributes between Ecwid and WISEPIM, in both directions. ## Before you start ![Connecting Lightspeed E-Series (Ecwid) to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/CWxoCL6DT-ox53OB/images/marketing-screenshots/integrations/integration-configure-ecwid-light-transparent.webp?fit=max\&auto=format\&n=CWxoCL6DT-ox53OB\&q=85\&s=d7fdde5b08bc1536409687d6a0e02fdc) 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. **1. Open the API settings in Ecwid** 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**. **2. Copy your Store ID** Your **Store ID** appears at the top of the API settings page. Copy it. **3. Copy your API tokens** 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 | > [!WARNING] > > 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. **1. Open the Integrations page** In WISEPIM, go to **Integrations** from the main sidebar. **2. Select Lightspeed E-Series (Ecwid)** Find the **Lightspeed E-Series (Ecwid)** tile in the App Marketplace and click it. **3. Enter your credentials** Fill in your **Store ID**, **Secret Token**, and **Public Token**. **4. Test and save** Click **Test Integration** to confirm WISEPIM can reach your store. When the test passes, click **Save**. > [!TIP] > > 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. **1. Start the import** Go to the **Products** page, click **Import**, and select **Ecwid** as the source. **2. Let WISEPIM fetch your catalog** WISEPIM imports your products, including: * Names and descriptions * Prices and SKUs * Stock quantities * Images * Categories * Variants (combinations) * Custom attributes > [!TIP] > > 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. **1. Open the Attribute Mapper** On the **Integrations** page, find your Ecwid tile and click **Open Attribute Mapper**. **2. Review and adjust** Check the field mappings and change any that don't match. **3. Save the mapping** 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. **1. Select your products** On the **Products** page, select the products you want to export. **2. Export to Ecwid** Click **Export** and choose **Ecwid** as the destination. **3. Review and confirm** Check the export preview, then confirm. > [!NOTE] > > 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 > [!TIP] > > Set your target languages in WISEPIM before you export. WISEPIM then matches each translation to the right language in Ecwid automatically. ## Troubleshooting > **Connection errors** > > * 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. > **Products won't import** > > * 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. > **Products won't export** > > * 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. > [!WARNING] > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Bring your Ecwid catalog into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Optimize titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push optimized content back to your store. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # 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, GTIN or shop id. 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. ![A connected GA4 journey in WISEPIM from traffic and audience to funnel behavior and product opportunities](https://mintcdn.com/swiftsyncai/6ZQoBzJkFmY7l9Qs/images/marketing-screenshots/analytics/analytics-ga4-traffic-insight-light-branded.webp?fit=max\&auto=format\&n=6ZQoBzJkFmY7l9Qs\&q=85\&s=40d5f3466a9c5833f811b0342645e0b9) ## 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 an identifier WISEPIM knows as GA4's `item_id`: the SKU, a variant SKU, the GTIN or the shop's product id. See [How products are matched](#how-products-are-matched). 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 **1. Open Integrations** Go to **Channels** > **Integrations**, filter by **Analytics**, and open **Google Analytics 4**. **2. Connect with Google** Click **Connect with Google**. WISEPIM redirects you to Google's consent screen and requests read-only Analytics access. **3. Choose an account** Sign in with the Google account that can access the required GA4 property. After consent, you return to WISEPIM automatically. **4. Select a property** WISEPIM lists the GA4 properties available to that account, including their Analytics account and property ID. Select the property that belongs to this project. **5. Let the first sync finish** 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: `{start}` to `{end}`" 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 | > [!NOTE] > > 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 (`item_id`) to a product in the same project by its SKU, a variant SKU, its GTIN (EAN or UPC) or the product's id in your connected shop. Product names are deliberately not used, because names are not stable identifiers. | GA4 value | WISEPIM result | | - | - | | `item_id` matches a SKU, variant SKU, GTIN or shop product id | Funnel metrics appear on that product | | `item_id` matches nothing | The row stays unmatched until you link it by hand | | `item_id` is missing or `(not set)` | The row is ignored for product attribution | Automatic matches are stored and checked again on later syncs. To fix one, open [Tracking Health](/en/analytics/tracking-health) in Analytics, go to the **Item Matching** tab and click **Link product** or **Change match** on the GA4 product. A link you set by hand wins over the automatic match. Only WISEPIM's reports change, GA4 stays as it is. **Remove link** lets automatic matching apply again. > [!TIP] > > Sending the WISEPIM SKU as `item_id` is still the most reliable setup. Without any usable identifier, aggregate GA4 reports still work, but product-level conversion insights cannot be linked. ## How Tracking Health compares revenue Tracking Health compares what GA4 recorded with the orders your shop reported. It only counts paid orders: pending and refunded orders do not count. Many shops send GA4 revenue without VAT and shipping, so WISEPIM compares against your order value without them when at least 90% of your orders carry tax information. Otherwise it compares against order totals including VAT and shipping, which makes the tracked share read lower. The headline says which basis it used: "excl. VAT and shipping" or "incl. VAT and shipping". ## 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 | | [Tracking Health](/en/analytics/tracking-health) | How much of your order revenue GA4 records, plus **Item Matching** for product links | | [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. > [!NOTE] > > 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 > **No properties are listed** > > 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. > **The connection works but the reports are empty** > > 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. > **Traffic appears but products are not matched** > > Inspect the storefront's ecommerce payload. Its `item_id` must be the SKU, a variant SKU, the GTIN or the shop's product id. A product name or variant label does not match. For the rest, open **Tracking Health** > **Item Matching** and link the GA4 products by hand. > **A sync is partial or failed** > > 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 > **[Conversions](/en/analytics/conversions)** > > Find the largest drop-off in the GA4 ecommerce funnel. > **[Product Performance](/en/analytics/product-performance)** > > Tie item views and purchases to products and content quality. > **[Google Search Console Integration](/en/integrations/google-search-console)** > > Add organic-search clicks, impressions, CTR, and positions. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > 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. > [!NOTE] > > 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 ![Connecting Google Merchant Center to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-google-merchant-center-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=c5b6422980e8a7128511f9d7d4fc286b) **1. Open Integrations** Go to **Channels** > **Integrations** and find the **Google Merchant Center** card. **2. Sign in with Google** 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. **3. Set the data source** Set the **Data Source ID** the products should land in. **4. Set the feed defaults** 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. **5. Map your locales** Under **Locales to sync**, add each project language you want to publish and set its feed target (see below). **6. Test and save** 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. Images inside the description are always removed. Product FAQs are not added: the FAQ format for Merchant Center starts at **Off** under **Settings** > **FAQs**. | | 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). See the availability rule below. | | Availability date | The product's **Expected availability date**, sent only while the product is on backorder or preorder | | Apparel attributes | Color, size, gender, age group, material, pattern, size system, size type and identifier exists, read from your product attributes. Values Google does not accept are left out and listed as warnings in the Process Tracker. | | 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 | ### How availability is decided Merchant Center and the [Feed Hub](/en/essentials/feed-hub) use the same rule: | Tracked stock | Backorders | Availability sent | | - | - | - | | More than 0 | Any setting | In stock, unless the product is explicitly marked out of stock | | 0 or less | Allowed, or the stock status is on backorder | Backorder | | 0 or less | Not allowed | Out of stock | The **Attribute Mapper** on the connection lets you override or disable individual fields. A mapping you set there also overrides the apparel attributes WISEPIM reads from your products. Computed fields such as the link, Google product category, and item group ID show as unmapped by default because WISEPIM derives them for you. > [!WARNING] > > 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 > **Products are skipped with 'missing required fields'** > > 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. > **A product exported without its GTIN** > > 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. > **Export rejected: an export is already running** > > 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 connection shows 'Reconnect'** > > 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. > **Health shows 'Authentication failed'** > > 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. > **A run finished as 'partial'** > > 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. > **Deleted products still show in Merchant Center** > > 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 > **[Feed Hub](/en/essentials/feed-hub)** > > Prefer a feed URL? Generate a Google Shopping feed instead. > **[Exporting Products](/en/essentials/exporting-products)** > > Push products to any connected channel in a few clicks. > **[Quality Guard Overview](/en/quality-guard/overview)** > > Block incomplete products from reaching your channels. > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > 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. ![WISEPIM SEO performance with Search Console clicks, impressions and keyword growth](https://mintcdn.com/swiftsyncai/bpNBt8rsb_Z5gCz4/images/marketing-screenshots/analytics/analytics-seo-light-branded.webp?fit=max\&auto=format\&n=bpNBt8rsb_Z5gCz4\&q=85\&s=00b4f077ce4cff6b7db1121617f25a78) ## 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 **1. Open Integrations** Go to **Channels** > **Integrations** in the top navigation, filter by the **Analytics** category, and find the **Google Search Console** card. **2. Click Connect** The connection dialog explains what you'll get: search query performance, impressions, clicks, CTR, position metrics, and page-level performance. Click **Connect with Google**. **3. Sign in 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. **4. Select a property** 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. **5. Let the initial import run** 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. > [!NOTE] > > 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. | > [!NOTE] > > 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 | > [!TIP] > > 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 > **No sites found after signing in** > > 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. > **The SEO report says GSC is not connected** > > 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. > **The initial import failed** > > Your property stays selected, and a sync problem on its own does not need a reconnect. Review the sync error shown on the SEO report, then use **Sync now** to retry safely. Rate limits and temporary Google errors are retried automatically. > **The card says Google is not accepting our access** > > Google revoked or expired the access WISEPIM holds, for example after a password change or when you removed WISEPIM from your Google account. Syncing pauses until you click **Reconnect** and sign in again. Your property choice and history stay. If reconnecting does not help and the error names the app configuration rather than your access, the problem is on WISEPIM's side: contact support. > **Search Console synced but the report shows no activity** > > 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. > **Recent days show no data** > > Expected. GSC data trails by about 3 days (see above). If older data is missing too, run **Sync now**. > **Products show 'Not in sitemap'** > > 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 > **[SEO & Search](/en/analytics/seo)** > > The command center this connection powers. > **[Product Performance](/en/analytics/product-performance)** > > See product-attributed search metrics next to sales and quality. > **[Search Intent](/en/ai/search-intent)** > > Rewrite descriptions using your real queries. > **[Google Analytics 4 Integration](/en/integrations/google-analytics)** > > 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. > [!NOTE] > > 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 ![Connecting Kaufland.de to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/JY3oqFRd8MZNh_9c/images/marketing-screenshots/integrations/integration-configure-kaufland-light-transparent.webp?fit=max\&auto=format\&n=JY3oqFRd8MZNh_9c\&q=85\&s=68e226d13d98c5f9ab505ed8b38d51d9) 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. **1. Open the API settings in Kaufland** Sign in to the [Kaufland Seller Portal](https://sellerportal.kaufland.de). Go to **Settings** and open the **API** or **Interface** section. **2. Create your API credentials** 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. **3. Set the API permissions** Make sure your API key has these permissions: * **Products**: read and write * **Categories**: read * **Orders**: read (optional, for analytics) > [!WARNING] > > 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. **1. Open the Integrations page** In WISEPIM, go to **Integrations** from the main sidebar. **2. Select Kaufland.de** Find the **Kaufland.de** tile in the App Marketplace and click it. **3. Enter your credentials** Fill in your **API Key** (Client Key) and **API Secret** (Secret Key). **4. Test and save** Click **Test Integration** to confirm WISEPIM can reach your seller account. When the test passes, click **Save**. > [!TIP] > > 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. | > [!WARNING] > > **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. > [!TIP] > > 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. **1. Start the import** Go to the **Products** page, click **Import**, and select **Kaufland.de** as the source. **2. Let WISEPIM fetch your listings** 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. **1. Select your products** On the **Products** page, select the products you want to export. **2. Export to Kaufland** Click **Export** and choose **Kaufland.de** as the destination. **3. Review and confirm** Check the export preview to verify your data, then confirm. Images inside descriptions are removed on export. Product FAQs are added to the description as plain-text questions and answers, because Kaufland drops accordion markup. Change the format for Kaufland under **Settings** > **FAQs**. > [!TIP] > > 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 **1. Open the Attribute Mapper** On the **Integrations** page, click **Open Attribute Mapper** on your Kaufland tile. **2. Map categories and required fields** Match your WISEPIM categories to the matching Kaufland categories. Then map the attributes for each category's required fields. **3. Save the mapping** Save your configuration. > [!NOTE] > > 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 > [!WARNING] > > 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 > [!TIP] > > Start with your main market (usually Germany), then use WISEPIM's translation features to expand to other Kaufland markets with consistent quality. ## Troubleshooting > **Connection errors** > > * 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. > **Products won't import** > > * 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. > **Products won't export** > > * 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. > **Category mapping issues** > > * 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. > [!WARNING] > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Bring your Kaufland listings into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Optimize titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push optimized listings back to Kaufland. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # Lightspeed Integration Source: https://docs.wisepim.com/en/integrations/lightspeed Connect Lightspeed eCom to WISEPIM from the App Store or with API keys. Sync specifications, filters, quantity discounts and translations. Connect your Lightspeed eCom (C-Series) 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. There are two ways in: * **Install from the Lightspeed App Store.** The fastest route. Lightspeed hands WISEPIM the connection, so there are no keys to copy. * **Connect with API keys.** Use this if you prefer to create the keys in your Lightspeed back office yourself. > [!NOTE] > > You need admin access to your Lightspeed store. Stores in the EU and US regions are both supported. ## Install from the Lightspeed App Store **1. Find WISEPIM in the App Store** Log in to your Lightspeed back office, open the App Store and search for **WISEPIM**. **2. Install the app** Click to install and approve the access Lightspeed asks about. You never type an API key or secret. **3. Continue in WISEPIM** Lightspeed sends you to WISEPIM, which shows **Your Lightspeed shop is connected**. What happens next depends on your account, see the table below. | Your situation | What WISEPIM does | | - | - | | No WISEPIM account yet | Creates a free account, links the shop and opens onboarding with what Lightspeed told us about your store already filled in. Click **Set up WISEPIM**. | | The shop's email address already has a WISEPIM account | Shows **You already have a WISEPIM account**. Click **Log in and connect**, then **Connect Lightspeed** on the **Connect your Lightspeed shop** page. The link is valid for 30 minutes. | | You install the app again on a shop you connected before | Reconnects the same shop to the same account, so you pick up where you left off. | If the install fails, WISEPIM shows **We couldn't complete the installation** with the reason, for example an expired installation link or a connection Lightspeed did not accept. Open WISEPIM again from the Lightspeed App Store to retry. > [!NOTE] > > Uninstalling the app in Lightspeed removes the stored keys and turns off import and export for that shop. Your products and the connection profile stay in WISEPIM, so installing again picks them back up. ## Connect with API keys ![Connecting Lightspeed (C-Series) to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-lightspeed-c-series-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=9e3759a046231b5e8b8ab320ba486071) **1. Create an API key in Lightspeed** Sign in to your Lightspeed eCom back office and open **Settings** > **Workflow** > **API**. Create or open an API key. It shows an API key and API secret pair. **2. Open Integrations in WISEPIM** Go to **Settings** > **Integrations** and choose **Lightspeed**. **3. Enter your credentials** * **API Key** and **API Secret**: the pair from Lightspeed. * **API URL**: `https://api.webshopapp.com` for EU stores, `https://api.shoplightspeed.com` for US stores. * **Storefront URL** (optional): your public storefront, if it differs from the API URL. **4. Test and save** Click **Test Integration** to confirm your credentials work, then click **Save**. > [!TIP] > > Your Lightspeed store is now connected. You can start importing products. > [!WARNING] > > Keep your API keys private and never share them publicly. If you think your keys are compromised, regenerate them in your Lightspeed back office 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. ### Prices, cost, weight and stock * **Cost price** syncs as Lightspeed's `priceCost`. * **Weight** is sent in grams. * **Stock mode** maps to manage stock and backorders in WISEPIM: Lightspeed's `indicator`, `enabled` and `disabled` modes travel both ways. * **Related products** sync in both directions. ### Quantity discounts Volume discounts you set in WISEPIM export as Lightspeed quantity discounts, per product and per customer group, as a unit price or a percentage. Fixed-price tiers become unit prices and amount-off tiers are converted. Some discounts have no Lightspeed equivalent. They are not sent, and the export row shows a warning: * Buy X, get Y offers * Discounts for the "logged-in" or "specific customers" audiences * Customer groups you have not mapped * Tiers that would price the product at zero or below Discount rules that WISEPIM exported earlier and that no longer exist are switched off once. Quantity discounts you created in Lightspeed yourself are never touched. ### Specifications Lightspeed **Specifications** are a Type with a list of Attributes. WISEPIM imports them as product attributes and writes them back on export. For families imported from Lightspeed in a project with one Lightspeed connection, WISEPIM assigns the Type to the product itself. When a product has specification values but no Type, the export fails with: "Specifications were not sent: assign the product's specification group in the Lightspeed backoffice, then export again. Your PIM values are preserved." ### 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. * Filters are read again on every import, so WISEPIM always works from the shop's current list. * When two attributes are mapped to the same filter, their values must agree. * Filter values are written after images and content. When the shop hits its filter-option limit, the product is marked failed and the rest of its data is still exported. * Duplicate option titles inside one filter resolve to the option that is already linked, or the oldest one. * Duplicate filter titles: attributes mapped by id still export, attributes matched by title fail with the ids you can map them to. * Filter and specification names and option labels sync per language in both directions, through **Name in other languages** on the attribute. ### Categories and filters on existing products Exports reconcile category and filter assignments on existing products, not only on new ones. Removing an assignment in WISEPIM can remove its link in Lightspeed. Old links are only removed after the new ones are added, and an incomplete category mapping or a failed addition blocks the removal. ### Translations and German content Translated meta titles and meta descriptions win over untranslated base text, and each extra language is resolved within its own language. Categories export per language through the mapped language URL. When German is one of your project languages, the export dialog for Lightspeed shows **German content only**. Turn it on, with German as the only export language, to update German titles, descriptions, specification and filter translations on existing products. Prices, stock, URLs, images, categories and which filters a product has stay untouched. ### Variants and images * An export needs one exact variant match. EAN is only used as a fallback when the GTIN is unique. * A variant gets its own first image. * Blank variant titles are filled on export. Titles, article codes, the default variant and stock mode you set in Lightspeed are never overwritten on update. * Images inside descriptions are copied into your Lightspeed files. * A failed gallery upload no longer blocks the language and filter writes. The product stays failed until its images complete. * Option sets export as filters. ### 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. ## Rate limits and large exports Lightspeed allows roughly 3,000 requests per hour per shop. When Lightspeed answers that the limit is reached, WISEPIM waits up to 15 minutes per request, and the other exports for that shop pause with it. If the hourly or daily quota only reopens later, the export pauses and retries on its own, for up to 24 hours per shop connection. Products that were already exported are not sent again. The error text says whether the hour or day quota is closed, or whether another integration shares the same quota. Large imports run in batches, so a big catalog does not time out. A scoped import fails as a whole rather than importing part of the selection. ## Products deleted in Lightspeed A full import without a scope sets products that were deleted in the shop to inactive in WISEPIM. WISEPIM only does this when the number of products it fetched matches the count Lightspeed reports, and it skips the step when more than 10% of your products look removed. Nothing is deleted or reactivated automatically. ## 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 export of that product fails so you can fix the mapping. 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. ## Moving a catalog between Lightspeed shops When WISEPIM creates a variant in a new shop, it carries over the stock mode, the old (comparison) price, the stock alert and minimum, the minimum and maximum order quantity, variant titles, article codes and related products. Later updates never touch these fields, so changes you make in the new shop stay. ## 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. ## Act on what you find > **Specifications were not sent** > > Open the product in your Lightspeed back office, assign its specification group, then export again. Your values in WISEPIM are kept. > **A product failed on a filter** > > Check the error: it names the cause, such as the shop's filter-option limit or a duplicate filter title. Map the attribute to the filter id the error lists, or clean up the duplicate in Lightspeed, then export again. > **The export paused on the rate limit** > > Nothing to do. The export continues when the quota reopens. If the error says another integration shares the quota, spread the two over different times. > **A category link disappeared after an export** > > Exports reconcile assignments, so a category you removed in WISEPIM is removed in Lightspeed too. Add it back in WISEPIM and export again. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Lightspeed into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and attributes with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the improved content back to Lightspeed. > **[App Marketplace & Integrations](/en/essentials/integrations)** > > 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. > [!NOTE] > > You need admin access to your Magento 2 store and a WISEPIM account with an active project. ## Create the integration in Magento ![Connecting Magento 2 to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/RNPSmnJGt6Zn3KMY/images/marketing-screenshots/integrations/integration-configure-magento-2-light-transparent.webp?fit=max\&auto=format\&n=RNPSmnJGt6Zn3KMY\&q=85\&s=bf4c78c02ef87b4b95cbf40d2914e3b3) Add a new integration so Magento can issue the API keys that connect to WISEPIM. **1. Open your Magento 2 admin panel** Log in to Magento with your admin account. **2. Go to Integrations** Navigate to **System** > **Integrations**. **3. Add a new integration** 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. **1. Activate** After saving, click **Activate** in the integrations grid. **2. Allow access** Review the permissions and click **Allow**. **3. Copy your keys** Magento shows four keys. Copy all of them: * Consumer Key * Consumer Secret * Access Token * Access Token Secret > [!WARNING] > > 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Magento** Click the **Magento** integration tile. **3. Enter your keys** Fill in each field: * Consumer Key * Consumer Secret * Access Token * Access Token Secret **4. Save** Click **Save**. WISEPIM encrypts and stores your keys securely. > [!TIP] > > Your Magento store is now connected. You can start importing products. ## What syncs with Magento ### Tier prices Volume discounts you set in WISEPIM export as Magento tier prices. The audience decides the customer group: | Audience in WISEPIM | Magento customer group | | - | - | | All customers | ALL GROUPS | | Specific customer groups | The mapped Magento group. Groups you have not mapped are skipped. | | Logged-in customers | Every mapped group except NOT LOGGED IN and ALL GROUPS | | Specific customers | Skipped, Magento has no tier price per customer | Every skip shows as a warning on the export row, so you can see which tiers did not go out. ### Backorders Backorders sync in both directions with Magento's three settings: no backorders, allow backorders, and allow and notify the customer. ### Images Images are sent once. Images that came in with an import are recognized, so they are not uploaded again. WISEPIM uploads at most 10 images per export and never deletes an image from your store. ### Categories and FAQs Categories export per language through your store view mappings. Product FAQs are appended to the description and also sent to the product attribute `wisepim_faqs`. Add that attribute to your attribute set first. You can turn the attribute off under **Settings** > **FAQs** with **Also send to the attribute wisepim\_faqs**. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Magento into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and attributes with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the improved content back to Magento. > **[App Marketplace & Integrations](/en/essentials/integrations)** > > 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 import your catalog. Import only. Connect your Medusa store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. Medusa is an open-source headless commerce platform. > [!NOTE] > > The Medusa connection is import only today. WISEPIM does not export products back to Medusa. Setup takes two steps: create an admin API token in Medusa, then add it in WISEPIM. > [!NOTE] > > 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 ![Connecting Medusa to WISEPIM, store URL, API token, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-medusa-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=16de435ded588d691b8df12c862e0236) Medusa issues an API token for an admin user with access to your catalog. **1. Open your Medusa admin** Log in to your Medusa admin dashboard with an account that can manage products. **2. Create an API key token** Open **Settings** > **API Key Management** and create a new **Secret** (admin) API key named WISEPIM. **3. Copy the token** Copy the generated token now. It is only shown once. **4. Note your store URL** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Medusa** Find and click the **Medusa** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Medusa store is now connected. You can start importing products. > [!WARNING] > > 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 > **The connection test fails** > > 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. > **Authentication is rejected** > > Make sure you created a **Secret** (admin) API key, not a publishable key. Publishable keys cannot read or write the full catalog. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Medusa into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. ![Connecting Mirakl to WISEPIM - credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-mirakl-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=c5dac4479a975f3855635121e2fe60d5) 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. > [!NOTE] > > 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. > [!NOTE] > > 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 **1. Open the Integrations page** In WISEPIM, go to **Integrations** and find the **Mirakl** tile. **2. Enter your credentials** 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. **3. Choose your default hierarchy** Pick the category hierarchy your products belong to. This is the branch of the marketplace's category tree WISEPIM uses when it exports. **4. Test and save** Click **Test Integration**. When it passes, click **Save**. > [!WARNING] > > 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. > [!TIP] > > 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. Images inside the description are removed, and product FAQs are not added: the FAQ format for Mirakl starts at **Off** under **Settings** > **FAQs**. | | **Price** | Required | | **SKU** | Required | | **EAN** | Required | | **Images** | At least one required | | **Brand** | Recommended | > [!NOTE] > > 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 **1. Select your products** On the **Products** page, select the products you want to list. **2. Export to Mirakl** Click **Export** and choose your Mirakl marketplace as the destination. **3. Review the result** 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. > [!NOTE] > > 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. > **A product was rejected for a missing attribute** > > 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. > **The category won't accept my product** > > Check that your mapping points to a leaf category. Products cannot be attached to a parent category that has categories underneath it. > **Nothing exports at all** > > Check your API key and marketplace URL, then run **Test Integration**. Marketplaces issue their own keys, so a key from one Mirakl marketplace never works on another. > **I see more than 20 problems on one product** > > WISEPIM shows the first 20 error lines. Fix those, export again, and any remaining errors appear on the next run. ## Related > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and attributes with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push your listings to the marketplace. > **[Kaufland Integration](/en/integrations/kaufland)** > > Sell on Kaufland's marketplaces from the same catalog. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > 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. > [!NOTE] > > You need access to your Picqer account settings and a WISEPIM account with an active project. ## Get your API key from Picqer ![Connecting Picqer to WISEPIM, subdomain, API key, warehouse ID and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-picqer-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=2f4cbd98bfcbd0dca3fa513b35a70e84) Picqer issues an API key from your account settings. **1. Open the API settings** Log in to Picqer. Go to **Settings** > **API** (Instellingen > API). **2. Create an API key** Create a new API key, or copy an existing one. **3. Note your subdomain** Your subdomain is the part before `.picqer.com`. If your Picqer is at `acme.picqer.com`, your subdomain is `acme`. **4. Find your Warehouse ID (optional)** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Picqer** Find and click the **Picqer** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Picqer warehouse is now connected. You can import products and stock. > [!WARNING] > > 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 | > [!NOTE] > > 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. > [!NOTE] > > Nothing else is copied. Names, descriptions, prices and images in your other projects stay untouched. ## Troubleshooting > **The connection test fails** > > 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. > **Stock numbers look wrong** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull your products and stock from Picqer into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Send the enriched content to your store platform. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > You need admin access to your PrestaShop back office and a WISEPIM account with an active project. ## Create a webservice key in PrestaShop ![Connecting PrestaShop to WISEPIM, shop URL, webservice key, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-prestashop-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=2a24c5c5040d547af4f7e3fc7a61043a) PrestaShop uses a single webservice key that acts as both the username and the password for the API. **1. Open the Webservice settings** Log in to your PrestaShop back office. Go to **Advanced Parameters** > **Webservice**. **2. Enable the webservice** Set **Enable PrestaShop's webservice** to **Yes** and save. **3. Add a new key** 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). **4. Copy the key** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select PrestaShop** Find and click the **PrestaShop** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your PrestaShop store is now connected. You can start importing products. > [!WARNING] > > 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. ## What an export sends Exports send names, prices, stock, meta fields and images to your store in its default language. * **Images:** WISEPIM reads the product's PrestaShop gallery first and uploads only the images that are missing, up to 10 per export. An image deleted in PrestaShop is sent again on the next export. WISEPIM never deletes an image from your store, and gives up on an image after 3 failed uploads. The first image becomes the cover when the product has none. * **Auto-sync:** with **Enable Auto-Sync** on under [Integration Settings](/en/settings/integrations), a product you edit is pushed to PrestaShop about 30 seconds after you save it. Without it, you run exports yourself or from an [automation](/en/automations/overview). ## Troubleshooting > **The connection test fails** > > 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**. > **The test says the API URL or path looks wrong** > > 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. > **Which PrestaShop versions are supported?** > > 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` plus **POST** on `images` for exports. Product images are not imported from PrestaShop; add them in WISEPIM's media library. > **WISEPIM cannot reach your store** > > 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 test says WISEPIM couldn't start the connection test** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from PrestaShop into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the improved content back to PrestaShop. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # Shopify Integration Source: https://docs.wisepim.com/en/integrations/shopify Connect your Shopify store to WISEPIM in minutes. Install from the App Store or create a custom app, then import, enrich, translate and export products. ![WISEPIM app marketplace detail page for the Shopify integration with capabilities, setup info and connected stores](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/integrations/integration-detail-shopify-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=82b39ce61de9fea8068d638308c10cff) 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. **1. Find WISEPIM in the Shopify App Store** Open the Shopify App Store from your Shopify admin and search for **WISEPIM**. **2. Install the app** Click to install and approve the access Shopify asks about. You never type your store domain, your API key, or your secret. **3. Land in WISEPIM, already logged in** 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. **4. Pick a plan (optional)** 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. > [!NOTE] > > 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. > [!WARNING] > > WISEPIM now asks Shopify for the `write_files` scope, so images inside descriptions can be copied into your store's files. A store connected before that scope existed keeps working, but description images stay hotlinked from WISEPIM until you re-authorize the app. Open the connection and click **Reconnect with Shopify** to grant it. ## Create a custom app in Shopify ![Connecting Shopify to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/JY3oqFRd8MZNh_9c/images/marketing-screenshots/integrations/integration-configure-shopify-light-transparent.webp?fit=max\&auto=format\&n=JY3oqFRd8MZNh_9c\&q=85\&s=77e925274adb9a1aff8fc0a2bd09131a) First, generate API credentials inside your Shopify admin. **1. Open Settings in your Shopify admin** Log in to your Shopify admin and open **Settings**. ![Shopify admin Settings](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image6.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=73488143688e157e5b94298bd0c41ba9) **2. Go to Develop apps** Open **Apps and sales channels**, then click **Develop apps**. This is where you create a custom app for WISEPIM. ![Shopify admin Develop apps](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image1.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=f0418328430758d9ef9cf4b2b02cd1a7) **3. Open the app configuration** Open the **Configuration** tab for your app. Here you set the access scopes that let WISEPIM read your product data. ![Shopify admin Configuration](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image3.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=d92157a6289f732553aebdee373d3380) **4. Add the required access scopes** Add the access scopes shown below so WISEPIM can fetch your product data, then save your changes. ![Shopify admin API access scopes](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image2.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=ec1b023492e16a330f7f48f733281651) ![Shopify admin API access scopes](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image5.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=405677f480caab3a81a68692fb4081b5) ## Connect Shopify to WISEPIM Next, copy your credentials from Shopify into WISEPIM. **1. Copy your API key and secret** In your Shopify app, find the **API key** and **API secret key**. Keep this tab open so you can copy both values. **2. Paste them into WISEPIM** In WISEPIM, open your Shopify integration, enter the **Shop URL** (your `*.myshopify.com` address or just the store handle) and paste the **API Key** and **API Secret**. Save to connect your store. ![WISEPIM Shopify integration API key and secret](https://mintcdn.com/swiftsyncai/KZOSHzM6birh25R0/images/screenshots/integrations/shopify/image4.png?fit=max\&auto=format\&n=KZOSHzM6birh25R0\&q=85\&s=74806b96c219a260299e93aaca9f7f0b) **3. Choose how variants sync (optional)** Two switches on the connection control variants. Both are off by default, see [Variants](#variants) below. * **Export variants as options** * **Import variants as child products** > [!WARNING] > > 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. WISEPIM talks to the Shopify Admin API version 2026-10. ### 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 Translate your products in WISEPIM, export to Shopify, and each language lands in the matching Shopify locale. Collection titles and descriptions are translated and exported too, so your categories read correctly in every language. ### Variants By default Shopify sync is single-variant: 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. Two switches on the connection change that. **Export variants as options** sends a product with variants as one Shopify product with options (for example Color and Size) instead of one Shopify product per variant. * Shopify allows at most 3 options and 100 variants per product. * Every child needs a SKU and a value for each option axis, or the product fails with a clear reason. * A variant that was exported on its own before has that old standalone Shopify product archived, never deleted, once it is part of the new one. **Import variants as child products** imports a Shopify product with several variants as a parent with one child per variant, with the options as attributes, instead of one product that only has the first variant. * A parent without a SKU gets `SHOPIFY-`, a child without one gets `SHOPIFY-V`. * The option names become attributes in a family named `shopify_options_`. ### Collections and categories Shopify's collections are read through its sources model and sorted into custom, mixed, smart, variant-targeted, sub-collections and shared collections. WISEPIM only adds products to collections that accept manual selection. Variant-targeted, sub-collection and shared or app-owned collections are skipped, and the export says why. A WISEPIM category with keyword rules becomes one condition source on the collection, titled **WISEPIM keyword rules**. WISEPIM creates or updates that source only, never the conditions a merchant made, and only uses the title, tag, type and vendor rule columns. A write that Shopify rejects purely because of a collection join is retried once without the join, so the product data still lands. ### Prices, sale prices and backorders | In WISEPIM | In Shopify | | - | - | | An active special price (inside its date window, or from a pricing rule) | `price`, with `compareAtPrice` set to the regular price | | No active special price | `price` is the regular price and `compareAtPrice` is cleared | | Backorders allowed or not | Shopify's allow or deny setting. Shopify has no "notify customer" flag, so that WISEPIM value is not sent. | On import, a compare-at price above the price becomes the regular price plus a special price. A compare-at that is empty, zero or lower than the price leaves the stored special price alone. > [!NOTE] > > Discounts you manage in WISEPIM are not exported to Shopify. The same goes for price lists, wholesale or B2B tier prices and customer-specific prices on Shopify Plus: set those in Shopify. See [Discounts & Pricing](/en/products/discounts) for which platforms receive discounts. ### Images Images go out on create and on update. WISEPIM uploads only the images Shopify does not have yet, re-sends media that Shopify reported as failed (up to 3 times), and never deletes an image from your store. Images inside descriptions are copied into your store's files when the `write_files` scope is granted. ### FAQs Product FAQs are appended to the exported description by default. WISEPIM also writes the questions as the metafield `wisepim.faqs` and the FAQPage schema as `wisepim.faq_schema`, so a theme or app can render them from clean data. That switch, **Also send as metafields (wisepim.faqs)**, is on by default. Turn it off under **Settings** > **FAQs** if you do not want the metafields. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Fetch your Shopify catalog into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push enriched content back to your store. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to. # Shopware Integration Source: https://docs.wisepim.com/en/integrations/shopware Import your Shopware 6 catalog into WISEPIM with an Admin API integration. The connection is import only: WISEPIM does not write back. Connect your Shopware 6 store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. > [!NOTE] > > The Shopware connection is import only. WISEPIM does not export products back to Shopware and does not create products there. The import reads every page of your catalog and brings in the images. Shopware translations are not imported. Setup takes two steps: create an integration in your Shopware admin, then add its credentials in WISEPIM. > [!NOTE] > > 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 ![Connecting Shopware to WISEPIM, shop URL, client credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-shopware-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=f0d516e6a837fd98591b5a0a0a1e7e9d) Shopware issues a client ID and secret when you create an integration. **1. Open Integrations** Log in to your Shopware admin. Go to **Settings** > **System** > **Integrations**. **2. Add an integration** Click **Add integration**, name it WISEPIM, and give it a role that can read products. **3. Copy the credentials** Shopware shows an **Access key ID** and a **Secret access key**. Copy both. The secret is only shown once. **4. Save the integration** Click **Save** to keep the integration active. ## Add your credentials to WISEPIM Enter the values from Shopware to finish the connection. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Shopware** Find and click the **Shopware** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Shopware store is now connected. You can start importing products. > [!WARNING] > > 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 > **The connection test fails** > > 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. > **Authentication is rejected** > > Open the integration in Shopware and confirm its role can read products. If it still fails, create a new integration and copy the new key pair. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Shopware into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > 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 **1. Open API Access** Sign in to your ShopWired account and go to **Account** > **API Access**. **2. Create a key** Create an API key if you do not have one yet. ShopWired shows an **API key** and an **API secret**. **3. Copy both values** Copy the key and the secret. They are used together to authenticate every request WISEPIM makes. ## Add your credentials to WISEPIM ![Configure ShopWired in WISEPIM with a profile label, import and export toggles, API key and secret, batch size and auto-create on export](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-shopwired-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=afd31a7a1c80a3d3dbd25b00a807e5ee) **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select ShopWired** Find and click the **ShopWired** tile. **3. Fill in the connection** * **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. **4. Test the connection** Click **Test Integration** to confirm the key and secret work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your ShopWired store is connected. You can start importing products. > [!WARNING] > > 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. > [!NOTE] > > 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. With **Enable Auto-Sync** on under [Integration Settings](/en/settings/integrations), a product you edit is also pushed to ShopWired about 30 seconds after you save it. ## 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 > **The connection test fails** > > 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. > **Exported products do not appear 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. > **Images did not change in ShopWired** > > Image export is not supported for ShopWired. Manage images in ShopWired directly; WISEPIM only imports them. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Bring your ShopWired catalog into WISEPIM. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the improved content back to ShopWired. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles and descriptions with AI before you export. > **[Quality Guard Overview](/en/quality-guard/overview)** > > 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 import your catalog. Import only. Connect your Squarespace store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. > [!NOTE] > > The Squarespace connection is import only today. WISEPIM does not export products back to Squarespace. Setup takes two steps: create an API key in Squarespace, then add it in WISEPIM. > [!NOTE] > > You need a Squarespace Commerce plan with API access and a WISEPIM account with an active project. ## Create an API key in Squarespace ![Connecting Squarespace to WISEPIM, API key, site ID and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-squarespace-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=a2c6c125a8ea49d713eae7ee3862a65d) Squarespace issues an API key with the permissions you choose. **1. Open Developer API Keys** Log in to Squarespace. Go to **Settings** > **Advanced** > **Developer API Keys**. **2. Generate a key** Click **Generate Key**, name it WISEPIM, and grant **Products** permission with read and write access. **3. Copy the key** Copy the generated API key now. It is only shown once. **4. Find your Site ID** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Squarespace** Find and click the **Squarespace** integration tile. **3. Enter your credentials** Fill in the following fields: * **API Key**: the key you generated in Squarespace * **Site ID**: your Squarespace site identifier **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Squarespace store is now connected. You can start importing products. > [!WARNING] > > 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 > **The connection test fails** > > 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. > **The key has no Products permission** > > Squarespace scopes each key to specific resources. Generate a new key and make sure **Products** is selected before saving. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Squarespace into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!NOTE] > > 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. **1. Configure WebshopImporter** Make sure your [WebshopImporter integration](/en/integrations/webshopimporter) is set up first. Shots delivers its feed through it. **2. Open the Suppliers settings** In WISEPIM, go to **Settings** > **Integrations** > **Suppliers**. **3. Add your Shots credentials** Select **Shots** and enter your supplier credentials. **4. Activate the feed** 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. > **Where do I register?** > > Contact Shots directly through their website to request API credentials and a supplier agreement. ## Related > **[WebshopImporter](/en/integrations/webshopimporter)** > > Set up the integration that powers the Shots feed. > **[Import products](/en/essentials/importing-products)** > > Bring imported supplier content into your catalog. > **[Enrich products](/en/essentials/enriching-products)** > > Improve supplier content with AI. > **[All platforms](/en/integrations/supported-platforms)** > > 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, Lightspeed, bol.com, Akeneo and more, with what each one imports and exports. 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 ![WISEPIM app marketplace with search and category filters for Shopify, Amazon, WooCommerce and more](https://mintcdn.com/swiftsyncai/Q38ofF_xfo1Vb-fN/images/marketing-screenshots/integrations/integrations-light-branded.webp?fit=max\&auto=format\&n=Q38ofF_xfo1Vb-fN\&q=85\&s=d86fd55438956a5e1a8b6b114a34d072) 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 | > [!TIP] > > 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 ![WISEPIM integration attribute mapper aligning platform fields to WISEPIM product attributes](https://mintcdn.com/swiftsyncai/TeB0aHom04DFwTcq/images/marketing-screenshots/integrations/integration-attribute-mapper-light-branded.webp?fit=max\&auto=format\&n=TeB0aHom04DFwTcq\&q=85\&s=f928694c6f3180990c2be622fce1b7d3) 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 > **[Shopify](/en/integrations/shopify)** > > Connect your Shopify store through the API and enrich your product data. > **[WooCommerce](/en/integrations/woocommerce)** > > Connect your open-source WooCommerce store and enrich your product data. > **[Magento 2](/en/integrations/magento)** > > Import products from Magento 2 Open Source or Enterprise and enrich them with AI. > **[BigCommerce](/en/integrations/bigcommerce)** > > Import your BigCommerce catalog with a store-level API token. Import only. > **[PrestaShop](/en/integrations/prestashop)** > > Connect your PrestaShop store with a webservice key. > **[Shopware](/en/integrations/shopware)** > > Import your Shopware 6 catalog through the Admin API. Import only. > **[ShopWired](/en/integrations/shopwired)** > > Connect your ShopWired store with an API key and secret. Import and export. > **[Squarespace](/en/integrations/squarespace)** > > Import your Squarespace Commerce catalog with an API key. Import only. > **[Lightspeed (C-Series)](/en/integrations/lightspeed)** > > Install WISEPIM from the Lightspeed App Store, or connect with API keys. Import and export. > **[Lightspeed E-Series (Ecwid)](/en/integrations/ecwid)** > > Connect your Ecwid / Lightspeed E-Series store and enrich your catalog. > **[CCV Shop](/en/integrations/cvv-shop)** > > Connect your CCV Shop store and enrich your product data. > **[Medusa](/en/integrations/medusa)** > > Import from your open-source Medusa headless commerce store. Import only. > **[Sylius](/en/integrations/sylius)** > > Import from your Symfony-based Sylius store through the Admin API. Import only. > **[Django Oscar](/en/integrations/django-oscar)** > > Import from your Django Oscar store through its product API. Import only. > **[WordPress](/en/integrations/wordpress)** > > Publish enriched content to your WordPress site with an Application Password. > **[Akeneo](/en/integrations/akeneo)** > > Sync your catalog both ways with your Akeneo PIM. ### Marketplaces > **[bol.com](/en/integrations/bol)** > > Send offers and product content to bol.com per EAN. Beta, export only. > **[Kaufland](/en/integrations/kaufland)** > > Export your enriched products to the Kaufland marketplace. > **[Mirakl](/en/integrations/mirakl)** > > Export your products to any marketplace that runs on Mirakl. ### Shopping & ads > **[Google Merchant Center](/en/integrations/google-merchant-center)** > > Push products straight into Merchant Center for Shopping ads and free listings. ### Analytics & search > **[Google Analytics 4](/en/integrations/google-analytics)** > > Sync traffic, funnel, and item-level conversion data into Analytics. > **[Google Search Console](/en/integrations/google-search-console)** > > Bring real impressions, clicks, and rankings into the SEO report. ### Suppliers, warehouse & data > **[Picqer](/en/integrations/picqer)** > > Import products and live stock levels from your Picqer warehouse. > **[TechData](/en/integrations/techdata)** > > Import TechData's product, price and stock data over FTP. > **[Webshopimporter](/en/integrations/webshopimporter)** > > Pull in dropshipment content from your suppliers, then enrich it as your own. > **[Databricks](/en/integrations/databricks)** > > Import product data straight from your Databricks tables. > [!TIP] > > 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 > **[Integration Settings](/en/settings/integrations)** > > Connect your credentials and manage active integrations. > **[Feed Hub](/en/essentials/feed-hub)** > > Build channel-specific feeds on top of your connected platforms. > **[Exporting Products](/en/essentials/exporting-products)** > > Push products to a connected platform in a few clicks. > **[Launch on a channel without rejections](/en/guides/launch-on-a-new-channel)** > > 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 import your catalog. Import only. Connect your Sylius store to WISEPIM to bring your catalog in, enrich it with AI, and publish the result to your other sales channels. Sylius is an open-source, Symfony-based commerce platform. > [!NOTE] > > The Sylius connection is import only today. WISEPIM does not export products back to Sylius. Setup takes two steps: get an admin API access token from Sylius, then add it in WISEPIM. > [!NOTE] > > 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 ![Connecting Sylius to WISEPIM, store URL, access token, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-sylius-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=4abc23aca5b1681a3660541a1bd61766) Sylius issues a bearer token for an administrator account through its API. **1. Confirm API access** Make sure your Sylius installation exposes the Admin API and that you have an administrator account that can manage products. **2. Request an access token** 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. **3. Copy the token** Copy the access token. You need it in the next step. **4. Note your store URL** 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select Sylius** Find and click the **Sylius** integration tile. **3. Enter your credentials** 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 **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your Sylius store is now connected. You can start importing products. > [!WARNING] > > 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 > **The connection test fails** > > 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. > **The token expired** > > Sylius access tokens are time-limited. If imports stop working, issue a fresh token and update it in WISEPIM. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from Sylius into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Feed Hub](/en/essentials/feed-hub)** > > Publish the enriched catalog to marketplaces and shopping channels. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. ![Connecting TechData to WISEPIM - credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-techdata-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=c3535a5fa8f34afc85a301df415d32ee) 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. > [!NOTE] > > 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 **1. Open the integration** In WISEPIM, go to **Integrations** and find the **TechData** tile. **2. Enter your FTP details** Fill in the connection fields: * **FTP Host**: the FTP server address TechData gave you * **FTP Port**: `21` unless TechData told you otherwise * **Username**: your FTP username * **Password**: your FTP password * **Remote folder**: the folder on the server that holds your files **3. Test and save** Click **Test Integration** to confirm WISEPIM can reach the server and find your files. When the test passes, click **Save**. > [!NOTE] > > WISEPIM connects over encrypted FTP (FTPS) whenever the server offers it. It only falls back to plain FTP when the server does not support TLS at all, never after a failed TLS handshake. The host must be a public internet address. > [!WARNING] > > 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. > [!TIP] > > 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. > [!NOTE] > > 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 > **The connection test fails** > > 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. > **Fewer products imported than expected** > > 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. > **Prices or stock look out of date** > > 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 > **[Importing Products](/en/essentials/importing-products)** > > Bring your TechData assortment into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Rewrite supplier content into your own with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Send the enriched products to your store. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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 ![Connecting Webshopimporter to WISEPIM, credentials, locale mapping and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-webshopimporter-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=ec26804e0aa9a915239de1744cdb160e) **1. Open the integration settings** Log in to WISEPIM, then go to **Settings** > **Integrations** > **WebshopImporter**. **2. Add a new API key** Click **Add API Key** to start a new connection. **3. Fill in your credentials** 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 **4. Save the connection** Click **Save** to store your credentials. WISEPIM can now exchange product data with your webshop. > [!WARNING] > > 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 > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to and open its setup guide. > **[Importing Products](/en/essentials/importing-products)** > > Bring your catalog into WISEPIM once the integration is connected. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve your imported product data with AI. # 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. > [!NOTE] > > You need admin access to your WordPress site and a WISEPIM account with an active project. ## Connect with one click ![Connecting WooCommerce to WISEPIM with the one-click connect flow and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-woocommerce-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=6f9fac946cf06bfcea167e7ee8684ee6) **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**, then click the **WooCommerce** tile. **2. Enter your store URL** Type your store's base URL (for example `https://your-store.com`), with or without `https://`. No extra path, no trailing slash. **3. Click Connect with WooCommerce** 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. **4. Approve** Click approve, and WooCommerce generates the API keys and sends them to WISEPIM directly. You land back in WISEPIM with your store connected. > [!TIP] > > 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 **1. Create a key in WooCommerce** 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**. **2. Generate and copy** 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. **3. Paste them in WISEPIM** In the WooCommerce integration in WISEPIM, expand **Manual API keys** below the connect button and paste both values. **4. Test and save** Click **Test Integration**, and **Save** once it succeeds. > [!WARNING] > > 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 export too.** WISEPIM knows each image by its WooCommerce media id, so it only uploads new ones: up to 5 per product and 20 per batch. It never wipes a gallery and never deletes an image from your store. Each variation gets its own first image. * **Variations export.** Variable parents go out with their variations, one at a time or in a batch. Attributes are sent as global attributes and terms, created when they are missing. * **Categories export along their path,** so parents exist before their children. * **Backorders sync both ways** with WooCommerce's three settings: do not allow, allow, and allow but notify the customer. * **Auto-create off means update only.** With **Auto-create products on export** off, a product without a stored WooCommerce id is looked up by SKU. It is updated when found and reported as a failed item when missing, never created. * **FAQs go out twice.** Product FAQs are appended to the description and also saved as product meta `wisepim_faqs`. The meta switch, **Also send as product meta (wisepim\_faqs)**, is on by default under **Settings** > **FAQs**. * **Syncing is not real time.** You start each import and export run yourself. ## Translations with WPML or Polylang WISEPIM checks which language plugin your shop runs and shows it in the shop's settings. It recognizes WPML (with WooCommerce Multilingual) and Polylang Pro (with Polylang for WooCommerce). The free Polylang does not let other apps write translations, so it cannot receive them. Before WISEPIM sends translations, the shop must pass the **Language test**. Click **Test safely on one product**: WISEPIM creates a hidden draft product, translates it, checks your main text stays the same, then deletes it. Shoppers never see it, and it takes about a minute. | Status | What it means | | - | - | | **Not tested yet** | Translations stay in WISEPIM. | | **Testing** | The test is running. You can close the panel. | | **Passed** | WISEPIM sends the tested languages to this shop from now on. | | **Failed** | The test names the step it stopped at. Translations are not sent this way. | | **Out of date** | The plugin was updated. Test again before translations go out. | ## More than one WooCommerce store **Add Another Store** on the WooCommerce integration creates a new connection profile with its own settings. Importing from it works, but sending products to a second shop of the same platform is not supported yet. The export then says "Sending to a second shop isn't supported yet. It's coming soon." and you can still send to your main shop, the one you connected first. See [Shops](/en/products/shops). ## 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: > **The connect button sends me to my store but the connection fails** > > 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. > **A firewall (Cloudflare / WAF) blocks the request** > > 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. > **The credentials are rejected (401)** > > 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. > **The API URL looks wrong (404)** > > 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". > **The test fails although the URL opens fine** > > WISEPIM tests the connection by reading one product through the WooCommerce REST API. When the site answers with a login or maintenance page instead, the test counts as failed even though the page loads. Check that the REST API is reachable without logging in, and that no maintenance mode or password protection sits in front of it. > **The HTTPS certificate is invalid** > > Fix the SSL certificate on your store, or confirm the URL uses the correct protocol. > [!NOTE] > > Integrations are included in your WISEPIM plan. Connecting WooCommerce costs nothing extra. ## Related > **[Importing Products](/en/essentials/importing-products)** > > Pull your catalog from WooCommerce into WISEPIM. > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Push the improved content back to WooCommerce. > **[Supported Platforms](/en/integrations/supported-platforms)** > > 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. > [!TIP] > > Selling with **WooCommerce**? Use the [WooCommerce integration](/en/integrations/woocommerce) instead, it connects to your WooCommerce products, not just WordPress posts and pages. > [!NOTE] > > You need admin access to your WordPress site and a WISEPIM account with an active project. ## Create an Application Password in WordPress ![Connecting WordPress to WISEPIM, username, application password, site URL and a live connection test](https://mintcdn.com/swiftsyncai/sM1De8ZvWDJXnKT9/images/marketing-screenshots/integrations/integration-configure-wordpress-light-transparent.webp?fit=max\&auto=format\&n=sM1De8ZvWDJXnKT9\&q=85\&s=6d658cfdf9331e8a70e727a5295c3c5d) WordPress includes Application Passwords so apps can connect without using your real login password. **1. Open your profile** Log in to your WordPress admin. Go to **Users** > **Profile** (or edit the user you want WISEPIM to act as). **2. Find Application Passwords** Scroll down to the **Application Passwords** section. **3. Add a new password** Enter a name like WISEPIM and click **Add New Application Password**. **4. Copy the 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. **1. Open Integrations** Log in to WISEPIM and go to **Settings** > **Integrations**. **2. Select WordPress** Find and click the **WordPress** integration tile. **3. Enter your credentials** 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`) **4. Test the connection** Click **Test Integration** to confirm your credentials work. **5. Save** If the test succeeds, click **Save**. > [!TIP] > > Your WordPress site is now connected. You can publish enriched content to it. > [!WARNING] > > 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 > **The connection test fails** > > 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 are missing** > > 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 > **[Enriching Products with AI](/en/essentials/enriching-products)** > > Improve titles, descriptions, and SEO with AI. > **[Exporting Products](/en/essentials/exporting-products)** > > Publish the enriched content to your WordPress site. > **[WooCommerce Integration](/en/integrations/woocommerce)** > > Selling online? Connect WooCommerce to sync products. > **[Supported Platforms](/en/integrations/supported-platforms)** > > See every platform WISEPIM connects to.