Skip to main content

Hi Klaviyo community 👋

We’re running a women’s health-focused website with a menstrual and ovulation calendar tool: https://calculadoradedias.com/calendario-menstrual/, and we’re looking to deeply integrate Klaviyo for user behavior tracking, lead generation, and smart segmentation.

Here’s what we want to achieve:

  • Track behavior on the tool – like when a user inputs their cycle info or returns to check updates
  • Generate leads by offering email reminders for fertile windows, period predictions, and cycle tracking tips
  • Trigger personalized flows (e.g. sending a reminder 1–2 days before expected ovulation or period)
  • Segment users by cycle length, goal (e.g. tracking fertility vs managing PMS), language preference, etc.
  • Build a consent-first approach that respects user privacy and works without requiring full account signups

A few technical questions we’re stuck on:

  1. What’s the best way to track events from a custom calendar like this (JS event listener + API call to Klaviyo?)
  2. Can we pass date-based custom properties (like ovulation prediction) into user profiles?
  3. How should we structure our signup modal to collect emails contextually (post-cycle entry) without feeling disruptive?
  4. Any recommended examples or tutorials for custom web tracking (non-Shopify, non-eComm)?
  5. We’d love to hear from anyone who’s done something similar — whether for health tracking, calculators, or time-based flows.

Any ideas, guidance, or examples would be hugely appreciated

Thanks in advance!
— Jhonn Mick

Hi ​@jhonnmick,

Awesome to hear that you’re considering using Klaviyo for your business! From what you described above, we can definitely make Klaviyo work for your goals. May I ask if you’re already collecting user data, or do you plan to begin collecting it once you start with Klaviyo? If you’re already collecting info like cycle info, fertile windows, ect, it would be good to know how this is collected so I can advise on the best way to send this info over to Klaviyo!

Regarding your first question, there are a few different ways to capture info and send it to Klaviyo. The simplest way is via a Klaviyo-created sign-up form that you add to your site. You can ask questions on this form that collect a variety of profile properties, including date properties that can trigger flows. Additionally, forms like this are a great way to gain email consent from site visitors.

If you already have your own method of gathering information about your users, and don’t plan on using Klaviyo forms for this, then we’d recommend sending this data to Klaviyo via API. The Create or Update Profile API is a great way to do this. By setting up this API call to send when somebody enters their information on your site, their email/phone number will be sent to Klaviyo, and you can also configure this API to send profile properties to the new Klaviyo profile (like cycle length, start date, ect). So this also answers your second question - you can pass date-based properties into Klaviyo. Just make sure that they’re properly formatted as a date property, per this guide

For question 3, it would be good to have a bit more info! You mention that you’d like to collect emails post-cycle entry. This would assume that a user shared some information with you and you collected it, before they shared their email, correct? If this is the case, then it’s unfortunately not possible to capture cycle data before email is captured, and then go back at a later date to capture the person’s email.

If you’re looking to integrate with Klaviyo, but aren’t using Shopify or another common ecommerce platform, you can take a look at our guide here which goes over how to integrate your site with Klaviyo and track visitor activity. In general, I’d recommend browsing through our developer site; we have a bunch of articles on how to set up Klaviyo on a custom site!

Let me know if I can answer any additional questions about the above! Ideally, some other members of the community who’ve done something similar can chime in as well!