OccasionlyGo to dashboard →

Occasionly

Documentation

How to set up and use Occasionly. This covers embedding the widget, configuring reminders, navigating the dashboard, and understanding what each plan includes.


How Occasionly works

Occasionly is a widget you embed on your store. Your customers use it to save the names and dates of the people they buy for, such as a partner's birthday or a parent's anniversary. Before each date arrives, Occasionly sends them a reminder email branded to your store. They come back to order in time, and you get the repeat sale without any manual effort on your part. One customer can save multiple recipients, so the compounding effect builds over time as your customer base grows.


Embedding the widget

The widget lives at a unique URL for your store. You can find your widget URL and the ready-to-paste iframe snippet in your dashboard under Settings, at the bottom of the page in the Widget embed section.

Getting your embed snippet

Log in to your dashboard and go to Settings. Scroll to the Widget embed section at the bottom. You will see your widget URL and an iframe snippet. Click “Copy” on the snippet and paste it anywhere on your store where you want the widget to appear.

The snippet looks like this, with your store's unique slug in the address:

<iframe id="occasionly-your-store-slug" src="https://www.occasionly.app/embed/your-store-slug" title="Save the dates of the people you buy for" width="100%" height="1100" style="border:0;max-width:100%" loading="lazy"></iframe> <script> (function () { try { var f = document.getElementById("occasionly-your-store-slug"); var o = new URL(f.src).origin; window.addEventListener("message", function (e) { try { if (e.source !== f.contentWindow || e.origin !== o) return; var d = e.data; if (!d || d.type !== "occasionly:resize" || typeof d.height !== "number" || !isFinite(d.height) || Math.abs(d.height) !== d.height) return; f.style.height = Math.min(2400, Math.max(300, Math.ceil(d.height))) + "px"; } catch (x) {} }); } catch (x) {} })(); </script>

The form resizes itself to fit, so you will not see a scrollbar. The small script after the iframe is what does that, so paste both parts together. If your page builder removes the script tag, the form still works; it just keeps a fixed height of 1100 pixels.

What your customers see

The widget shows your store name and a short prompt. Customers enter their own name and email, then add the people they buy for, giving each person a name and a date. On the Pro plan, the widget is fully white-label with no Occasionly branding. On Starter, a small “Powered by Occasionly” note appears at the bottom. The widget adapts to your primary colour, which you set in Settings.

Where to embed it

Any page on your store works. Good places include a dedicated “Birthday reminders” page linked from your nav, the footer, a thank-you page after checkout, or a pop-up triggered after a purchase. The more visible it is, the faster your customer list grows.


The popup on your store

The popup is an optional extra that invites your visitors to save the dates of the people they buy for. It can appear as a small popup, as a floating tab at the bottom left of the page, or as both. A visitor who uses it goes through your normal sign-up form, so they get the same confirmation email and the same reminders as everyone else. It is switched off until you turn it on.

Setting it up

Open Popup in your dashboard. Choose what visitors see, where the popup box appears, how long to wait before it shows and how long to leave a visitor alone after they close it. Then write the headline, the message, the button label and the tab label, and pick an accent colour, or leave the colour empty to use your store colour. The preview beside the form is the real popup running in a small stage on the page. It sends nothing and counts nothing. When you are happy, switch on Show the popup on my store and press Save. Changes can take a few minutes to reach your store.

Adding it to your store

The Popup page shows a one line snippet with a copy button. You paste it once, and after that anything you save on the Popup page reaches your store by itself. The snippet looks like this, with your store's unique slug:

<script src="https://www.occasionly.app/occasionly-popup.js" data-slug="your-store-slug" defer></script>

In Shopify, open Online Store, then Themes, then Edit code. Open theme.liquid, paste the snippet just before the closing body tag, and press Save. The popup never shows on checkout or cart pages, inside the Shopify theme editor, or inside a frame. If the popup does not appear on your store after a few minutes, check that the snippet is still in your theme.

The Powered by Occasionly line

The popup carries a small Powered by Occasionly line. The Starter plan always shows it, so the switch is locked on. On the Pro and Business plans you can switch it off on the Popup page.

The numbers on the Popup page

The Popup page also shows the last 30 days: how many times the popup box was shown, how many times the form was opened, and how many signups came through the popup or the tab. Days are counted in Sydney time. The signup figure includes repeat customers, and all of these numbers are approximate, so treat them as a guide rather than an exact count.


How reminders work

Each occasion generates two reminder emails, sent on separate days before the date. Occasionly runs a check every day at 7:00 am AEST and sends whichever reminders are due that day.

Default timing

  • Reminder 1 fires 14 days before the occasion date.
  • Reminder 2 fires 5 days before the occasion date.

Both reminders track independently. If Reminder 1 was already sent, it will not send again, but Reminder 2 will still fire on its own schedule. You can enable or disable Reminder 2 entirely in Settings.

Changing the lead times

Go to Settings and find the Reminder settings section. You can set any lead time between 1 and 60 days for each reminder. Changes apply from the next cron run at 7:00 am AEST, so occasions already past that window for the current year will not re-send.

