How can I gather pregnancy-related data to send emails related to their trimester?

  • 23 March 2023
  • 7 replies

Badge +1

The Situation

I am building a life-time order flow for a pregnancy-related products. We currently ask people their stage, but this does not give us enough detail.

Instead, I need to create a property that allows me to estimate their approx. birth week by asking them how many weeks they are.

The idea is to have an integer property “weeks_pregnant_at_sign_up”

I will attempt to get them to complete this on signup and if they don’t prompt them to complete this via emails.

The Goal

I need to create two custom integer properties without assigning a value via a subscriber’s profile as I do not know what this is. 

One will be: “weeks_pregnant_at_sign_up”

Another is: “estimated_weeks_till_birth” - which can positive and negative.

I will then have a Flow which runs every day updating “estimated_weeks_till_birth” which I will use in my flows to recommend relevant products, tips and other information.

The Questions

#1. Is there an easy way (not using an API ideally) to create the two integer values properties without doing it via a profile and without creating it on the signup form?


#2. Can I have a conditional block on a signup form to only show the “weeks_pregnant_at_sign_up” field based on the result of another form element?



Best answer by Taylor Tarpley 24 March 2023, 15:49

View original

7 replies

Userlevel 7
Badge +60

Hi there @BenAdams


Thanks for sharing your question with us!


Is there a reason why you wouldn’t want to ask for the due date originally in your form instead of the week they are when they sign up? Essentially, our date-triggered flows, often used for birthdays, anniversaries etc, use the process of extracting an exact date and then working back from that date to create flows accordingly to share information or products a user might need until that specific date. We even have a pregnancy due date as a possible option of how to use our date-triggered flows! 


Utilizing this specific flow and gathering the due date instead will allow you to accomplish your goal easier as you will only have to collect one piece of data for what you want to accomplish. This information i.e. the due date will have to be collected via a signup form. Additionally, while flows can update certain profile properties for a user, having a flow update a property daily isn’t a use case they were created for or can carry out. 


When using date properties, Community champion @retention, shares helpful tips when collecting this information that I’d recommend checking out below:

  • Make sure the Date Format you store in the Custom Property is in the format that Klaviyo understands.  You can see documentation about it here: Acceptable date and timestamp formats for profile and event properties
  • Sometimes when you insert a “Date” into a Custom Property its interpreted as a “String” so make sure it’s formatted consistently to be recognized as a Date.
  • This one is silly, but I’ve seen some Dates accidentally hard-coded to a specific Year, or the year isn’t passed in (e.g. Birthdays where they don’t ask for the Year).  Make sure to fully qualify the date with a Year or adjust the Year for the correct Year.  


Finally, here are other threads related to pregnancy-related marketing that I think would be insightful to investigate to know how others are using Klaviyo for a similar use case! 


Thanks for participating in the Community!


Userlevel 7
Badge +59

@Taylor Tarpley thanks for the mention and reference.  I was just going to mention too that I think we had a similar question as  @BenAdams in the past about date triggered Flows for almost an exact use case in a pregnancy related brand.  Looks like you found it here:


Badge +1

Thanks for that.


@Taylor Tarpley - I am trying to do something similar but with weeks before and after due date. Would i need to set up a new flow per week? Additionally, when you said “We even have a pregnancy due date as a possible option of how to use our date-triggered flows!” did you mean there is a pre-set flow for this? Can you please help me locate it? 


Thank you!


Thanks for asking i was really waiting for this.

Userlevel 7
Badge +60

Hello @eva26,

I believe @Taylor Tarpley had meant that pregnancy due date was a common example we highlighted in our How to create a date property-triggered flow Help center article. 

In regards to your other question, you wouldn’t need to actually create a new flow per week. Instead, you should be able to setup a single date triggered flow that would send out emails/SMS weeks prior to the due date and after the due date. 

I believe the key to understanding this is that a date triggered flow can be setup to count down to this specific date.

For example, setting up your pregnancy due date triggered flow to trigger 9 months prior to the due date. This would then allow you to add in time delays of when you want to send out your messages in relation to the due date. I.E. if you wanted to send out a message 6 months before someone’s due date, then you can use a 3 month time delay after the flow trigger. 

Similarly, to send out follow up emails for after the due date, you can simply add time delays after the target date delay step. 

If you haven’t already, I believe taking a look through some of the resources I’ve linked below in addition to the How to create a date property-triggered flow Help center article would be helpful to understanding this strategy:

I hope this helps!



Someone suggest me this that:

Creating the two integer properties without using an API or the signup form can be challenging. However, one possible approach is to use a combination of event tracking and a backend system to update the properties.

Here's a high-level outline of the process:

  • Implement event tracking: When a user signs up, track the event and include the information about the number of weeks pregnant. This can be done using JavaScript or any other tracking mechanism available to you.

  • Set up a backend system: Create a backend system that listens for the signup event and extracts the number of weeks pregnant from the event data. This backend system should have access to your marketing automation or customer relationship management (CRM) platform.

  • Update the properties programmatically: Once the backend system has the number of weeks pregnant, it can programmatically update the "weeks_pregnant_at_sign_up" and "estimated_weeks_till_birth" properties for the user in your marketing automation or CRM platform. This can typically be done using APIs provided by the platform.

By using this approach, you can update the properties without explicitly assigning a value via the subscriber's profile or signup form. Instead, the values will be extracted from the event data and updated programmatically.

#2. Having a conditional block on a signup form to show the "weeks_pregnant_at_sign_up" field based on the result of another form element is generally possible, depending on the capabilities of your form builder or signup form software.

You would need to check if your form builder or software provides conditional logic features. With conditional logic, you can define rules that determine when thesambadlottery certain form fields should be shown or hidden based on the user's input or selected options.

Typically, you would set up a condition that checks the result of the other form element (e.g., a checkbox or dropdown) and specify that if a certain condition is met, the "weeks_pregnant_at_sign_up" field should be shown. Otherwise, it would remain hidden.

Please consult the documentation or support resources for your specific form builder or signup form software to determine if it offers conditional logic capabilities and how to set them up.

Remember that the availability of this feature may vary depending on the tool you are using, so it's important to explore the capabilities of your chosen form builder or software.