Can I Customize a WooCommerce Subscription Thank You Page?
How It Works
WooCommerce's woocommerce_thankyou hook fires on the order-received page with the specific order's ID, which makes it straightforward to check whether that order created a subscription (via wcs_get_subscriptions_for_order()) and output additional or different content when it did.
add_action( 'woocommerce_thankyou', function( $order_id ) {
$subscriptions = wcs_get_subscriptions_for_order( $order_id );
if ( empty( $subscriptions ) ) {
return;
}
foreach ( $subscriptions as $subscription ) {
echo '<p>Your next renewal is scheduled for ' . esc_html( $subscription->get_date( 'next_payment' ) ) . '.</p>';
}
} );
What's Worth Adding
- The actual next billing date, set clear expectations immediately rather than leaving the customer to check My Account later.
- A direct link to manage the subscription in My Account, reducing a common early support question ("where do I go to manage this?").
- Onboarding-specific content if the subscription grants access to something (a login, a download, a community) — the thank you page is a natural place for a clear "here's what happens next" step.
- Trial-specific messaging if the purchase included a free trial, clarifying exactly when the first real charge will happen.
Things to Watch For
- Handle a cart with both subscription and one-time products gracefully, since the thank you page might need to address both in the same message.
- Test the page for a customer with multiple subscriptions created from one order, if your store supports that, so the messaging doesn't only account for a single subscription.
- Keep the customization compatible with page caching the same way any other dynamic, order-specific page needs to be handled correctly.
Need a properly designed post-purchase experience built around your specific subscription products? See custom WooCommerce development.