If you sell monthly subscriptions, a good marketing idea is to give the first month free to encourage users to sign up. The customer must always make a first purchase going through the Web checkout process in order for the Storefront to capture any billing and payment information necessary to charge the customer for future occurrences. There are two options to configure your first free product on checkout.
Using promotion to give first month free
One easy way is to create a promotion rule that gives the discount based on the origin.
- Under Marketing > Promotions menu, click Add new.
- Give your promotion a name (e.g. "Free first month")
- Under the Promotion tab, select "Sales order detail" as your promotion type.
- Choose "Custom rule" for your promotion rule.
- Enter the following rule to check the order is originating from a Web checkout (origin = 1) and not system recurring. You may need to adjust the rule if you want to put more conditions such as limiting the discount to only a specific variant, etc.
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:if test="/in/salesOrder/origin = 1">
<xsl:value-of select="-1 * /in/this/salesOrderDetail/price * /in/this/salesOrderDetail/quantity"/>
Using required product to give first month free
An alternative approach is to create a different secondary product (you can call it "First Trial" or give it any creative name you like). This simple product has a variant (non-recurring) that requires your actual subscription product. The customer will actually buy your "First Trial" product and the Storefront will automatically set up the future recurring product. You can hide the subscription product since the customer won't be interacting with it.
- Under Catalog > Products, add a new product.
- Give it a name like "Free Trial" and Save.
- Edit the variant of this product. Notice this variant has a zero dollar price.
- Under the Required tab, add your actual subscription product to it.
- Uncheck the Published and set the Defer date to the first occurrence to happen (e.g. 1 month).
In both cases, you can choose to collect their credit card information during checkout, but the customer won't get charged since the amount is zero. Of course, if they don't cancel by the end of the month, their credit card will be charged for the renewal going forward. If you don't want to take their credit card information, you can adjust the Availability rule for your payment methods to allow the special "None" payment method when the total amount is zero, and likewise enable the "Credit Card" payment method if the reverse condition is true.