Answers.Body: <p>Taking answer from comment from @eli lisseck... Try using {action.subscribeUrl.gid} where gid is your group e.g. {action.subscribeUrl.5}. More generally, however, beware of assuming that these people have indeed chosen to signup rather than had their emails added by a bot/spammer. Trying to work around the double opt-in will make your site non-compliant with anti-spam legislation in the US and elsewhere, and will make your site more likely to get blacklisted as a spammer.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-13T11:52:00.920Z
Answers.Text: The {action.subscribeUrl.gid} token does not act as a confirmation token in the tests I've done so far. It takes the user to a sign-up page. When the user subscribes to the group on that page, Civi then sends out a confirmation email, so we're back to square one. The workaround I'm looking at seeks to secure a clear 'double opt-in action', i.e. two recorded actions by the user that confirm their interest in subscribing. In the use case I'm looking at I think it is rather unlikely that initial sign-ups are spam, but I will review that.
Answers.UserDisplayName: Graham
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-13T11:55:04.127Z
Answers.Text: What I'm quite surprised about, is that Civi appears to provide no means to chase up those addresses that have not confirmed, when experience tells me that significant percentages of the confirmation get caught by spam filters, or simply ignored.
Answers.UserDisplayName: Graham
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-11T18:21:07.020Z
Answers.LastActivityDate: 2017-07-11T18:21:07.020Z
Answers.UserDisplayName: Joe Murray
Body: <p>When someone adds themselves to a group that is configured as a mailing list they get sent an email with a confirmation link. The email includes the token: {subscribe.url}</p>
  
  <p>We now have something like 2500 people in our database that have joined a mailing list but not confirmed, so they are in a 'pending by email' status. We want to run a campaign to encourage them to confirm their subscription, but the {subscribe.url} token doesn't appear to work in a standard CiviMail mailing.</p>
  
  <p>We can't be the first to have come across this issue. How can we effectively encourage all of these people to confirm their subscription?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-07T19:41:49.160Z
