Changelog

changelog

Every week we summarize what happened in Ecomail. New features, minor and major improvements or bug fixes.

API stats filtering and coupon fixes

Campaign and automation statistics API endpoints now support date filtering, three fixes for discount coupons (validity date display, sent coupon export, CSV import), fix for sending templates with an unavailable product, and fix for loading contact names from Ecwid.

IMPROVEMENT

API: campaign and automation statistics can be filtered by date

The GET /campaigns/{id}/stats and GET /pipelines/{id}/stats endpoints now support optional from_date and to_date parameters in YYYY‑MM-DD format. The same parameters were also added to the stats‑detail endpoints, where previously only from_date worked. Filtering lets you retrieve statistics day by day without loading the full history.

FIX

Discount coupons: three fixes for display, export and import

The merge tag for the validity date of the last sent discount coupon was not displayed in automation emails ‑ fixed. The export of sent coupons in a folder was not sent after clicking the button ‑ fixed, the export is now delivered reliably. Importing coupons from a CSV file could fail in certain cases ‑ fixed.

FIX

Automations: templates with an unavailable product are now sent

If a template in an automation contained a product condition (e.g. last purchased product) that was not available in the feed or did not meet the specified condition, the email was not sent and the automation failed without an error message. The template is now sent even when the product condition is not met ‑ the product is omitted from the email, but the rest of the template is delivered.

FIX

Ecwid: contact name now loads correctly

The Ecwid integration was loading the contact name from an API field that Ecwid stopped populating. We switched to the current field per Ecwid's corrected documentation.

API: next field in automations, new NOW() function, EMA credit transfer and fixes

Automation API endpoints now return a next field describing step sequencing, a new endpoint for listing product feeds, the ability to create a template directly from an MJML definition, the NOW() function and time support in the Date field, EMA credit transfer between agency and sub‑accounts, fix for parent segment exclusion, unified time zones in the Overview, fix for exporting large automations, and fix for product codes in Eshop‑rychle.

NEW

API: the next field describes step sequencing in automations

The GET /pipelines/{id}/actions and GET /pipelines/{id}/actions/{actionId} endpoints now return a next field for each step containing the IDs of the following steps, so the full automation graph can be reconstructed from the response. For most step types, next is an array of IDs (usually one, or empty/null at the end of a branch). For branching steps, next is an object with one array of IDs per output ‑ yes / no for the Condition step, the variant keys for the Split test step, and default / quarantine_skip for the Send email step.

NEW

API: new endpoint for listing product feeds

A new GET /feeds endpoint returns the list of all product feeds in the account, including the feed type, URL, number of loaded products, and any error from the last processing run. The id field from the response can be used as feed_id for the feed refresh endpoint.

NEW

API: a template can now be created directly from an MJML definition

The POST /templates endpoint now accepts an mjml field in addition to html, using the same JSON format as the Ecomail template editor. A template created from an MJML definition is fully editable in the drag‑and-drop editor ‑ Ecomail compiles the definition to HTML automatically. A template created from raw HTML remains editable only in the code editor. The html and mjml fields cannot be combined ‑ exactly one must be sent.

NEW

Automations: the NOW() function and time support in the Date field

Alongside the existing CURDATE() function, NOW() is now available, returning the current date and time in the format YYYY‑MM-DD HH:MM:SS. The Date field type now accepts this extended format with time in addition to the plain date ‑ useful for more precise logging, for example the exact time of a registration or purchase.

NEW

Agencies: EMA credit transfer between agency and sub‑accounts

Agency admins can now transfer EMA credits between the agency account and sub‑accounts the same way it already works for email and SMS credits ‑ in both directions, in the Manage sub‑account section. A transfer cannot be made if the agency or the affected sub‑account currently has an unsettled EMA session in progress (chat or a scheduled checkup) ‑ in that case you need to wait for it to finish.

IMPROVEMENT

Segmentation: parent segment exclusion now works correctly

When a segment with an Exclude from segment condition was used as a parent segment, the resulting segment ignored that exclusion and returned contacts that should have been excluded. Exclusion from a parent segment is now respected.

FIX

Overview: times now match the rest of the app

The time of the last sent campaign in the Overview section was displayed in UTC, while the Campaigns section showed the same moment in local time (CET/CEST). Time display in the Overview is now unified with the rest of the app.

FIX

Eshop‑rychle: product code in orders now matches the catalogue

For some orders from the Eshop‑rychle integration, the product code stored with the order differed from the code in the product catalogue, so the product could not be matched in the data feed. Codes are now stored consistently and matching against the catalogue works reliably.

IMPROVEMENT

Automations: exporting large automations is faster

Exporting an automation with a large number of steps and contacts could fail or take an unreasonably long time. Export processing is now optimised and handles large automations reliably.

Dynamic custom event schema, dark mode in the editor, instant A/B test evaluation and fixes

Segmentation and automation triggers now understand custom event property data types and adapt available condition operators, template preview in dark mode, option to immediately evaluate an A/B campaign test, fix for scrolling in the HTML editor, faster automation step progression, GA4 message fix and tag input fix.

NEW

Segmentation and automations: dynamic custom event schema with typed operators and autosuggest

Segmentation and automation triggers now understand custom event property data types. The platform automatically detects the property type from account data (number, date, boolean, array, text) and adapts the available condition operators ‑ instead of plain text comparison, ranges, dates, numeric operators and array comparisons are now available. The Category, Action, Label, Property and Value fields offer autosuggest directly from account data ‑ start typing and the platform suggests existing values. Works in segmentation and in the Custom event trigger.

NEW

Editor: template preview in dark mode

The template preview mode now has a Dark mode toggle. When enabled, background and text colours in the preview are transformed following Gmail's logic ‑ dark backgrounds lighten, light ones darken, and text is recoloured for contrast. Images remain unchanged. This is purely a display mode in the editor ‑ nothing is written to the saved template or the sent campaign. The toggle resets to light mode on each entry to the preview.

NEW

A/B campaigns: option to evaluate the test immediately

For A/B campaigns in the Evaluating state, a new Evaluate now action is available. The campaign no longer needs to wait for the full evaluation period to elapse ‑ the system evaluates the current variant results and sends the winning variant to the remaining recipients. The action is irreversible and requires confirmation in a dialog. It is also possible to cancel the evaluation ‑ the winning variant will not be sent.

FIX

Google Analytics: correct message for connected GA4 accounts

Accounts with a correctly connected GA4 integration were incorrectly shown a message about unsupported Google Analytics Universal in campaign reports. The message now only appears for accounts that genuinely do not have GA4 connected.

FIX

Automations: progression to the next step happens in seconds

In some automations, sending an email and progressing the contact to the next step took considerably longer than the usual seconds. Automation step processing is fixed and now runs in the expected time.

FIX

HTML editor: preview scrolling works in all browsers

In the HTML template editor, preview scrolling did not work in Firefox, Safari or after expanding the preview to full width. In some cases the scrollbar could not be released or the preview could not be shrunk back. Preview scrolling now works correctly in all supported browsers.

FIX

Tags: input behaves correctly when adding a tag

When adding a tag to a contact, confirming with a comma did not clear the input and the new tag did not immediately appear as checked in the contact detail. Both are fixed.