Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(WIP) Replace br with p and li in emails #4691

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Enter <%= @code %> to verify your email address. This code will expire in 4 hours.
<p>Enter <%= @code %> to verify your email address. This code will expire in 4 hours.</p>
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
You used to have an active account with <%= Plausible.product_name() %>, a simple, lightweight, open source and privacy-first Google Analytics alternative.
<br /><br />
We've noticed that you're still sending us stats so we're writing to inform you that we'll stop accepting stats from your sites <%= @time %>. We're an independent, bootstrapped service and we don't sell your data, so this will reduce our server costs and help keep us sustainable.
<br /><br /> If you'd like to continue counting your site stats in a privacy-friendly way, please
<a href={plausible_url()}>login to your Plausible account</a> and start a subscription.
<br /><br />
Do you have any questions or need help with anything? Just reply to this email and we'll gladly help.
<p>
You used to have an active account with <%= Plausible.product_name() %>, a simple, lightweight, open source and privacy-first Google Analytics alternative.
</p>

<p>
We've noticed that you're still sending us stats so we're writing to inform you that we'll stop accepting stats from your sites <%= @time %>.
We're an independent, bootstrapped service and we don't sell your data, so this will reduce our server costs and help keep us sustainable.
</p>

<p>
If you'd like to continue counting your site stats in a privacy-friendly way, please
<a href={plausible_url()}>login to your Plausible account</a>
and start a subscription.
</p>

<p :if={Plausible.ee?()}>
Do you have any questions or need help with anything? Just reply to this email and we'll gladly help.
</p>
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
This is Marko, one of the co-founders of Plausible. I’d love to understand the reasons behind your decision to cancel your subscription. We’re solely funded by our subscribers so we genuinely value your feedback. Even a few words would be beneficial in helping us improve our product. Please respond to this email with any insights you can share. Thank you for your time!
<p>
This is Marko, one of the co-founders of Plausible.
I'd love to understand the reasons behind your decision to cancel your subscription.
We're solely funded by our subscribers so we genuinely value your feedback.
Even a few words would be beneficial in helping us improve our product.
Please respond to this email with any insights you can share.
Thank you for your time!
</p>
69 changes: 49 additions & 20 deletions lib/plausible_web/templates/email/check_stats_email.html.heex
Original file line number Diff line number Diff line change
@@ -1,20 +1,49 @@
Plausible is tracking your website stats without compromising the user experience and the privacy of your visitors.
<br /><br /> Here's how to get even more out of your Plausible experience: <br /><br /> *
<a href="https://plausible.io/docs/custom-event-goals">Set up custom events</a> and
<a href="https://plausible.io/docs/pageview-goals">pageview goals</a> to count actions you want your visitors to take<br />
* Running an ecommerce? Assign monetary values to custom events to track
<a href="https://plausible.io/docs/ecommerce-revenue-tracking">revenue attribution</a>
<br /> * Follow the journey from a landing page to conversion with
<a href="https://plausible.io/docs/funnel-analysis">funnel analysis</a>
<br /> *
<a href="https://plausible.io/docs/manual-link-tagging">
Tag your social media, email and paid links
</a> to see which campaigns are responsible for most conversions<br />
* <a href="https://plausible.io/docs/custom-props/introduction">Send custom properties</a>
to collect data that we don't track automatically <br /> * Explore our
<a href="https://plausible.io/docs/stats-api">stats API</a> to retrieve your stats and our
<a href="https://plausible.io/docs/sites-api">sites API</a> to create and manage sites programmatically<br />
<br /><br />
<a href={plausible_url()}>View your Plausible dashboard now</a>
for the most valuable traffic insights at a glance. <br /><br />
Do reply back to this email if you have any questions or need some guidance.
<p>
Plausible is tracking your website stats without compromising the user experience and the privacy of your visitors.
</p>

