We use CiviMail for our organization's newsletter. In addition to a signup form, we would like to have a "click to view our latest newsletter" link which shows the most recent newsletter from CiviMail. Is there a way to automatically do this that doesn't involve changing the link manually every time a new newsletter is sent out?
3 Answers
Option 1)
There is CiviCRM extension which seems to do exactly what you need: Public Mailings Archive filterable by date, template, etc. It says is compatible up to Civi 4.5 so you might need to contact the developer or test first if you are using 4.6
Option 2)
As you are on WordPress, check out Christian Wach's plugin, it creates a custom post for each public CiviMail mailing. You could link in your mailing to the custom archive page for that post, alternatively you could modify the archives-pages-template.php to output only the last post (ie last newsletter) if you don't want to expose previous newsletters.
Option 3)
Try out the Content Tokens extension and check if it fulfills your needs.
Option 4)
In conjunction with Christian Wach's plugin mentioned above, you could create your own token, as explain in this great post by Coleman.
-
That link to Christian Wach's WordPress plugin is wrong, should be giters.com/christianwach/civicrm-wp-mail-sync I think. Commented Jun 12, 2021 at 20:54
Use the same (short) link in the e-mail template - and use a link shortener like bit.ly or goo.gl - and just make sure you have the latest newsletter loaded up at the link - with a short link to your Drupal node, WP site, a shared Google doc, wherever.
-
I don't understand the first part of your suggestion... how do I use the same link in the email template? Each email has a unique URL based on its id, so I don't see how I could get that to work. Wouldn't I still have to manually update the shortlink every time a new mail was published?– osarusanCommented Oct 20, 2015 at 18:55
-
You just insert the short link into the body of the e-mail. Commented Oct 20, 2015 at 18:58
-
Use the same short link in the body of the template. Or put it in the footer, though less likely to be seen and clicked on. Or use it in a header for each email. CIviMail report will show you clicked links and so will bit.ly and goo.gl. Commented Oct 20, 2015 at 19:08
-
I don't understand how this is any different than manually updating a link to the latest newsletter every time a new newsletter is sent. It sounds like you are suggesting to create a shortened url that links to the newsletter, but I will still have to update the URL manually every time. My hope is to have a menu item on my site that says "view latest newsletter" which automatically links to the most recent email URL generated by CiviCRM. The URLs generated by CiviMail using the {mailing.viewUrl} token all have an id number attached to them so they are unique. I must be misunderstanding you.– osarusanCommented Oct 20, 2015 at 19:10
-
I misunderstood. You save the latest newsletter - sent by Civimail - as, say, a PDF file, whatever, made from the CiviMail newsletter html. You update the link on your site with the latest newsletter in PDF. You archive the older newsletter to a different directory. Commented Oct 20, 2015 at 19:18
For Drupal users a View could do the required, based on Civi Mailing, set to 1, sorted descending, with just the Body HTML field, and pager set to show newer/older.
I attached a file to this blog in case it is useful. You would just need to 'add page display' and set your path.