I noticed you tagged iOS and App Store in your post, so I’m going to focus on iOS and RevenueCat techniques.
If you want to give a user access to a subscription or entitlement without charging the user, one option you have is RevenueCat’s promotional entitlements API. This API allows you to override their subscription status in RevenueCat to give access to an entitlement. It’s useful when you don’t want to use Apple’s free trial functionality. However, users can’t redeem a RevenueCat promotional entitlement from within your app, so you will have to give access outside of the app via web portal, contact form, automatically on your server when a user signs up, etc.
If you want users to redeem a free trial within the app, you’ll have to use Apple’s subscription offer options. You’ll want to refer to our guide on the types of offers to determine which one fits your use case. It’s important to note whether you want to grant the free subscription to new, existing, or lapsed subscribers, and whether you want the subscription to automatically renew after the free subscription (promo codes don’t auto renew.)
Everyone’s app is different so it’s difficult to recommend one “best” way to implement free subscriptions, but hopefully this answer will help you get the information you need to figure out the best way for your app. One thing I gathered from your post is that you want to onboard clients, which I’m assuming means that they have not had a subscription previously. In this case, I would suggest either RevenueCat’s promotional entitlements, Apple’s introductory offers (free trials), offer codes, or promo codes. You can read about each of these in the guides linked above.