Skip to main content

Step 2 - Recipients

This is where you set the query that determines who receives the email.

In the Recipients tab, click 'Add User Condition':

Here you can choose from a range of different user conditions. Some are unlikely to be used for email marketing.

NEED TO ADD THESE TO EACH CAMPAIGN:​

emailsubscriptionactive -** **true. Will only send emails to subscribed users.

Where applicable, add these conditions for specific email types: discount_email_subscription_active - true onboarding_emails_active - true plugins_email_subscription_active - true invoice_subscription_active - true business_booster_emails_active - true blog_subscription_active - true

Most frequently used​

created_at This is equivalent to 'signed up at'. You can specify users who were created X days, hours, minutes or seconds ago, or into the future. Currently, 10 minutes ago is the lower limit, 1 hour ago is the ideal time frame.

active -** **(Need to check definition since Volcano)

with usermailhistories/without usermailhistories Used to exclude recipients of a specific email along with the mail condition 'mail_type_not' + add value of the email you'd like to exclude:

with apps/without apps This is where you can specify app conditions: The full list of app conditions is:

  • _"apptype"/ "apptype__not" - You need to specify a value for this. The correct syntax for apps is camel case e.g. formBuilder. Add a value for each individual platform, do not comma separate the values. Add values for aliases here if needed.
  • _"created__at" - when the app was created
  • _"updated__at" - most recent update time stamp
  • "active" - check definition post-volcano
  • _"lastviewedat"_ - how we previously measured active (app last viewed within last 3 days)
  • _"aliasatleast"_
  • _"aliasatmost"_
  • _"premiumstatus"/ "premiumstatus__not" - free, premium, pro, enterprise
  • _"appformresponsescountatleast"/ "appformresponsescountatmost"/ "appformresponsescountexactly"_ - legacy from analytics emails. Check with Zac before using
  • _"deleted__at"

platform/platform_not As with 'with apps', you can specify a platform to send to exclusively, or to exclude from the recipient list. Correct syntax is to use all lower case. Add a value for each individual platform, do not comma separate the values.

with appformresponses/without appformresponses If the user model has some/no form responses (for Form Builder, eCommerce, Popup etc.)

updated_at Any time something is changed on user model e.g. unsubscribe.

with powrzillaemails/without powrzillaemails To target users who have/don't have the new POWr Mail.

with ablogs/without ablogs Can be used to target users who are in an A/B test specifically.

with usercredits/without usercredits To target users who have/don't have credits in their account.

with transactions/without transactions Wobblies with/without a transaction on a subscription

with prosubscriptions/without prosubscriptions For users who have a subscription

with appsubscriptions/without appsubscriptions Antiquated version of pro subscriptions. Not needed now - legacy pricing model for app instance upgrades.

with weeblyinstalls/without weeblyinstalls with shopifyinstalls/without shopifyinstalls with americommerceinstalls/without americommerceinstalls with bigcommerceinstalls/without bigcommerceinstalls with epagesinstalls/without epagesinstalls with woocommerceinstalls/without woocommerceinstalls

Other​

with project_updates without project_updates email email_not remember_create_at sign_in_count_at_least sign_in_count_at_most, sign_in_count_exactly current_sign_in_at last_sign_in_at current_sign_in_ip current_sign_in_ip_not last_sign_in_ip last_sign_in_ip_not credits_at_least credits_at_most credits_exactly promo_type promo_type_not promo_end first_name first_name_not last_name last_name_not partner_name partner_name_not user_image_file_name user_image_file_name_not user_image_file_size_at_least user_image_file_size_at_most user_image_file_size_exactly user_image_updated_at industry industry_not phone phone_not address_1 address_1_not address_2 address_2_not city city_not state state_not country country_not postal_code postal_code_not account_type account_type_not status status_not latitude_at_least latitude_at_most latitude_exactly longitude_at_least longitude_at_most longitude_exactly src src_not with support_calls without support_calls with created_tickets without created_tickets with feature_requests without feature_requests with app_accesses without app_accesses with credit_cards without credit_cards with surge_protector_votes without surge_protector_votes with feature_request_votes without feature_request_votes with feedbacks without feedbacks with pending_client_invites without pending_client_invites with tickets without tickets with powr_ratings without powr_ratings with admin_notes without admin_notes with user_notifications without user_notifications with app_images without app_images with credit_discount_links without credit_discount_link


Generate SQL​

Once you have set your recipient conditions, click 'Generate SQL'. This will open a new tab and display the query in SQL. It will look something like this:

Make sure to send a screenshot of this to Zac, or another engineer to check that all conditions are accurate for what you're trying to achieve.

NOTE: Make sure you're always sending to users who are subscribed to this type of campaign. If a user has unsubscribed, they should not get any emails.

  • Sparkpost substitution data is automatically added
  • Friendly forward is automatically added (auto signs in users who are logged out when clicking on a CTA)
  • Google Analytics tags are automatically added