Rules and Limits
Understanding campaign rules, referral constraints, and plan-level quotas that govern how Recomly works.
Campaign rules
A campaign must be active to accept new referrals
Friends can only submit via an advocate's referral link when the campaign is in active status. Submissions are rejected when the campaign is paused or deleted, and the friend sees a clear message explaining why.
Expiry dates are enforced at submission time
If a campaign has an expiry date, friend submissions are rejected after that date passes. Referrals that were already submitted before expiry remain open and can still be converted — expiry only blocks new submissions.
Advocates cannot refer themselves
If an advocate submits their own email address via their referral link, the submission is rejected. This is enforced at the API level.
An advocate cannot refer the person who referred them
If advocate B was originally referred by advocate A, advocate B cannot submit advocate A's email as a friend. This prevents simple referral ping-pong between two people.
A friend who is already an advocate cannot be referred again
If someone is already enrolled as an advocate on a campaign, their email cannot be submitted as a new referral friend on that same campaign. A person cannot hold both roles simultaneously on the same campaign.
Advocate rules
One advocate per email per campaign
You cannot invite the same email address to the same campaign twice. If you need to re-invite someone (e.g. they lost the email), remove them and invite them again.
Advocate uniqueness is per campaign, not per tenant
The same customer can be an advocate in multiple campaigns simultaneously. This is intentional — you might run a "lawn care" campaign and a "snow removal" campaign at the same time and want the same loyal customers in both.
Referral rules
One pending referral per (advocate + friend) per campaign
An advocate cannot submit the same friend email twice on the same campaign while a referral is still active (pending or converted). If the friend's referral has already been submitted by that advocate, the second submission returns an error message: "You have already referred this person."
This rule is enforced at the friend submission form level.
Per-advocate referral limit
Each campaign has a configurable maximum number of total referrals a single
advocate can send. Both pending and converted referrals count toward this
total — it is a lifetime cap per advocate per campaign, not a concurrent
limit. The default is 10 referrals per advocate. Only expired referrals are
excluded.
The limit can be changed per campaign up to a maximum of 200. The platform enforces a hard ceiling of 200 regardless of the campaign setting.
Different advocates can refer the same friend
Two different advocates can both refer the same friend to the same campaign.
Both referrals are created in pending status. When you mark one as converted,
the other is automatically expired. See
Duplicate referrals and attribution for
how the winning advocate is determined.
Referrals are per campaign, not per tenant
The same friend (by email) can be a pending referral in multiple campaigns at the same time. Recomly does not do cross-campaign de-duplication.
Quota limits by plan
| Resource | Starter | Growth | Pro | Enterprise |
|---|---|---|---|---|
| Campaigns | 1 | 3 | 10 | Custom |
| Advocates (total across all campaigns) | 50 | 100 | 1,000 | Custom |
| Team users | 1 | 2 | 5 | Custom |
| Audit log retention | 14 days | 90 days | 365 days | Custom |
Campaign quota is measured by total campaigns ever created (including deleted ones), not by how many are currently active.
Advocate quota is measured across all campaigns combined. If you have 3 campaigns and each has 20 advocates, that's 60 against your quota.
What happens when you hit a quota
| Quota | Effect |
|---|---|
| Campaigns | "New campaign" button is disabled |
| Advocates | "Invite advocate" button is disabled on all campaigns |
| Users | "Invite user" button is disabled on the Users page |
Recomly enforces quotas on the backend as well — the UI buttons are disabled as a convenience, but the API also rejects requests that would exceed the limit.
To increase your limits, upgrade your plan or contact us for an Enterprise arrangement.