<ul>
Here's how to get even more out of your Plausible experience:
<li>
<a href="https://plausible.io/docs/custom-event-goals">Set up custom events</a>
and <a href="https://plausible.io/docs/pageview-goals">pageview goals</a>
to count actions you want your visitors to take
</li>

<li>
Running an ecommerce? Assign monetary values to custom events to track
<a href="https://plausible.io/docs/ecommerce-revenue-tracking">revenue attribution</a>
</li>

<li>
Follow the journey from a landing page to conversion with
<a href="https://plausible.io/docs/funnel-analysis">funnel analysis</a>
</li>

<li>
<a href="https://plausible.io/docs/manual-link-tagging">
Tag your social media, email and paid links
</a>
to see which campaigns are responsible for most conversions
</li>

<li>
<a href="https://plausible.io/docs/custom-props/introduction">Send custom properties</a>
to collect data that we don't track automatically
</li>

<li>
Explore our <a href="https://plausible.io/docs/stats-api">stats API</a>
to retrieve your stats and our <a href="https://plausible.io/docs/sites-api">sites API</a>
to create and manage sites programmatically
</li>
</ul>

<p>
<a href={plausible_url()}>View your Plausible dashboard now</a>
for the most valuable traffic insights at a glance.
</p>

<p :if={Plausible.ee?()}>
Do reply back to this email if you have any questions or need some guidance.
</p>
17 changes: 12 additions & 5 deletions lib/plausible_web/templates/email/create_site_email.html.heex
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
You've activated your free 30-day trial of Plausible, a simple and privacy-friendly website analytics tool.
<br /><br />
<a href={"#{plausible_url()}/sites/new"}>Click here</a>
to add your website URL, your timezone and install our one-line JavaScript snippet to start collecting visitor statistics.
<br /><br /> Do reply back to this email if you have any questions or need some guidance.
<p>
You've activated your free 30-day trial of Plausible, a simple and privacy-friendly website analytics tool.
</p>

<p>
<a href={"#{plausible_url()}/sites/new"}>Click here</a>
to add your website URL, your timezone and install our one-line JavaScript snippet to start collecting visitor statistics.
</p>

<p :if={Plausible.ee?()}>
Do reply back to this email if you have any questions or need some guidance.
</p>
28 changes: 17 additions & 11 deletions lib/plausible_web/templates/email/csv_import.html.heex
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
<%= if @success do %>
Your CSV import has completed successfully. The Plausible dashboard for <%= @site_import.site.domain %> now contains historical imported data from <%= date_format(
@site_import.start_date
) %> to <%= date_format(@site_import.end_date) %>
<br /><br />
<a href={@link}>Click here</a>
to view your dashboard.
<p>
Your CSV import has completed successfully. The Plausible dashboard for <%= @site_import.site.domain %> now contains historical imported data from <%= date_format(
@site_import.start_date
) %> to <%= date_format(@site_import.end_date) %>
</p>

<p>
<a href={@link}>Click here</a> to view your dashboard.
</p>
<% else %>
Unfortunately, your CSV import for <%= @site_import.site.domain %> did not complete successfully. Sorry about that!
<br /><br /> Please try to do the import once again.
<%= if ee?() do %>
<br /> <br />
<p>
Unfortunately, your CSV import for <%= @site_import.site.domain %> did not complete successfully. Sorry about that!
</p>

<p>Please try to do the import once again.</p>

