<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Reed Kos</title>
    <description>The latest articles on DEV Community by Reed Kos (@reedkos).</description>
    <link>https://dev.to/reedkos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4242239%2Ff3db1f3e-d4f2-4452-82db-7dc4aad616c6.png</url>
      <title>DEV Community: Reed Kos</title>
      <link>https://dev.to/reedkos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/reedkos"/>
    <language>en</language>
    <item>
      <title>When Google's official WooCommerce plugin is enough — and when you need a product feed file</title>
      <dc:creator>Reed Kos</dc:creator>
      <pubDate>Fri, 13 Nov 2026 05:54:55 +0000</pubDate>
      <link>https://dev.to/reedkos/when-googles-official-woocommerce-plugin-is-enough-and-when-you-need-a-product-feed-file-l54</link>
      <guid>https://dev.to/reedkos/when-googles-official-woocommerce-plugin-is-enough-and-when-you-need-a-product-feed-file-l54</guid>
      <description>&lt;p&gt;Disclosure: This post includes affiliate links to AdTribes. I may receive compensation if you purchase through those links, at no extra cost to you. Prices change; check the vendor's page.&lt;/p&gt;

&lt;p&gt;If you only need Google Shopping, start with the official plugin. A separate product-feed plugin is for a different problem, and buying one before you have that problem is a common way to spend money you did not need to spend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with Google for WooCommerce
&lt;/h2&gt;

&lt;p&gt;The official docs are here: &lt;a href="https://woocommerce.com/document/google-for-woocommerce/" rel="noopener noreferrer"&gt;Google for WooCommerce&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That plugin talks directly to Google Merchant Center. For a store that only wants to appear in Google Shopping, it is the right first try. Set it up, submit the products, and fix the Merchant Center issues it reports (missing identifiers, disapproved categories, and so on) before you introduce another tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  When a feed file is actually the job
&lt;/h2&gt;

&lt;p&gt;You need a separate product-feed plugin when at least one of these is true:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need a feed &lt;em&gt;file&lt;/em&gt; (a generated XML or CSV URL), not only the official Google connection&lt;/li&gt;
&lt;li&gt;You want a second channel: Meta, TikTok, Pinterest, a comparison site, or another marketplace that wants a feed&lt;/li&gt;
&lt;li&gt;You need more control over titles, GTIN, brand, and category mapping than the official plugin gives you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In those cases, a feed plugin earns its place. AdTribes Product Feed has a free version that already covers a lot of channels and field mapping. Multilingual feeds, multi-currency, and the feed validator are paid add-ons — check which of those you actually need before you pay. The free plugin is on WordPress.org: &lt;a href="https://wordpress.org/plugins/woo-product-feed-pro/" rel="noopener noreferrer"&gt;Product Feed Pro for WooCommerce&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I wrote a longer guide on this same split, with the same disclosure: &lt;a href="https://reedkos.wordpress.com/2026/11/09/when-a-spreadsheet-export-is-enough-and-when-a-woocommerce-product-feed-plugin-earns-its-place/" rel="noopener noreferrer"&gt;When a spreadsheet export is enough&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have already decided you need the vendor's paid product, this is an affiliate link: &lt;a href="https://adtribes.io/?ref=65&amp;amp;campaign=devto" rel="noopener noreferrer"&gt;https://adtribes.io/?ref=65&amp;amp;campaign=devto&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I may earn a commission if you buy through that link, at no extra cost to you. You can also go to the vendor's site directly and skip the link.&lt;/p&gt;

&lt;h2&gt;
  
  
  A note on GTIN and Google Shopping
&lt;/h2&gt;

&lt;p&gt;Google Shopping often wants a GTIN (or a clear reason you do not have one). A feed plugin will let you map a GTIN field; it will not invent valid GTINs for you. If Merchant Center is rejecting products for missing identifiers, fix the product data first. Changing feed plugins will not fix empty identifiers.&lt;/p&gt;

&lt;p&gt;For Google-only stores, I would still try the official plugin first. For a feed file or a second channel, start with a free feed plugin and only pay for the add-on you can name.&lt;/p&gt;

