Behavly

Follow up the moment they outgrow their plan.

Your product sends an event when someone reaches a limit, Behavly writes them an email with their plan in it, and the path can end when they upgrade.

A limit reached, a moment to talk.

Upgrade prompts in Behavly are a Trigger Campaign. Your backend sends an event like limit_reached with the person’s email and details such as their plan, and the campaign takes them in the moment it arrives. The details can fill the email, a wait can hold until they visit pricing, and the path can end when they upgrade.

From the limit to the upgrade.

Your backend sends the event when someone reaches a limit, with their plan. They enter at once, a wait can hold until they visit /pricing, and reaching the goal, upgraded, can end their path.

Send it from your server.

Your backend sends the event with the person’s email, using a key with Send events only access. On your website, the snippet’s behavly.track starts the same campaigns for a visitor your site has identified.

Waits that wait for the person.

A wait can hold until they visit a page or do an action in your product, and continue the moment they act, or after the limit you set.

The path reviews itself every Monday.

Once a campaign has sent 20 emails, Path review reads its results and suggests what to change. Approve one and Behavly makes it; nothing changes until you do.

From a limit to a bigger plan.

  1. Make a trigger.

    Give it a Name, like Limit reached. The Key follows it (limit_reached): it is what your code sends. Under Payload, list the details each event carries, like the plan and the limit.

  2. Send the event from your server.

    Create an API key with Send events only access, keep it on your server, and send each event to send_event with the person’s email and its details.

  3. Their plan goes into the email.

    Each payload field can go into the emails as a merge tag, like {{event.plan|your plan}}. It works in the subject, plain-text emails and designed ones.

  4. It waits for what they do.

    A wait can end the moment they visit /pricing, not only when time passes, and a branch checks whether they did an action in your product within the days you set.

  5. It ends when they upgrade.

    Name the Goal as an action in your product, such as upgraded. Behavly credits each person who reaches it to the last email they got, and reaching the goal can end their path.

The rules around every upgrade email.

If it happens again
Again after a break: a repeat while they are on the path is noted, and 7, 30 or 90 days after leaving they can go through again.
Merge tags
{{event.plan|your plan}} fills in the plan the event carried; the words after the | are used when it carried none.
Goal
Name an action or a page, and each person who reaches it is credited to the last email they got, counted up to 7 days after their last email.
Across campaigns
One person on several paths never gets an email from each. By default, different campaigns stay 24 hours apart, and nobody gets more than 3 emails in any 7 days.
Send events only
A key with this access sends events and nothing else, so if it ever leaks it cannot read your contacts or change anything.
Safe retries
Send an idempotency_key when you retry: the same key twice is one event, counted once.

Questions about upgrade emails.

01

Does Behavly know my plan limits?

No. Your product knows them and tells Behavly: your backend sends an event when someone reaches a limit, with their email and details like the plan.
02

What if they reach the limit again tomorrow?

With Again after a break, a repeat while they are on the path is noted on it. 7, 30 or 90 days after leaving, they can go through again.
03

Can I send the event from the browser?

Not with a key: Behavly refuses an event sent from a browser with a key, because a key in a web page can be copied by anyone. On your website, use the snippet’s behavly.track instead.

Meet the Behavly Agent.

It reads what each user does in your product and writes their follow-ups. Free to start, no credit card.