Mastering Form Submission Timestamps in Shopify Flow: A Developer's Guide
Ever needed to know the exact moment a customer filled out a form on your Shopify store? Perhaps for rapid lead follow-up, efficient customer service, or simply better data tracking. While Shopify Flow and Shopify Forms are powerful tools for automating tasks and collecting customer data, getting a precise date and time for form submissions into your internal notifications can be surprisingly tricky. This common hurdle recently sparked a valuable discussion in the Shopify Community, and we're here to break down the problem and reveal the clever workaround.
The Mystery of the Missing Time: Why formSubmittedAt Shows 00:00
Many merchants, like Thomas (hello_3340) in a recent Shopify Community thread, naturally turn to the metaobject.formSubmittedAt variable. It sounds perfect, right? You'd expect it to contain a full timestamp, which you could then format using Liquid's date filter inside your Shopify Flow email template, like this:
{{ metaobject.formSubmittedAt | date: "%Y-%m-%d %H:%M" }}
This snippet should output something like 2026-05-14 14:32. However, Thomas quickly reported back that while the date was correct, the time component stubbornly remained 00:00. This isn't a bug in your Liquid code, but rather a nuance in how Shopify Forms sometimes stores and exposes this field.
Moeed, a helpful expert in the community, clarified this crucial insight: "Ah, that’s a trick of how Shopify Forms exposes the metaobject field, formSubmittedAt is sometimes stored as a date-only field rather than a full datetime, which is why the time portion always shows 00:00 regardless of the format string." It turns out that formSubmittedAt, despite its name, can occasionally arrive in Flow as a date-only field, stripping away the crucial time information before it even reaches your Liquid filter. Annoying, but not insurmountable!
The Savvy Workaround: Leveraging "now" in Shopify Flow
Since the formSubmittedAt variable can be unreliable for capturing the time component, Moeed proposed a brilliant alternative: use the current run time of the Flow itself. The good news is that Shopify Flow triggers almost instantaneously upon a form submission. This means the time at which the flow *runs* is virtually identical to the time the form was submitted.
The solution is simple and elegant:
{{ "now" | date: "%Y-%m-%d %H:%M" }}
This simple change ensures you capture a real-time component, giving you the precise hour and minute you need. It effectively bypasses the limitation of the formSubmittedAt field by capturing the timestamp at the moment the automation is executed.
Implementing the Workaround Step-by-Step:
- Access Shopify Flow: From your Shopify admin, navigate to Apps > Shopify Flow.
- Select Your Workflow: Open the Flow that is triggered by a Shopify Form submission (e.g., "Form Submitted").
- Locate the Email Action: Find the "Send an internal email" action within your workflow.
- Edit the Email Body: Click to edit the content of your internal email.
- Replace the Timestamp Variable: Find where you were attempting to use
{{ metaobject.formSubmittedAt | date: "%Y-%m-%d %H:%M" }}and replace it with{{ "now" | date: "%Y-%m-%d %H:%M" }}. - Save Your Flow: Ensure you save your changes to the Flow.
Tackling Timezones and the DST Dilemma
While {{ "now" }} provides an accurate timestamp, it defaults to Coordinated Universal Time (UTC). For many businesses, especially those operating in specific regions, converting this to a local timezone like Central European Time (CET) or Central European Summer Time (CEST) is essential for clarity and operational alignment.
Shopify Flow's Liquid engine allows for basic time adjustments using the date_plus filter. For example, to convert UTC to CET (UTC+1), you would use:
{{ "now" | date_plus: "1 hour" | date: "%Y-%m-%d %H:%M" }}
Here's where it gets a little more complex: Shopify Flow doesn't have a native, automatic Daylight Saving Time (DST) filter. This means you'll need to manually adjust the offset twice a year (e.g., from +1 hour for CET to +2 hours for CEST during summer, and back again).
For CEST (UTC+2 during summer), the code would be:
{{ "now" | date_plus: "2 hours" | date: "%Y-%m-%d %H:%M" }}
For most internal notifications, accepting a one-hour discrepancy for half the year, or simply picking the summer offset (e.g., +2 hours for CEST) and noting it's CEST, is often the pragmatic solution. Building a conditional check based on the date to switch between 1 and 2 hours is possible but adds significant complexity to your Flow, which might be overkill for internal email notifications.
Why Accurate Timestamps Matter for Your Shopify Store
Accurate timestamps are more than just a nice-to-have; they are critical for several aspects of your e-commerce operations:
- Rapid Lead Follow-up: Knowing the exact submission time helps sales teams prioritize and respond to leads quickly, improving conversion rates.
- Customer Service Efficiency: When a customer queries a form submission, having the precise timestamp allows support staff to locate and address issues faster, enhancing customer satisfaction.
- Data Integrity & Reporting: For analytics and reporting, consistent and accurate time data ensures your insights are reliable, leading to better business decisions.
- Compliance: In some industries, precise record-keeping of customer interactions and consent timestamps is a regulatory requirement.
Conclusion: A Simple Fix for a Common Problem
The Shopify community, once again, proves to be an invaluable resource for navigating the nuances of the platform. While the formSubmittedAt variable might initially mislead, the {{ "now" }} Liquid filter combined with manual timezone offsets provides a robust and easily implementable solution for capturing accurate form submission timestamps in your Shopify Flow internal emails. This simple adjustment can significantly enhance your operational efficiency, improve data quality, and ensure your team has the precise information they need, exactly when they need it.
If you're looking to optimize your Shopify store's integrations, streamline development processes, or need expert guidance on complex migrations, don't hesitate to reach out to the Shopping Cart Mover team. We're here to help you unlock your store's full potential.