You spent money acquiring that customer. They bought once, then disappeared.
Table of Contents
Acquiring a new customer costs 5 to 25 times more than retaining an existing one, according to Optimove research. Yet most WooCommerce stores have zero post-purchase strategy beyond the order confirmation email.
Here’s what actually works to turn one-time buyers into repeat customers.
The Economics of Repeat Customers
You have a 60-70% chance of selling to an existing customer.
For new prospects? Just 5-20%.
Most store owners focus on acquisition because it’s easier to measure. New customer counts go up. Traffic dashboards show growth. It feels like progress.
Meanwhile, one-time buyers never return. Nobody notices because there’s no dramatic drop-off to track.
The reality: a 5% increase in customer retention can boost profits by 25-95% (Bain & Company/Harvard Business Review). Small improvements in retention create outsized profit gains.
The average ecommerce repeat purchase rate is 25-30%. That’s your baseline. Below 25%? You’re leaving revenue on the table. Above 30%? You’re doing better than most.
These strategies work best with:
- Regular purchases (not one-time items)
- Average order value above $30
- Non-seasonal inventory
Use the Customer Lifetime Value Calculator to see if your LTV supports retention investment.
Strategy 1: Review Requests That Drive Repeat Purchases
Review requests create an engagement touchpoint beyond the purchase. Customers who interact after buying are more likely to return.
The problem: Most stores never ask. Or they ask immediately after purchase when the product hasn’t even arrived.
The Timing
The sweet spot is 7-14 days after delivery.
Too soon: They haven’t used it yet.
Too late: They forgot about you.
Consumables work at 7 days. Durable goods need 14+ days.
The Incentive Question
Should you offer a discount for reviews?
Wrong way: Offer discount before review submission. This attracts people who just want the coupon.
Right way: Reward after admin approval.
Here’s how:
- Customer completes purchase
- Wait X days
- Send review request
- Customer submits review
- Admin approves review
- Discount code sent for next purchase
- Set annual limits (2-3 per year)
This prevents gaming while incentivizing genuine feedback.
Implementation
Plugin Options:
Review Follow-Up for WooCommerce (free) handles automated requests with approval-based rewards. Includes follow-up reminders and annual reward limits.
AutomateWoo ($99/year) includes review requests in a larger automation suite.
Built-in WooCommerce reviews require manual requests.
Code Approach:
// Schedule review request 7 days after order completion
add_action( 'woocommerce_order_status_completed', 'schedule_review_request' );
function schedule_review_request( $order_id ) {
wp_schedule_single_event(
time() + (7 * DAY_IN_SECONDS),
'send_review_request_email',
array( $order_id )
);
}
// Send the email
add_action( 'send_review_request_email', 'send_review_email' );
function send_review_email( $order_id ) {
$order = wc_get_order( $order_id );
$email = $order->get_billing_email();
$subject = 'How was your recent purchase?';
$message = 'Hi ' . $order->get_billing_first_name() . ', please review your order.';
wp_mail( $email, $subject, $message );
}
This shows the scheduling mechanism. You’d need HTML templates, tracking logic, and discount code generation. Most stores should use a plugin.
Tip: Reward ANY review (1-star or 5-star) to maintain authenticity.
Strategy 2: Post-Purchase Email Sequence
Continue the relationship with strategic emails after the review request.
The Framework
- Day 21: Complementary product recommendation
- Day 45: Repeat customer discount (10-15%)
- Day 60-90: Re-engagement if no second purchase
This spacing avoids email fatigue. Each email serves a specific purpose.
Day 21 – Complementary Products: They’ve had the product 2-3 weeks. They know if they like it. Suggest relevant items only.
Bought coffee grinder? Recommend coffee beans.
Bought running shoes? Suggest running socks.
Don’t push random products.
Day 45 – Repeat Customer Discount: Position as “thank you for being a customer.” Exclusive for people who’ve already purchased. Time-limit to 7-14 days.
Implementation
Plugins:
- AutomateWoo – Most flexible
- MailPoet – Simpler, free tier available
- ShopMagic – Middle ground
Code Approach:
// Schedule sequence
add_action( 'woocommerce_order_status_completed', 'schedule_followup_sequence' );
function schedule_followup_sequence( $order_id ) {
// Day 21: Complementary products
wp_schedule_single_event(
time() + (21 * DAY_IN_SECONDS),
'send_complementary_email',
array( $order_id )
);
// Day 45: Discount
wp_schedule_single_event(
time() + (45 * DAY_IN_SECONDS),
'send_repeat_discount',
array( $order_id )
);
}
// Email callback
add_action( 'send_complementary_email', 'send_complementary_products' );
function send_complementary_products( $order_id ) {
$order = wc_get_order( $order_id );
// Build email with recommendations
// wp_mail() to send
}
You’d build templates, recommendation logic, and discount generation. Plugins handle this complexity better.
Tip: Reference the actual product they bought. “How’s your [Product Name] working?” beats generic “shop our store” emails.
Warning: WP-Cron requires site traffic to trigger. For precise timing, use proper server cron or dedicated schedulers.
Strategy 3: Tiered Loyalty Rewards
Track cumulative spend. Unlock benefits at specific thresholds. Clear goals motivate customers to spend more.
Loyalty program members generate 12-18% more revenue than non-members (Accenture).
Example Structure
- Bronze ($100): Free shipping forever
- Silver ($250): 10% off future orders
- Gold ($500): Early access + perks
$100 is achievable quickly (2-3 orders). $250 requires commitment. $500 identifies VIPs.
Gaps should feel attainable, not impossible.
When It Works
90% of loyalty programs report 4.8x ROI (Antavo 2024).
Works best when:
- Regular purchases
- AOV above $30
- Customers value perks over just discounts
Doesn’t work for:
- Long purchase cycles (furniture, appliances)
- Extremely low margins
- Purely price-driven customers
Implementation
Plugins:
In this article covered all the WooCommerce reward plugins.
Both handle tracking, tiers, and automatic benefit application.
Code Approach:
// Track lifetime spend
add_action( 'woocommerce_order_status_completed', 'update_lifetime_value' );
function update_lifetime_value( $order_id ) {
$order = wc_get_order( $order_id );
$customer_id = $order->get_customer_id();
$lifetime_value = get_user_meta( $customer_id, '_lifetime_value', true ) ?: 0;
$lifetime_value += $order->get_total();
update_user_meta( $customer_id, '_lifetime_value', $lifetime_value );
// Check tiers
if ( $lifetime_value >= 250 && $lifetime_value < 500 ) {
update_user_meta( $customer_id, '_loyalty_tier', 'silver' );
// Apply discount, send email
}
}
You need discount application, free shipping logic, tier-up emails, customer dashboard, and edge cases. Plugins are faster.
Remember: Start with 2-3 tiers max. Simple programs get more participation.
Strategy 4: Repurchase Triggers for Consumables
Calculate repurchase frequency. Send reminders before customers run out. Works for consumables with predictable cycles.
Coffee averages 28 days between orders? Remind at day 22 (80% of cycle).
When It Works
Best for:
- Consumables (coffee, supplements, pet food)
- AOV above $30
- Predictable cycles (30-90 days)
Skip if you sell:
- One-time purchases
- Long cycles (12+ months)
- Seasonal products
Implementation
Plugin:
AutomateWoo ($99) has repurchase tracking built-in.
Manual alternative: Create customer segments by past purchases. Send timed campaigns.
Code Approach:
// Calculate cycle
function get_repurchase_cycle( $product_id ) {
// Query orders with this product
// Calculate days between purchases
// Return average
}
// Schedule reminder
function schedule_repurchase_reminder( $customer_id, $product_id ) {
$cycle = get_repurchase_cycle( $product_id );
$reminder_time = $cycle * 0.8;
wp_schedule_single_event(
time() + ($reminder_time * DAY_IN_SECONDS),
'send_repurchase_reminder',
array( $customer_id, $product_id )
);
}
Building this requires significant development. Plugins handle the complexity better unless you have specific needs.
Tip: Start with top 3 consumables only. Test, measure, expand gradually.
Remember: “Time for a restock?” feels helpful. “We calculated you’re running out” feels invasive.
Conclusion
The difference between struggling and profitable often comes down to repeat customers.
Start with review requests. Measure results. Layer on complexity.
A 5% retention improvement can boost profits 25-95%. That happens when you stop treating customers like one-time transactions.
Pick one strategy this week. Track your repeat purchase rate monthly in WooCommerce Analytics. Move from 25-30% toward 35-40% over the next quarter.
The customers you already acquired are your most valuable asset.