<p :if={Plausible.ee?()}>
Please reply to this email to let us know if you're still experiencing issues with the import.
<% end %>
</p>
<% end %>
51 changes: 32 additions & 19 deletions lib/plausible_web/templates/email/dashboard_locked.html.heex
Original file line number Diff line number Diff line change
@@ -1,19 +1,32 @@
Last week we sent a reminder that your site traffic has exceeded the limits of your <%= Plausible.product_name() %> subscription tier for two consecutive months. Since we haven't received a response, we've had to temporarily lock access to your stats.
<br /><br />
Your subscription is still active, we're still counting your stats and haven't deleted any of your data but as you have outgrown your subscription tier, we kindly ask you to upgrade to match your new traffic levels. Upon upgrading to a suitable tier, your dashboard access will be immediately restored.
<br /><br />
During the last billing cycle (<%= PlausibleWeb.TextHelpers.format_date_range(
@usage.last_cycle.date_range
) %>), your account recorded <%= PlausibleWeb.AuthView.delimit_integer(@usage.last_cycle.total) %> billable pageviews. In the billing cycle before that (<%= PlausibleWeb.TextHelpers.format_date_range(
@usage.penultimate_cycle.date_range
) %>), the usage was <%= PlausibleWeb.AuthView.delimit_integer(@usage.penultimate_cycle.total) %> billable pageviews. Note that billable pageviews include both standard pageviews and custom events. In your
<a href={PlausibleWeb.Router.Helpers.settings_url(PlausibleWeb.Endpoint, :subscription)}>account settings</a>, you'll find an overview of your usage and limits.
<br /><br />
<%= if @suggested_plan == :enterprise do %>
Your usage exceeds our standard plans, so please reply back to this email for a tailored quote.
<% else %>
<a href={PlausibleWeb.Router.Helpers.billing_url(PlausibleWeb.Endpoint, :choose_plan)}>Click here to upgrade your subscription</a>. We recommend you upgrade to the <%= @suggested_plan.volume %>/mo plan. The new charge will be prorated to reflect the amount you have already paid and the time until your current subscription is supposed to expire.
<% end %>
<br /><br />
Do you have questions or need help with anything? Just reply to this email. We're here to help!
<br /><br /> Thanks for understanding and for being a Plausible subscriber!
<p>
Last week we sent a reminder that your site traffic has exceeded the limits of your <%= Plausible.product_name() %> subscription tier for two consecutive months.
Since we haven't received a response, we've had to temporarily lock access to your stats.
</p>

<p>
Your subscription is still active, we're still counting your stats and haven't deleted any of your data but as you have outgrown your subscription tier, we kindly ask you to upgrade to match your new traffic levels.
Upon upgrading to a suitable tier, your dashboard access will be immediately restored.
</p>

<p phx-no-format>
During the last billing cycle (<%= PlausibleWeb.TextHelpers.format_date_range(@usage.last_cycle.date_range) %>), your account recorded <%= PlausibleWeb.AuthView.delimit_integer(@usage.last_cycle.total) %> billable pageviews.
In the billing cycle before that (<%= PlausibleWeb.TextHelpers.format_date_range(@usage.penultimate_cycle.date_range) %>), the usage was <%= PlausibleWeb.AuthView.delimit_integer(@usage.penultimate_cycle.total) %> billable pageviews.
Note that billable pageviews include both standard pageviews and custom events.
In your <a href={PlausibleWeb.Router.Helpers.settings_url(PlausibleWeb.Endpoint, :subscription)}>account settings</a>, you'll find an overview of your usage and limits.
</p>

<p>
<%= if @suggested_plan == :enterprise do %>
Your usage exceeds our standard plans, so please reply back to this email for a tailored quote.
<% else %>
<a href={PlausibleWeb.Router.Helpers.billing_url(PlausibleWeb.Endpoint, :choose_plan)}> Click here to upgrade your subscription </a>.
We recommend you upgrade to the <%= @suggested_plan.volume %>/mo plan.
The new charge will be prorated to reflect the amount you have already paid and the time until your current subscription is supposed to expire.
<% end %>
</p>

<p>
Do you have questions or need help with anything? Just reply to this email. We're here to help!
</p>

<p>Thanks for understanding and for being a Plausible subscriber!</p>
17 changes: 11 additions & 6 deletions lib/plausible_web/templates/email/drop_notification.html.heex
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
We've recorded <%= @current_visitors %> visitors on
<a href={"https://" <> @site.domain}><%= @site.domain %></a> in the last 12 hours.
<p>
We've recorded <%= @current_visitors %> visitors on
<a href={"https://" <> @site.domain}><%= @site.domain %></a>
in the last 12 hours.
</p>

