Answers.Body: <p>You can do this by including a checksum link in your emails that returns the user to their contact dashboard and allow them to edit it.</p>
  
  <p>You can also use a checksum link to a profile to let them update things. </p>
  
  <p>it'd be something like the following</p>
  
  <pre><code>http://mydomain.org/civicrm/user?reset=1&amp;cid={contact.contact_id}&amp;{contact.checksum}
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T04:24:54.960Z
Answers.Text: thanks @frTommy, if the user just navigates to the site and I provide a button somewhere that says "Edit Profile", how would I identify what their contact_id would be... or is that just a variable that smarty would make available to me?
Answers.UserDisplayName: Jon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T04:31:46.220Z
Answers.Text: This link seems to take me where I want to go: /civicrm/user?reset=1&cid={$contact_id}
Answers.UserDisplayName: Jon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T14:20:11.293Z
Answers.Text: It seems I don't have enough reputation and can't edit anything yet... obviously I need to add the checksum or any user could pull any other users data by changing the contact id to another number.
Answers.UserDisplayName: Jon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T14:33:51.243Z
Answers.Text: That's right.  You need the checksum.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T03:39:29.063Z
Answers.LastActivityDate: 2015-04-14T03:39:29.063Z
Answers.UserDisplayName: frTommy
Body: <p>I have a question about what the best way to set something up.  I am using Drupal 7 and CiviCRM 4.6.</p>
  
  <p>I have a contribution page, where I want to add people to a newsletter group when they make a donation. I know that there are urls in emails that go out that allow someone to come back and remove themselves from groups, but I would also like to have these users be able to find and edit their profile, see previous donations, etc.</p>
  
  <p>Is there a way to do this just in CiviCRM? Do I have to create Drupal Users? I am currently trying to do everything with CiviCRM profiles, but would it be better to use Drupal webforms? What is your experience and what do you recommend as best practices?</p>
  
  <p>Thanks in advance.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-04-14T13:39:07.547Z
Comments.Text: The title/subject of this question isn't very helpful and doesn't be much relationship to the information that is actually being sought. Perhaps you might consider editing the question so that it is clearer what the question is about form the subject line?
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-04-14T14:16:57.130Z
Comments.Text: I wrote the question that way because it is a question about what is best practice, and it concerns setting up contribution pages, using profiles and signing up for newsletters. I searched extensively for an answer before I posted a question and if something had been written like this, I would have found the question.
Comments.UserDisplayName: Jon
Tags: <profile><best-practice>
Title: What are best practices around newsletter signup on contribution page, profiles and contact seeing their donation history?
ThreadText: # What are best practices around newsletter signup on contribution page, profiles and contact seeing their donation history?
  
  (Asked by: username_0 on 2015-04-14)
  
  I have a question about what the best way to set something up. I am using Drupal 7 and CiviCRM 4.6.
  
  I have a contribution page, where I want to add people to a newsletter group when they make a donation. I know that there are urls in emails that go out that allow someone to come back and remove themselves from groups, but I would also like to have these users be able to find and edit their profile, see previous donations, etc.
  
  Is there a way to do this just in CiviCRM? Do I have to create Drupal Users? I am currently trying to do everything with CiviCRM profiles, but would it be better to use Drupal webforms? What is your experience and what do you recommend as best practices?
  
  Thanks in advance.
  
  **Tags:** profile, best-practice
  
  > **Comments:**
  > **username_1**: The title/subject of this question isn't very helpful and doesn't be much relationship to the information that is actually being sought. Perhaps you might consider editing the question so that it is clearer what the question is about form the subject line?  
  > **username_0**: I wrote the question that way because it is a question about what is best practice, and it concerns setting up contribution pages, using profiles and signing up for newsletters. I searched extensively for an answer before I posted a question and if something had been written like this, I would have found the question.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2015-04-14. Score: 5 | Accepted answer
  
  You can do this by including a checksum link in your emails that returns the user to their contact dashboard and allow them to edit it.
  
  You can also use a checksum link to a profile to let them update things.
  
  it'd be something like the following
  
  ```
  http://mydomain.org/civicrm/user?reset=1&cid={contact.contact_id}&{contact.checksum}
  
  ```
  
  > **Comments:**
  > **username_0**: thanks @username_2, if the user just navigates to the site and I provide a button somewhere that says "Edit Profile", how would I identify what their contact_id would be... or is that just a variable that smarty would make available to me?  
  > **username_0**: This link seems to take me where I want to go: /civicrm/user?reset=1&cid={$contact_id}  
  > **username_0**: It seems I don't have enough reputation and can't edit anything yet... obviously I need to add the checksum or any user could pull any other users data by changing the contact id to another number.  
  > **username_2**: That's right.  You need the checksum.  
  
  ---
  
  