What the reminder email contains

Each email is sent to your customer and includes the recipient's name, the occasion type, how many days remain, and a prompt to order in time. On the Starter plan, emails are sent from Occasionly's shared address. On every plan you can set a reply-to email address in Settings, so customers who reply reach you. On every plan you can also set a custom sender name, which shows as who the email is from, and emails are still sent from Occasionly's address. On the Business plan you can also send from your own domain, so emails arrive from an address like hello@mail.yourstore.com. The steps are in the next section.

Sending from your own domain (Business)

Go to Settings and find the Sending domain card. Enter the address you want your emails to come from, for example hello at mail.yourstore.com, and press Connect domain. We show you a short list of DNS records, each with a Name and a Value you can copy. Add them at the company that manages your domain, which is usually where you registered it. DNS changes can take up to a few hours to take effect, and you can press Check again at any time. A subdomain such as mail.yourstore.com is the safest choice, though your main domain works too.

Until your domain shows as Verified, your emails keep sending from Occasionly's address with your business name and reply-to, so nothing stops while you set it up. Once it is verified, reminders and confirmations are sent from your own address. We keep checking in the background, and if the records are ever removed your emails quietly go back to Occasionly's address and you will see a notice on your dashboard. If you would rather not touch DNS yourself, contact support and we will help you with the setup.

Customising your emails

On the Pro and Business plans, the Emails page in your dashboard lets you rewrite the subject and message of the first reminder, the second reminder and the confirmation email, change the label on the button, and add a promo line. Leave any field blank and that part keeps the default wording, which is shown in grey as a guide. Starter accounts can see the default emails but not change them. The preview and the Send me a test button work on every plan, and on Starter they show the default wording.

The message box holds the whole message, including the greeting. The default starts with “Hi {{first_name}},” on its own line, and if you write your own message you choose whether to greet the customer at all, because nothing is added for you. Your wording is plain text. A blank line starts a new paragraph and a single line break stays a line break. You can drop in details that change for every customer by typing a tag such as {{first_name}} or by clicking one of the tag buttons under the message. The tags are {{first_name}} for the customer's first name (or “there” if we do not have one), {{person_name}}, {{occasion}} for birthday, anniversary or special day, {{date}} such as 20 March, {{days_until}} and {{store_name}}. The confirmation email supports {{first_name}} and {{store_name}}only, because it covers several people at once, and its message appears above the list of saved dates. If you type a tag we do not recognise, or leave a brace open, you will see a message listing the tags that work before you can save. If you type a full stop straight after a tag and the value already ends in one, as in a store called “Cute Cakes & Co.”, only one full stop is shown.

The promo line appears as a highlighted block in your brand colour just above the button in both reminders. It is the same text for every customer. Subjects can be up to 120 characters, messages up to 1,500, the button label up to 40 and the promo line up to 140.

The preview beside the editor shows your wording with sample data and your store branding, and it is built by the same code that sends the real emails. The Send me a test button emails the version on your screen to your own sign-in address only, with [Test] at the start of the subject, and you can send one every 30 seconds. The button and the footer with the unsubscribe link and the link for changing or removing saved dates are added below your message automatically and cannot be edited or removed. On the confirmation email, the list of saved dates and a short line about the two reminders also sit below your message.


Your dashboard

The dashboard is at occasionly.app/dashboard. Its sections are in the sidebar.

Home

Your summary view. Shows estimated revenue from orders placed within 30 days after a reminder click (for Shopify stores with the tracking snippet, on every plan), your current plan, how many customers can receive reminders against your plan's limit, how many saved customers are being held if you are over it, and a prompt to upgrade as you approach the cap.

Occasions

Every saved occasion across all your customers, sorted by the next upcoming occurrence. Each row shows the customer's name, the recipient's name, the occasion type and date, the number of days until the next occurrence, and whether Reminder 1 and Reminder 2 have been sent for the current year.

Customers

Every customer who has submitted the widget, with their email, number of saved occasions, and the date they signed up. A customer who is saved but not being reminded because you are over your plan's limit is marked Held. You can delete a customer from this page; doing so also removes all of their saved occasions.

Widget

A quick reference page showing your widget URL and embed snippet, with copy buttons. For customisation options (colour, logo, store name), go to Settings.

Popup

Where you switch on, customise and preview the popup and floating tab for your store, copy its snippet, and see the last 30 days of numbers. The steps are in The popup on your store, above.

Settings

Controls for store branding (name, primary colour, logo URL), reminder timing (lead days, second reminder toggle), store details (store URL, the reply-to email, the sender name), and the Shopify store domain. The Account section at the bottom shows your login email and a sign-out option.


Plans

Occasionly has three plans. You can upgrade or manage your subscription any time from the dashboard home page.

Starter

Free

Reminders for up to 50 customers

Occasionly branded widget

Default email wording

Pro

$29 AUD / month

Reminders for up to 500 customers

Editable emails

Unbranded widget

Business

$99 AUD / month

No customer limit

Everything in Pro

