Could you post a print screen of the conditions that doesn't work?
When comparing Contact field values in Form Processing Steps, Eloqua will look for any Contact in the database that matches the criteria of the step. In order to match the exact Contact submitting the form, you need to include the field you are concerned with ("Opt-in" in this case) and criteria to match the Email Address Contact field to the form field for Email Address.
As Matt said, you would need to make sure your form submit is mapped to a contact.
The top one in my image is how the condition looks if it's based on a contact field. And the second is if it listens to form values. And in your case I think you should prefer the latter.
There you see the one that i mean (Form Field).
Linus Lundevall Chief Data Officer infunnel.se Rosenlundsgatan 40 • S11853 Stockholm • Sweden email@example.com • +46 7077 906 96• Infunnel.se