I would like send an email from Marketing Cloud asking for the subscriber to click on a link. Once that link is clicked, I want to update a checkbox field in the subscriber's Contact in Salesforce.
Is this possible?
This can be solved by using a combination of landing pages and Ampscript functions.
You will have to create a landing page in Marketing Cloud and have the link in the email point to that landing page. When the user clicks on the link in the email, they will be taken to the landing page and the code in the landing page will get executed.
This is where you provide the code to update the Sales Cloud Data. Please refer to UpdateSingleSalesforceObject for details on how to use the function. The following code snippet shows how to update the value of last name in the Contacts object, you can modify it to update the checkbox you need to update.
%%[
UpdateSingleSalesforceObject('Contact',@contactid,'Last_name','New Value')
]%%
You could define a visualforce page and pass it the record Id.
<apex:page controller="mycontroller" standardController="Contact"
action="{!updateContact}">
In the controller just define what to do with that record.
But invoking DML on Page loading is considered bad practice and you won't get through security reviews. So maybe consider updating the record when clicking a button or something.