> For the complete documentation index, see [llms.txt](https://docs.bird.com/taxi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bird.com/taxi/email-design-systems/custom-email-design-systems/understanding-email-design-systems-uploader-error-messages.md).

# Understanding Email Design Systems uploader error messages

Uploading a new Email Design System to Taxi can be a daunting moment. In this article, we'll explain what the most common error messages you might see mean, and share tips on how to fix them.

## Google Fonts URL is using a wrong format

This means that you've referenced a Google Webfont using an incorrect file format. Google Fonts chooses which version of a font to serve depending upon which device is requesting it - this won't work in email clients.

To fix this, you'll need to get a direct link to the .woff2 version. This makes sure that all email clients that support custom fonts will then load the Google Font.

[Learn how to get the .woff2 version of a Google Font](https://docs.messagebird.com/taxi/Email%20Design%20Systems/Custom%20Email%20Design%20Systems/using-custom-fonts-in-an-email)

## References to fields which do not exist

This warning usually occurs when the field name doesn't match what you're referencing, perhaps because of a slightly different naming convention or a typo. This warning is often paired with a 'Fields have been made which are not used anywhere' warning.

## Fields have been made which are not used anywhere

This warning usually occurs when the field name doesn't match what you're referencing, perhaps because of a slightly different naming convention or a typo. This warning is often paired with a 'References to fields which do not exist' warning.

## References to fields of the wrong type.&#x20;

This warning usually appears when the replace-href is being set from a field that doesn't contain type href. This means the link tracking manager will not be able to read it. You must ensure that href fields are always used to set hrefs.&#x20;

Liquid doesn't reference any variables in attr

## Liquid doesn't reference any variables in attr

This warning means that the liquid used doesn't reference any variables in attr. This is valid, and will not stop you from uploading the Email Design System, however commonly this is a mistake and reference will need to be input.

## #{e.name} name is not unique

A name used is not unique. This applies to modules, fields, editables etc. This warning will appear when, for example, you have 2 modules with the same name in a modulezone or you have two editables with the same name in an editable, and so on. In this case, each name should be unique and should not repeat.

## \<module> element found as a child of a \<table> element

This warning means a \<module> element has been found as a child of a \<table> element. Only \<tr> \<td> \<tbody> or \<thead> elements are allowed as children of a \<table> element.

## rich.selection\_text not used in rich-editable-style

You will see this warning when a rich editable style has not specified where the text goes. You must use #{{rich.selection\_text}} in a replace= attribute, to show where the highlighted text should go.

## Liquid code found in #{attr\_name} attribute where it will be ignored, perhaps you meant replace-#{attr\_name}

*Liquid code found in #{attr\_name} attribute where it will be ignored, perhaps you meant replace-#{attr\_name}*. This warning typically appears when liquid code has been used within a href. This will not stop you being able to use the Email Design System, but there may be some fields that don't work as you'd expect if you have liquid code in a normal attribute.

## Attribute nowrap is considered outdated

*The nowrap attribute causes rendering problems in gmail. A newer construct is recommended.* When this warning appears, Taxi will not stop you from uploading your Email Design System, however, it is warning you that if using nowrap in one of these ways: nowrap="nowrap" or \<td nowrap> it is not supported and can cause a rendering issue in Gmail iOS. We recommend using: style="white-space: nowrap;".

## -src found on one of the names in a multivalue dropdown field tag<br>

*In a multivalue dropdown you have a names attribute and then these names are used in the choice tag. If the value is an image, in the choice tag you use name-src="". You don't need to include -src in the field tag, only in the choice tags of the dropdown.*

## Subject line personalisation

Error:\
\&#xNAN;*\<field type="rich" name="subject"> element found*

*Subject field must have type "subject*"

Having type="rich" for your subject can sometimes cause issues when exporting to your ESP. If you need personalisation in your subject line you can contact your Custom Success Manager to see if this can be turned on for your account.

## \<choice> tag not closed

Warning:

Field type \<choice> is empty

When you use a dropdown you have choice tags. These tags need to be closed:

\<choice>\</choice>\
Or\
\<choice/>

If you don't close a choice tag, Taxi will give you the above warning.

### Liquid Syntax errors

If you include any of the following in your syntax you will get this warning message as it is not valid liquid and should be updated.

\#{{% - should be {%

%}} - should be %}}

\#{{{ - should be #{{

}}\*} - should be #{{

%%} - should be %}

{%% - should be {%


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bird.com/taxi/email-design-systems/custom-email-design-systems/understanding-email-design-systems-uploader-error-messages.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