<%= if @dashboard_link do %>
<br /><br /> View dashboard: <a href={@dashboard_link}><%= @dashboard_link %></a>
<br /><br /> Something looks off? Please
<a href={@installation_link}>review your installation</a>
to verify that Plausible has been integrated correctly.
<p>View dashboard: <a href={@dashboard_link}><%= @dashboard_link %></a></p>
<p>
Something looks off? Please <a href={@installation_link}>review your installation</a>
to verify that Plausible has been integrated correctly.
</p>
<% end %>
Original file line number Diff line number Diff line change
@@ -1,15 +1,29 @@
Automated notice about an enterprise account that has gone over their limits. <br /><br />
Customer email: <%= @user.email %><br />
Last billing cycle: <%= PlausibleWeb.TextHelpers.format_date_range(
@pageview_usage.last_cycle.date_range
) %><br />
Last cycle pageview usage: <%= PlausibleWeb.AuthView.delimit_integer(
@pageview_usage.last_cycle.total
) %> billable pageviews<br />
Penultimate billing cycle: <%= PlausibleWeb.TextHelpers.format_date_range(
@pageview_usage.penultimate_cycle.date_range
) %><br />
Penultimate cycle pageview usage: <%= PlausibleWeb.AuthView.delimit_integer(
@pageview_usage.penultimate_cycle.total
) %> billable pageviews<br />
Site usage: <%= @site_usage %> / <%= @site_allowance %> allowed sites<br />
<p>Automated notice about an enterprise account that has gone over their limits.</p>

<p>Customer email: <%= @user.email %></p>

<p>
Last billing cycle: <%= PlausibleWeb.TextHelpers.format_date_range(
@pageview_usage.last_cycle.date_range
) %>
</p>

<p>
Last cycle pageview usage: <%= PlausibleWeb.AuthView.delimit_integer(
@pageview_usage.last_cycle.total
) %> billable pageviews
</p>

<p>
Penultimate billing cycle: <%= PlausibleWeb.TextHelpers.format_date_range(
@pageview_usage.penultimate_cycle.date_range
) %>
</p>

<p>
Penultimate cycle pageview usage: <%= PlausibleWeb.AuthView.delimit_integer(
@pageview_usage.penultimate_cycle.total
) %> billable pageviews
</p>

<p>Site usage: <%= @site_usage %> / <%= @site_allowance %> allowed sites</p>
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<%= @invitation.inviter.email %> has invited you to the <%= @invitation.site.domain %> site on <%= Plausible.product_name() %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :index)}>Click here</a> to view and respond to the invitation. The invitation
will expire 48 hours after this email is sent.
<p>
<%= @invitation.inviter.email %> has invited you to the <%= @invitation.site.domain %> site on <%= Plausible.product_name() %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :index)}>Click here</a> to view and respond to the invitation. The invitation
will expire 48 hours after this email is sent.
</p>
16 changes: 11 additions & 5 deletions lib/plausible_web/templates/email/export_failure.html.heex
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
Your <%= Plausible.product_name() %> export for <%= @site.domain %> has encountered an error and was unsuccessful.
Sorry for the trouble this may have caused. <br /><br /> Please attempt to export your data again.
<%= if ee?() do %>
Should the problem persist, do reply to this email so we can assist. Thanks!
<% end %>
<p>
Your <%= Plausible.product_name() %> export for <%= @site.domain %> has encountered an error and was unsuccessful.
Sorry for the trouble this may have caused.
</p>