</description>
      <category>woocommerce</category>
      <category>wordpress</category>
      <category>ecommerce</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>WooCommerce has no built-in wholesale role — here is a practical way to add one</title>
      <dc:creator>Reed Kos</dc:creator>
      <pubDate>Fri, 13 Nov 2026 05:47:27 +0000</pubDate>
      <link>https://dev.to/reedkos/woocommerce-has-no-built-in-wholesale-role-here-is-a-practical-way-to-add-one-2mon</link>
      <guid>https://dev.to/reedkos/woocommerce-has-no-built-in-wholesale-role-here-is-a-practical-way-to-add-one-2mon</guid>
      <description>&lt;p&gt;Disclosure: This post includes affiliate links to Wholesale Suite. I may receive compensation if you purchase through those links, at no extra cost to you. Prices change; check the vendor's page.&lt;/p&gt;

&lt;p&gt;WooCommerce does not ship with a wholesale customer role, and it does not ship with a wholesale price that only those customers can see. That surprises people who are used to "B2B" being a toggle. You can still sell at wholesale prices; you just have to decide how much structure you actually need.&lt;/p&gt;

&lt;h2&gt;
  
  
  If wholesale orders are rare, a spreadsheet is enough
&lt;/h2&gt;

&lt;p&gt;If you have a handful of trade customers and they order occasionally, you do not need a wholesale plugin. A spreadsheet of agreed prices, a manual coupon, or a manual price edit on the order is slower, but it is honest, and it does not add another plugin to maintain.&lt;/p&gt;

&lt;p&gt;The moment that process starts to fail is when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have enough wholesale customers that you forget who gets which price&lt;/li&gt;
&lt;li&gt;Retail visitors should never see the wholesale price&lt;/li&gt;
&lt;li&gt;You want a customer to register and wait for your approval before they get the role&lt;/li&gt;
&lt;li&gt;You have more than one wholesale tier (for example, reseller vs distributor), or a minimum order&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are the cases where a wholesale-role plugin earns its place.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical setup
&lt;/h2&gt;

&lt;p&gt;The usual path looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a wholesale user role.&lt;/li&gt;
&lt;li&gt;Set a wholesale price on each product — either a fixed price or a percentage off the retail price.&lt;/li&gt;
&lt;li&gt;Show that price only to logged-in users who have the role. Hide it from retail visitors.&lt;/li&gt;
&lt;li&gt;If you need it, add a registration form that does not grant the role until you approve the account.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The free Wholesale Prices plugin covers a single wholesale role and a wholesale price list. Extra roles, minimum orders, and a hidden wholesale catalog are the usual reasons to look at a paid tier. The free plugin is on WordPress.org: &lt;a href="https://wordpress.org/plugins/woocommerce-wholesale-prices/" rel="noopener noreferrer"&gt;WooCommerce Wholesale Prices&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I wrote a longer guide that walks through this same split (spreadsheet / free / paid), with the same disclosure: &lt;a href="https://reedkos.wordpress.com/2026/11/09/woocommerce-has-no-built-in-wholesale-role-a-practical-way-to-add-one-without-overbuying/" rel="noopener noreferrer"&gt;WooCommerce has no built-in wholesale role&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have already decided you need the paid product, this is an affiliate link to the vendor: &lt;a href="https://wholesalesuiteplugin.com/?ref=423&amp;amp;campaign=devto" rel="noopener noreferrer"&gt;https://wholesalesuiteplugin.com/?ref=423&amp;amp;campaign=devto&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I may earn a commission if you buy through that link, at no extra cost to you. You can also go to the vendor's site directly and skip the link.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would not do
&lt;/h2&gt;

&lt;p&gt;I would not buy a wholesale suite on day one because a store "might" add trade customers later. I would also not try to fake wholesale pricing with a site-wide coupon named WHOLESALE — the code leaks, it is hard to revoke, and retail customers will find it. A role and a role-based price are the clean version of the same idea.&lt;/p&gt;

</description>
      <category>woocommerce</category>
      <category>wordpress</category>
      <category>ecommerce</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>When WooCommerce's built-in coupons are enough — and when they are not</title>
      <dc:creator>Reed Kos</dc:creator>
      <pubDate>Fri, 13 Nov 2026 05:46:40 +0000</pubDate>
      <link>https://dev.to/reedkos/when-woocommerces-built-in-coupons-are-enough-and-when-they-are-not-34n6</link>
      <guid>https://dev.to/reedkos/when-woocommerces-built-in-coupons-are-enough-and-when-they-are-not-34n6</guid>
      <description>&lt;p&gt;Disclosure: This post includes affiliate links to Advanced Coupons. I may receive compensation if you purchase through those links, at no extra cost to you. Prices change; check the vendor's page.&lt;/p&gt;

