I am sending emails to my salesforce contacts using marketing cloud. For this I import contact in SFMC and then send the email. Now when a contact clicks unsubscribe I want to set the Email opt out field to be changed to true in Salesforce back. I want to keep my data in sync. What are the other options if I don't want to use the Marketing Cloud connector.
If you use the Marketing Cloud Connector, this will be done automatically. You can simply send to a Salesforce Report.
Without Marketing Cloud Connector, there isn't a good option for syncing those back to the contact record. A custom app would need to be built that uses the Marketing Cloud and Sales Cloud APIs in order to pull the unsubscribes then update the Contact record on a regular basis to do the sync.
Another option would be to create a custom profile center/unsubscribe link so that at the time when the unsubscribe happens, separate API calls can be made to toggle the Subscriber in Marketing Cloud and Contact in Sales.
You could use the salesforce Journey Builder Object Activity to update the Email_Opt_Out field in CRM.
Use a daily scheduled automation and SQL activity to look at the SyncDE field and Subscriber Status Fields in SFMC. If any discrepancy arises between the two, a record gets created in the 'journey entry de'. The automation fires the start of the journey, and the record gets updated in CRM.