GDPR , opt in webforms
Mmm... Unless I'm mistaking your intention, this should be very easy to do with a webform, if you are using Drupal with Civicrm and the Civicrm webform integration module. 

As far as I know, if your email asks them to go to your webform by clicking a link that contains the 'contact hash' token, then when they get to the webform it will be prefilled with their details. 

In the Civicrm section of the webform config screens you can choose which Civicrm info to include, and also whether to add the user to a Civicrm group when the form is submitted. (You'd need to make your group in Civi before configuring this part of the webform.)

Then the user simply clicks 'submit' and they will be added to your group.

Hope I've got the right end of the stick here and that this is helpful.