You sold one license. Your customer activates it on their laptop. Then their desktop. Then their work PC. Then their partner’s machine. If you’re running a WordPress store without a license activation limit in WooCommerce, there’s nothing stopping them — and nothing stopping your revenue from quietly leaking out.
This guide shows you exactly how to cap activations per customer using the Serial Codes Generator and Validator with WooCommerce Support — no developer, no custom code, just a number in a field.
Why Unlimited Activations Are a Real Problem
Most store owners don’t think about activation limits until it’s too late. You sell a license, the customer gets their code, and that’s the end of the transaction. Simple enough.
But codes don’t expire after one use unless you tell them to. If you’ve enabled validation on your site — which is the whole point of selling serial codes — your customers can keep validating that same code indefinitely. One license. Unlimited installs. Unlimited activations. That’s not the deal you offered.
This is especially damaging if:
- You sell software, themes, or plugins that require an activation step
- Your product has a per-seat or per-device pricing model
- You offer different tiers (single site vs. 3 sites vs. unlimited)
- You rely on validation to restrict who can actually use the product
Without a limit in place, your “3-site license” is functionally identical to your “unlimited license.” Customers who bought the cheap tier get the same access as customers who paid more. That’s a pricing model that collapses on itself.
How License Activation Limits Work in Serial Codes Generator
The Serial Codes Generator and Validator handles activation limits through its Max Check Amount setting. This controls how many times a single code can be validated — and once that number is hit, the next validation attempt fails.
You can configure this in two ways:
- Per code list — set the max per list, and every code in that list inherits the limit
- Globally — apply the limit across all codes on your site
If you’re running multiple products with different licensing tiers, the per-list approach gives you the flexibility you need. A “single site” list gets a max of 1. A “3-site license” list gets a max of 3. Your “agency” list gets whatever number fits your offer.
The limit is enforced at the point of validation — meaning your customers use the same validator shortcode they always have, but the plugin now tracks how many successful checks each code has accumulated. When the counter hits your cap, the validation fails and the customer sees your custom error message.
[SCREENSHOT: Admin view of a code list with the “Max Check Amount” field set to 3]
Setting Up a 3-Activation Limit: Step by Step
Here’s how to configure a license activation limit for a 3-device license product in WooCommerce.
Step 1: Open your code list
In your WordPress admin, navigate to the Serial Codes section. Find the code list assigned to your product. If you haven’t created a list yet, create one and assign it to the relevant WooCommerce product.
Step 2: Set the Max Check Amount
Inside the code list settings, locate the Max Check Amount field. Enter 3. Save the list.
[SCREENSHOT: Code list settings panel with “Max Check Amount” field highlighted, value set to 3]
Step 3: Customize the validation failure message
The plugin lets you set a custom message that appears when validation fails. Use this to communicate clearly: “This license has reached its maximum number of activations.” A clear message reduces support tickets — customers know what happened instead of assuming the plugin is broken.
Step 4: Test it
Use a test code and validate it three times. On the fourth attempt, the validator should return a failure with your custom message. If you’ve enabled One-Time-Check mode as well, note that this takes priority — make sure you’re using Max Check Amount for multi-activation scenarios, not One-Time-Check.
[SCREENSHOT: Frontend validator showing a “maximum activations reached” message on the 4th attempt]
Step 5: Apply the same logic to other tiers
Create a separate code list for each licensing tier. Set Max Check Amount to 1 for single-site licenses, 3 for three-site licenses, and so on. Assign each list to the appropriate WooCommerce product. That’s your entire tiered licensing structure — no code, no plugins, no developer.
What Happens When a Customer Hits the Limit
When a customer attempts to validate a code that has already reached its max check count, the validation fails. The validator form displays the message you configured. The customer is not locked out of their existing activations — only new validation attempts are blocked.
This creates a natural support conversation: the customer reaches out, you check the code’s validation history (the plugin tracks IP addresses of validators in the Premium version), and you can manually reset or issue a new code if the situation warrants it.
It also opens an upsell opportunity. A customer who hit the 3-activation cap and needs a fourth device is a warm lead for your higher-tier license. That conversation is much easier when the system has already enforced the limit — the customer understands the constraint and knows they need to upgrade.
What This Setup Doesn’t Do (And What to Use Instead)
To be clear about what the activation limit in Serial Codes Generator covers — and what it doesn’t:
- It does not bind codes to specific hardware. There’s no MAC address or device fingerprinting. The limit is on the number of successful validations, not on which specific machine is validating.
- It does not manage recurring subscriptions. If you need annual renewals with expiration, that’s a separate workflow. The plugin does support expiration dates per code in the Premium version, which pairs well with annual license models.
- It does not sync across multiple WordPress installations. Codes are stored in your local WordPress database. If you run multiple sites, each site has its own validation counter.
- It does not require WooCommerce. The activation limit works on any code, whether or not it was generated through a WooCommerce sale.
For most small-to-medium WordPress stores selling software, plugins, themes, or digital products with a per-seat model, the Max Check Amount setting covers exactly what you need.
Get Started: Free Plugin on WordPress.org
The license activation limit for WooCommerce described in this guide — including per-list and global max check configuration, custom validation messages, and One-Time-Check mode — is available in the free version of the plugin. You don’t need Premium to set this up.
If you need additional capabilities — like CSV bulk import, IP address logging per validation, brute-force protection (IP blocking after repeated failed attempts), expiration dates per code, or HPOS support — those are available in Serial Codes Generator and Validator — Premium.
Either way, the core activation limit functionality is yours to use today, at no cost.
- Download the free plugin on WordPress.org — search “serial codes generator” or use the direct link
- Upgrade to Premium for bulk import, IP tracking, brute-force protection, and expiration dates