Comments.Text: What version of CiviCRM are you in? You noted {subscribe.url} but have you tried using {action.subscribeUrl.gid} where gid is your group e.g. {action.subscribeUrl.5}? That appears to work for me but I don't know your setup ...
Comments.UserDisplayName: Eli Lisseck
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-08T08:47:36.910Z
Comments.Text: Sounds great. Many thanks for this tip, I'll check it out. Is there a definitive list of available tokens somewhere? I've not come across this one before.
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-08T17:48:30.723Z
Comments.Text: When I need to remember the fancy mailing action tokens and/or checksum reference ... this is where I go: https://wiki.civicrm.org/confluence/display/CRMDOC/Tokens. I don't think there is a "full" list of all available tokens anywhere, unfortunately.
Comments.UserDisplayName: Eli Lisseck
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T13:46:03.270Z
Comments.Text: OK. Done some testing with the token {action.subscribeUrl.gid}. This takes the user to a sign-up page for the group specified, enabling the user to enter an email address. Civi then sends out a confirmation email. In my use case people have already taken this first step, but have not clicked the link in the confirmation email. What I want to do is emulate the confirmation email.
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T14:35:54.407Z
Comments.Text: Looking at a real confirmation email, it contains a link that looks like: https://domain.org/crm/civicrm/mailing/confirm?reset=1&cid=XXX&sid=YYY&h=string A bit of hunting around in the database shows me that the 'sid' value and 'h' value are from the civicrm_mailing_event_subscribe table where sid = the row ID and h is the stored hash. So all I need to know is whether a token already exists that can reference this data or whether I can create a custom token to do the job?
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T15:34:49.900Z
Comments.Text: I don't know of a current token for that - I think it's probably possible but tricky to create this token. If it helps ... I think that hash is probably the event queue hash code you're looking for (as opposed to contact hash), which I think is normally grabbed by mailing-job-specific context, so it would be tricky (maybe see https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/ActionTokens.php#L38 and follow from there? Worth it though? I'm not sure...
Comments.UserDisplayName: Eli Lisseck
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T15:37:16.083Z
Comments.Text: An alternative could be something like "faux-turn-off-double-opt-in" for these contacts only e.g. send them a "subscription reminder" email with a link that just goes to a "thank-you" page ... track clickthroughs for that email ... and add people who clicked it to your subscribed group from the tracked click-report. It's not automated, but I have a feeling it would be a heck of a lot less work :)
Comments.UserDisplayName: Eli Lisseck
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T17:31:58.207Z
Comments.Text: Yeah, I was thinking about a similar sort of workaround myself. Thanks again.
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-07-09T17:33:19.633Z
Comments.Text: What would be good on this is some sort of scheduled reminder approach. As I said in the original question, this must be a common issue.
Comments.UserDisplayName: Graham
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-09T19:45:03.760Z
Comments.Text: Maybe something to consider for a future MIH - i don't see many other posts on this issue so it could just be a blindspot for most users.
Comments.UserDisplayName: petednz - fuzion
Tags: <civimail><tokens><subscribe>
Title: How can I chase up mailing list subscribers who don't confirm their opt-in?
ThreadText: # How can I chase up mailing list subscribers who don't confirm their opt-in?
  
  (Asked by: username_0 on 2017-07-07)
  
  When someone adds themselves to a group that is configured as a mailing list they get sent an email with a confirmation link. The email includes the token: {subscribe.url}
  
  We now have something like 2500 people in our database that have joined a mailing list but not confirmed, so they are in a 'pending by email' status. We want to run a campaign to encourage them to confirm their subscription, but the {subscribe.url} token doesn't appear to work in a standard CiviMail mailing.
  
  We can't be the first to have come across this issue. How can we effectively encourage all of these people to confirm their subscription?
  
  **Tags:** civimail, tokens, subscribe
  
  > **Comments:**
  > **username_1**: What version of CiviCRM are you in? You noted {subscribe.url} but have you tried using {action.subscribeUrl.gid} where gid is your group e.g. {action.subscribeUrl.5}? That appears to work for me but I don't know your setup ...  
  > **username_0**: Sounds great. Many thanks for this tip, I'll check it out. Is there a definitive list of available tokens somewhere? I've not come across this one before.  
  > **username_1**: When I need to remember the fancy mailing action tokens and/or checksum reference ... this is where I go: https://wiki.civicrm.org/confluence/display/CRMDOC/Tokens. I don't think there is a "full" list of all available tokens anywhere, unfortunately.  
  > **username_0**: OK. Done some testing with the token {action.subscribeUrl.gid}. This takes the user to a sign-up page for the group specified, enabling the user to enter an email address. Civi then sends out a confirmation email. In my use case people have already taken this first step, but have not clicked the link in the confirmation email. What I want to do is emulate the confirmation email.  
  > **username_0**: Looking at a real confirmation email, it contains a link that looks like: https://domain.org/crm/civicrm/mailing/confirm?reset=1&cid=XXX&sid=YYY&h=string A bit of hunting around in the database shows me that the 'sid' value and 'h' value are from the civicrm_mailing_event_subscribe table where sid = the row ID and h is the stored hash. So all I need to know is whether a token already exists that can reference this data or whether I can create a custom token to do the job?  
  > **username_1**: I don't know of a current token for that - I think it's probably possible but tricky to create this token. If it helps ... I think that hash is probably the event queue hash code you're looking for (as opposed to contact hash), which I think is normally grabbed by mailing-job-specific context, so it would be tricky (maybe see https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/ActionTokens.php#L38 and follow from there? Worth it though? I'm not sure...  
  > **username_1**: An alternative could be something like "faux-turn-off-double-opt-in" for these contacts only e.g. send them a "subscription reminder" email with a link that just goes to a "thank-you" page ... track clickthroughs for that email ... and add people who clicked it to your subscribed group from the tracked click-report. It's not automated, but I have a feeling it would be a heck of a lot less work :)  
  > **username_0**: Yeah, I was thinking about a similar sort of workaround myself. Thanks again.  
  > **username_0**: What would be good on this is some sort of scheduled reminder approach. As I said in the original question, this must be a common issue.  
  > **username_2**: Maybe something to consider for a future MIH - i don't see many other posts on this issue so it could just be a blindspot for most users.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2017-07-11. Score: 1
  
  Taking answer from comment from @eli lisseck... Try using {action.subscribeUrl.gid} where gid is your group e.g. {action.subscribeUrl.5}. More generally, however, beware of assuming that these people have indeed chosen to signup rather than had their emails added by a bot/spammer. Trying to work around the double opt-in will make your site non-compliant with anti-spam legislation in the US and elsewhere, and will make your site more likely to get blacklisted as a spammer.
  
  > **Comments:**
  > **username_0**: The {action.subscribeUrl.gid} token does not act as a confirmation token in the tests I've done so far. It takes the user to a sign-up page. When the user subscribes to the group on that page, Civi then sends out a confirmation email, so we're back to square one. The workaround I'm looking at seeks to secure a clear 'double opt-in action', i.e. two recorded actions by the user that confirm their interest in subscribing. In the use case I'm looking at I think it is rather unlikely that initial sign-ups are spam, but I will review that.  
  > **username_0**: What I'm quite surprised about, is that Civi appears to provide no means to chase up those addresses that have not confirmed, when experience tells me that significant percentages of the confirmation get caught by spam filters, or simply ignored.  
  
  ---
  
  