<p>
Please attempt to export your data again.
<span :if={Plausible.ee?()}>
Should the problem persist, do reply to this email so we can assist. Thanks!
</span>
</p>
12 changes: 6 additions & 6 deletions lib/plausible_web/templates/email/export_success.html.heex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Your <%= Plausible.product_name() %> export for <%= @site.domain %> is now ready for download.
Please click <a href={@download_url}>here</a>
to start the download process.
<%= if @expires_in do %>
Note that this link will expire <%= @expires_in %>.
<% end %>
<p>
Your <%= Plausible.product_name() %> export for <%= @site.domain %> is now ready for download.
Please click <a href={@download_url}>here</a> to start the download process.
</p>

<p :if={@expires_in}>Note that this link will expire <%= @expires_in %>.</p>
32 changes: 20 additions & 12 deletions lib/plausible_web/templates/email/google_analytics_import.html.heex
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
<%= if @success do %>
Your Google Analytics import has completed successfully. The Plausible dashboard for <%= @site_import.site.domain %> now contains historical imported data from <%= date_format(
@site_import.start_date
) %> to <%= date_format(@site_import.end_date) %>
<br /><br />
<a href={@link}>Click here</a>
to view your dashboard.
<p>
Your Google Analytics import has completed successfully.
The Plausible dashboard for <%= @site_import.site.domain %> now contains historical imported data
from <%= date_format(@site_import.start_date) %> to <%= date_format(@site_import.end_date) %>
</p>

<p>
<a href={@link}>Click here</a> to view your dashboard.
</p>
<% else %>
Unfortunately, your Google Analytics import for <%= @site_import.site.domain %> did not complete successfully. Sorry about that!
<br /><br />
Please try to do the import once again. Sometimes the Google Analytics API just randomly returns empty data. It's intermittent and random. Trying to do the import again may return what you need.
<%= if ee?() do %>
<br /> <br />
<p>
Unfortunately, your Google Analytics import for <%= @site_import.site.domain %> did not complete successfully. Sorry about that!
</p>

<p>
Please try to do the import once again. Sometimes the Google Analytics API just randomly returns empty data.
It's intermittent and random. Trying to do the import again may return what you need.
</p>

<p :if={Plausible.ee?()}>
Please reply to this email to let us know if you're still experiencing issues with the import.
<% end %>
</p>
<% end %>
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
<%= @invitation.email %> has accepted your invitation to <%= @invitation.site.domain %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :settings_general, @invitation.site.domain)}>Click here</a> to view site settings.
<p>
<%= @invitation.email %> has accepted your invitation to <%= @invitation.site.domain %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :settings_general, @invitation.site.domain)}>Click here</a> to view site settings.
</p>
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
<%= @invitation.email %> has rejected your invitation to <%= @invitation.site.domain %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :settings_general, @invitation.site.domain)}>Click here</a> to view site settings.
<p>
<%= @invitation.email %> has rejected your invitation to <%= @invitation.site.domain %>.
<a href={Routes.site_url(PlausibleWeb.Endpoint, :settings_general, @invitation.site.domain)}>Click here</a> to view site settings.
</p>
26 changes: 16 additions & 10 deletions lib/plausible_web/templates/email/new_user_invitation.html.heex
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
<%= @invitation.inviter.email %> has invited you to join the <%= @invitation.site.domain %> site on <%= Plausible.product_name() %>.
<a href={
Routes.auth_url(
PlausibleWeb.Endpoint,
:register_from_invitation_form,
@invitation.invitation_id
)
}>Click here</a> to create your account. The link is valid for 48 hours after this email is sent.
<br /><br />
Plausible is a lightweight and open-source website analytics tool. We hope you like our simple and ethical approach to tracking website visitors.
<p>
<%= @invitation.inviter.email %> has invited you to join the <%= @invitation.site.domain %> site on <%= Plausible.product_name() %>. <a
phx-no-format
href={
Routes.auth_url(
PlausibleWeb.Endpoint,
:register_from_invitation_form,
@invitation.invitation_id
)
}
>Click here</a> to create your account. The link is valid for 48 hours after this email is sent.
</p>

<p>
Plausible is a lightweight and open-source website analytics tool. We hope you like our simple and ethical approach to tracking website visitors.
</p>
Loading
Loading