"When assessing whether consent is freely given, utmost account shall be taken of whether, inter alia, the performance of a contract, including the provision of a service, is conditional on consent to the processing of personal data that is not necessary for the performance of that contract."
And then Recital 43:
"Consent is presumed not to be freely given if it does not allow separate consent to be given to different personal data processing operations despite it being appropriate in the individual case, or if the performance of a contract, including the provision of a service, is dependent on the consent despite such consent not being necessary for such performance."
If:
1. You ask users for consent
2. The consent is not strictly necessary to provide the service
3. You deny the service to users who decline to give consent
Then the consent isn't freely given and therefore invalid.
> GDPR does not forced you to provide a free service or a service that generate less revenue.
True, but then consent isn't the right basis for processing of data. As you mentioned, business justification, or "legitimate interests" as GDPR puts it, is what you should be using.