&lt;p&gt;WooCommerce ships with a coupon screen. For a lot of stores, that screen is the right tool, and buying a coupon plugin is a waste of money. The line is easier to see if you start from what you actually need the coupon to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the default coupon screen already does
&lt;/h2&gt;

&lt;p&gt;The official coupon docs are here: &lt;a href="https://woocommerce.com/document/coupon-management/" rel="noopener noreferrer"&gt;Coupon Management&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Out of the box you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a percentage or fixed-amount discount, or a free-shipping coupon&lt;/li&gt;
&lt;li&gt;Set a minimum (and maximum) spend&lt;/li&gt;
&lt;li&gt;Limit how many times a coupon can be used, and how many times one customer can use it&lt;/li&gt;
&lt;li&gt;Restrict the coupon to specific products or categories, or exclude them&lt;/li&gt;
&lt;li&gt;Set an expiry date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your promotion is "10% off over $50, one use per customer, expires Sunday," you do not need a plugin. Create the coupon, send people the code, and stop there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two jobs the default screen will not do
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Auto-apply.&lt;/strong&gt; WooCommerce will not automatically add a coupon at checkout. The customer has to type the code. If your whole offer depends on people remembering a code, some of them will not, and you will not get a second chance at the cart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A true buy-one-get-one.&lt;/strong&gt; The usual workaround is a "50% off the second item" coupon. That is not the same as "buy product A, get product B free," and the customer still has to enter the code. If your promotion is a real BOGO — especially one that names a specific free item — the default screen will fight you.&lt;/p&gt;

&lt;p&gt;There are other gaps (a coupon that lives in a URL, a coupon tied to a shipping method in a more flexible way), but auto-apply and BOGO are the two that most often justify a plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical split
&lt;/h2&gt;

&lt;p&gt;I use this split when I write about this for store owners:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Default coupon screen first, always.&lt;/li&gt;
&lt;li&gt;If you need URL coupons or some BOGO patterns, the free version of Advanced Coupons covers those.&lt;/li&gt;
&lt;li&gt;Auto-apply is a Premium feature. Buy it only if you actually need the coupon to appear without the customer typing a code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The free plugin is listed on WordPress.org: &lt;a href="https://wordpress.org/plugins/advanced-coupons-for-woocommerce-free/" rel="noopener noreferrer"&gt;Advanced Coupons for WooCommerce Free&lt;/a&gt;. I also wrote a longer guide, with the same disclosure, on my site: &lt;a href="https://reedkos.wordpress.com/2026/11/09/when-woocommerces-built-in-coupons-are-enough-and-when-a-coupon-plugin-is-worth-paying-for/" rel="noopener noreferrer"&gt;When WooCommerce's built-in coupons are enough&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have already decided you need Premium, this is an affiliate link to the vendor: &lt;a href="https://advancedcouponsplugin.com/?ref=946&amp;amp;campaign=devto" rel="noopener noreferrer"&gt;https://advancedcouponsplugin.com/?ref=946&amp;amp;campaign=devto&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I may earn a commission if you buy through that link, at no extra cost to you. You can also go to the vendor's site directly and skip the link.&lt;/p&gt;

&lt;h2&gt;
  
  
  Black Friday 2026 dates (announced)
&lt;/h2&gt;

&lt;p&gt;On 13 November 2026, Advanced Coupons emailed affiliates that a Black Friday sale runs from 16 November 2026 through 30 November 2026 (ends 11:59 PM Eastern Time), with up to 60% off. As of 14 November 2026, the public pricing page still showed the usual first-year introductory rates, not the sale prices. Confirm the live plan price and renewal terms when the sale opens. I may earn a commission if you buy through this link:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://advancedcouponsplugin.com/pricing/?ref=946&amp;amp;campaign=devto" rel="noopener noreferrer"&gt;https://advancedcouponsplugin.com/pricing/?ref=946&amp;amp;campaign=devto&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A short test before you pay
&lt;/h2&gt;

&lt;p&gt;Write down the one promotion you cannot run today. If the default screen can do it with a code the customer types, stay on the default screen. If the promotion is auto-apply or a true BOGO, then — and only then — look at a plugin, and look at the free tier before the paid one.&lt;/p&gt;

</description>
      <category>woocommerce</category>
      <category>wordpress</category>
      <category>ecommerce</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
