Can I hide product fields from client / editor?

Most of the product fields that Webflow automatically created when I turned on eCommerce aren’t relevant for the shop I’m building. Is it possible to hide them from the client when they log on to the editor, so they only see the fields they need to fill in?


Hey Kate! Still looking for help on this? I was looking for the same thing for my ecomm site and cobbled together a solution that works. It’s not the most elegant solution and the form fields are hidden on mousemove because, idk, that’s just how I got it to work. But you can put this code before your global closing body tag

document.addEventListener('DOMContentLoaded', function() {
    let throttleTimer = null;
    let hasHiddenFields = false;

    function hideWebflowFields() {
        if (hasHiddenFields) return;

        const searchTexts = ["Description", "Compare-at price", "SKU", "Categories", "More images"];

        searchTexts.forEach(text => {
            const searchElement = Array.from(document.querySelectorAll('span[data-text="true"]'))
                .find(el => el.textContent.trim() === text);

            if (searchElement) {
                const parentField = searchElement.closest('div.w-reset.w-editor-bem-Field, div.w-reset.w-editor-bem-Field-medium, div.w-reset.w-editor-bem-Field-inline');
                if (parentField) {
           = 'none';
                    hasHiddenFields = true;

    document.addEventListener('mousemove', function() {
        if (throttleTimer) {

        throttleTimer = setTimeout(hideWebflowFields, 100);

    // MutationObserver to detect when parts of the form might be reloaded
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(mutation => {
            if (mutation.addedNodes && mutation.addedNodes.length > 0) {
                hasHiddenFields = false;  // reset the flag

    const config = { childList: true, subtree: true };
    observer.observe(document.body, config);  // Observing changes to the whole document

Then replace the form labels in this line with what you want to hide:

  const searchTexts = ["Description", "Compare-at price", "SKU", "Categories", "More images"];

Hope that helps!

Thanks so much @lukestiller - that worked perfectly!