Troubleshooting Dynamic Assets
Dynamic Assets rely on an external source file, a server connection, and correct placeholder syntax working together. When something goes wrong, it's usually one of a handful of common issues. This article helps you diagnose and fix them.
In this article
What happens when something goes wrong
If Apsis One encounters an error when fetching Dynamic Asset content — either at the time of adding the Asset to the email or at send-out — the behaviour is:
⚠️ The Row is not added (it is simply removed from the email)
If the source file cannot be fetched or is invalid, the Row containing the Dynamic Asset is removed entirely from the sent email. The email is still sent, but without the Dynamic Asset content. The recipient will not see an error message — the Row simply won't be there. If you have chosen the setting to add space rows in your dynamic assets - they will still be there!
This means it's critical to test your Dynamic Asset before sending, especially when using "At send out" — because if the source goes down between scheduling and sending, your email will arrive with the dynamic content missing.
⚠️ Error message at the top of the page in the email editor when dropping the asset in the email
Check that you have a feed url in the asset, and that the settings match the type of feed you are using. See below for more extensive troubleshooting.
Common errors and how to fix them
Error / symptom | Likely cause | How to fix |
Source file not found | The URL is incorrect, the file has been moved, or the server is down. | Verify the URL in a browser or REST API tool. Check that the file is publicly accessible. |
Source server returns an error | The server returned a 4xx or 5xx HTTP status code. | Check the server logs. Ensure the URL returns a 200 OK status. Test with a tool like ReqBin. |
Source file is too large | The file exceeds 10 MB. | Reduce the file size by filtering items before hosting. Use a pre-filtered version of the feed for Apsis One. |
Source file is in the wrong format | The file is not valid JSON, XML, or RSS — or the server returns an unsupported Content-Type header. | Validate the file with a JSON/XML validator. Ensure the server responds with one of: |
Server takes too long to respond | The source server didn't respond within 5 seconds. | Check your server's performance. Consider caching the feed on a faster CDN or hosting provider. |
Placeholders show as raw text | The placeholder name doesn't match any property in the source file, or the source hasn't been fetched yet. | Verify that placeholder names exactly match the property names in your source (case-sensitive). Ensure you've clicked "Fetch all" or "At send out". |
Images don't load | The image URLs in your source file are broken, expired, or pointing to a server that blocks external requests. | Test each image URL directly in a browser. Ensure they return valid image files (PNG, JPG, JPEG, or GIF). |
Empty rows or blank content | The source file has fewer items than the Number of items setting, or the Property path is incorrect. | Verify the Number of items setting in Loop settings. Check the Property path — make sure it points to the correct array in your source. |
HEAD request not supported | The server hosting your source file doesn't accept HEAD requests. | Test with a REST API tool (send a HEAD request to your URL). If your server doesn't support HEAD, you'll need to configure it or use a different hosting solution. |
XML error with g: tags | Your XML source contains namespaced tags (e.g. | Remove or replace the namespace prefix in your XML before using it as a source. Alternatively, create a pre-processed version of the feed without namespace prefixes. |
Source file validation checklist
Before connecting a source file to your Dynamic Asset, verify the following:
Check | How to verify |
Valid format | Paste your JSON into JSONLint or your XML into an XML validator. Fix any syntax errors. |
File size under 10 MB | Check the file size. If it exceeds 10 MB, create a filtered version with fewer items. |
Correct Content-Type header | Use a REST API tool to send a GET request and check the Content-Type header in the response. Must be |
Property names match placeholders | Compare the property names in your source file with the placeholders in your Asset. They must match exactly (case-sensitive). |
Image URLs are valid and accessible | Open each image URL in a browser. Ensure they load and are not behind authentication or expired links. |
Item IDs exist (if filtering by ID) | If you plan to filter by ID, verify that each item in your source has an |
No XML namespace issues | If using XML, check for |
50 items or fewer per fetch | If your source has more than 50 items, use filtering (by ID or number) to limit the items. To display more than 50, add the Asset to the email again. |
Server and connection checklist
Check | How to verify |
URL is publicly accessible | Open the URL in a browser from a different network (not your internal network). If it requires authentication, it won't work. |
Server responds within 5 seconds | Use a REST API tool to time the response. If it's slow, consider hosting the feed on a CDN. |
HEAD requests are supported | Send a HEAD request to the URL with a REST API tool. Verify you get a 200 OK response. |
Server is reliable at send time | If using "At send out", the server must be available at the exact moment the email is sent. Consider using "Fetch all" for critical campaigns if your server has occasional downtime. |
Placeholder issues
Issue | Cause | Solution |
Placeholder shows as | The property name in the source doesn't match the placeholder, or the source wasn't fetched. | Check for exact case-sensitive match. Ensure you fetched the data or selected "At send out". |
Placeholder shows empty (blank space) | The property exists but has an empty value in the source, or the item doesn't have that property. | Check your source file — ensure the property has a value for all items you're displaying. |
Image placeholder doesn't render | The image URL in the source is broken, uses an unsupported format, or the server blocks external access. | Test the image URL directly in a browser. Ensure it returns PNG, JPG, JPEG, or GIF. |
Link placeholder doesn't work | The Link type is not set to "Feed Property" in Link Settings. | Open Link Settings for the button/link element. Set Link type to Feed Property, then enter the placeholder (e.g. |
Sequence placeholder creates extra empty rows | The Number of items in Loop settings isn't evenly divisible by the number of sequence placeholders. | Adjust the Number of items to an even multiple of your sequence count (e.g. 4, 6, 8 for 2 sequence placeholders). |
Common questions
Question | Answer |
"Can I edit placeholders after adding the Asset to an email?" | No — placeholders can only be edited in the Asset itself (from the Assets tab). Changes made in the email draft only affect that specific email activity, not the original Asset. |
"What happens if my source file changes after I clicked Fetch all?" | Nothing — the email uses the cached data from the moment you fetched it. To get fresh data, use "At send out" instead, or remove and re-add the Asset. |
"Can I use Dynamic Assets in Marketing Automation?" | Yes. In Marketing Automation, the Dynamic Asset fetches fresh content every 5 minutes. Each Profile receives the version that was current at the time of their send. |
"The email was sent but the Dynamic Asset content is missing" | The source file could not be fetched at send time (server down, URL changed, timeout, or file format error). The Row was removed from the email. Always test with "Fetch all" before scheduling, and ensure your source server is reliable. |
"Can I combine a Dynamic Asset with Row Segmentation in the email?" | Yes — you can add Row Segmentation in the email's Row settings (just like any other Row). You can also add Segmentation data inside the source file itself for per-item Segmentation. See Using Dynamic Assets — Segmentation. |
What's next?
Creating Dynamic Assets — Design the Asset layout, add placeholders, and configure Loop settings.
Using Dynamic Assets — Add the Asset to an email, connect the feed, filter items, and choose fetch behaviour.
Email Assets — Regular Assets and how they work.
Contact Customer Service — If you've tried everything above and the issue persists.