Send from your own domain

Every plan also includes a custom sender name, a reply-to address, a test send, the second reminder and estimated revenue tracking for Shopify stores.


Email analytics and UTM tracking

Every link in an Occasionly reminder or confirmation email is automatically tagged with UTM parameters so you can see Occasionly-driven traffic in your analytics tool. The parameters added are utm_source=occasionly and utm_medium=email.

The utm_campaign value differs by email type: reminder_1 for the first reminder, reminder_2 for the second, and confirmation for the sign-up confirmation. This lets you separate the traffic from each email type in your reports.

To view this traffic in GA4, open Reports, go to Acquisition, then Traffic acquisition, and filter by Session source containing “occasionly”. In Shopify analytics, the same parameters appear under Marketing campaigns. Any tool that reads UTM parameters from the URL will pick them up automatically. If your store URL already contains UTM parameters of its own, Occasionly will not overwrite them.

Tracked links

Rather than placing the full UTM-tagged store URL directly in the email, Occasionly puts a tracked link through occasionly.app/r/... as the button destination. When a customer clicks, Occasionly logs the click and immediately redirects to your store with UTM parameters and an occ parameter appended to the URL. The occ parameter contains a token that links the click back to the email, which is how Occasionly can estimate the revenue from orders placed within 30 days after a click on that reminder.

Email prefetch requests from mail clients and known crawlers are counted separately from genuine clicks. The dashboard shows human click counts, which filter out bot traffic. This is a conservative estimate and the actual click rate may be slightly higher.


Frequently asked questions

For more answers about emails, deliverability, plans and support, see the FAQ page.

Do I need a Shopify store to use Occasionly?

No. The core product works with any store or website. You embed the widget via an iframe, which works on any platform. Estimated revenue tracking is an optional extra for Shopify stores, available on every plan. You add a small tracking snippet (a Shopify custom pixel) and Occasionly shows the estimated sales from orders placed within 30 days after a customer clicked a reminder. If you are not on Shopify, you will still get the full reminder engine and dashboard; you just will not see estimated revenue.

What happens when I reach my customer limit?

Your widget keeps working, and every new customer is still saved and still gets their confirmation email. Reminders go to your first 50 customers on Starter or your first 500 on Pro, counted by sign-up date. Customers beyond that are saved and held, and they start getting reminders as soon as there is room. Only customers who can receive your emails count, so someone who has unsubscribed or whose address has bounced does not use up a place. We email you once when this first happens, and your dashboard shows how many customers are being held. Upgrade to Pro for up to 500 customers, or Business for unlimited, any time from the dashboard home page.

How do I delete a customer?

Go to Customers in the dashboard sidebar. Find the customer you want to remove and click the trash icon on their row. You will be asked to confirm before anything is deleted. Deleting a customer also removes all of their saved occasions, so they will no longer receive reminders.

Can customers unsubscribe from reminders?

Yes. Every reminder email and confirmation email includes an unsubscribe link in the footer. Clicking it brings the customer to a page where they can confirm they want to stop receiving reminders. Once unsubscribed, they will receive no further emails from your store via Occasionly. Their record and saved occasions remain in your dashboard, shown with an Unsubscribed badge so you know not to contact them. If they sign up again through your widget, the unsubscribe is cleared and they will receive reminders as normal. Separately, if an address hard bounces (the mailbox does not exist) or a customer marks one of your emails as spam, Occasionly pauses that customer automatically so you stop sending to a dead address and protect your sender reputation. They appear in your Customers list with an “Email not working” or “Reported as spam” badge. Signing up again through your widget does not lift this pause. Customers who have unsubscribed, bounced or reported spam do not use a place in your plan's customer limit.

Can customers change or remove the dates they saved?

Yes. Every confirmation email and every reminder email has a link near the bottom that reads “You can change or remove your saved dates here.” It opens a private page for that customer and your store, without signing in. On it the customer can change a saved date (the person's name, the occasion, the day and the month), add a date, remove a date, or remove all of their saved dates. The page shows your store's name, and its logo if it has one, and the customer's email address partly hidden, and it works whether or not the customer has unsubscribed. Removing a date deletes it. Removing all of a customer's dates keeps their name and email address on file with its unsubscribe record, so they still appear in your Customers list. A customer who wants their details deleted entirely can ask you or hello@occasionly.app, and you can delete a customer from the Customers page in your dashboard.

Can I use my own email address as the sender?

On every plan you can set a reply-to email in Settings, so replies from customers come to you rather than to Occasionly. On every plan you can also set a custom sender name. Those emails are still sent from Occasionly's address. On the Business plan you can also send from your own domain, so the from address is your brand's email. Add the domain in Settings, add the DNS records we show you at your domain provider, and we check them for you. Until the domain is verified, your emails keep sending from Occasionly's address with your business name and reply-to. If you would like help with the DNS setup, contact support.

How do I change my login email?

Email changes are not yet self-serve in the dashboard. Contact hello@occasionly.app and it can be updated manually.

Something is not working. How do I get help?

Email hello@occasionly.app directly.