The contact values like contact.name or contact.email will only work when the user has submitted a form on the previous page/step of the funnel. If your leads are landing on the page directly, without submitting data, the system does not know which contact has opened the page and it is not possible to show the name directly, however, there is a workaround for this.
Step 1: Set the URL Parameter name on the landing page
Name your parameter, for example, in this case, I'm calling it 'lead'
Add the parameter name on the landing page where you want to display the parameter value. The parameter name will be enclosed in double curly brackets.
Step 2: Get the Page URL and add the parameter name to it
Now open the Page URL and add the parameter name with a question mark so that you can pass the parameter name and value along with the URL.
For example, if the lead's name is John, and the Page URL is https://test2.excaaa.com/ubsub-test, I can pass the Parameter 'lead' with the value 'John' using this URL: https://test2.excaaa.com/ubsub-test?lead=John
Step 3 (Option 1): Set up your email with the URL
Send this email to the lead so that it opens their name, you will use the value "contact.name" instead of 'John' so that it displays their name. In our example, the URL would look like this: https://test2.excaaa.com/ubsub-test?lead={{contact.name}}
Send this to the lead in the email and test.
Step 3 (Option 2): Redirect to this URL from the previous step in this funnel
You can add the link with the URL parameters to the previous step of the funnel, using the redirect options for the button/form/survey/calendar.