Your custom tutorial is ready!
Please follow these steps

1 Datasource preparation & import

  • Avoid „combining cells“ – each data content has to be in its own data cell. Otherwise this WILL  cause unintended behaviour
  • Format cells as text
  • If you like to use MyDataMerge’s number formatting, format the cells as „number“ – other formats may cause unintended behaviour
  • Colors, font size and other styling information will not be imported
  • Formulas and other logic operations will not be imported – just the text content
  • Line breaks will be imported/replaced as space character by default (you can change this in the import preferences)

To import Excel files, Microsoft Excel is required!

If you didn’t start it before running MyDataMerge, you will be presented this screen:

Click the “Detect Microsoft Excel” button to start the detection of Microsoft Excel. Once detected (or if you started it before running MyDataMerge) you will see this screen:

Drop your .xlsx file (note: .xls are not supported!) on the excel area [1] or load the file by clicking the folder button [2]. This will open the settings:

Here you can select the worksheet from which to import the data from [1]. MyDataMerge tries to detect the amount of records by scanning the file. Sometimes – even if cells look empty – they might contain space characters which causes the resulting amount of records [2] to be incorrect. Then (and only then) you can overwrite the total amount of records to import [3]. Note: The first row (with column labels) is NOT taken into account so record 1 starts in Excels row 2.

Once done, add a layout file, then you can import both files.

 

2 Layout preparation & import

  • Always expect long data. When preparing layouts for MyDataMerge, you have to add placeholders to text frames. Please make sure that text frames which contain placeholders are big enough to provide enough room for the data you want to merge in.
  • Move unneeded stuff to master pages. Instead of keeping all items on the regular pages, move everything that’s does not need to be merged (like decoration, background images…) to the master page. For large databases, this will speed up the process a lot.
  • Do not use styling options if every data record has the same styling. Apply styling in your layout document instead.
  • Use locally installed fonts instead of auto downloading them from Adobe Cloud. Adobe Fonts can be installed locally as well in your Adobe Creative Cloud app. When loading them online, this can massively slow down the merge process or lead to errors.
  • Scale images down. When merging thousands of data records its necessary to scale images down before the merge. No matter if the images are merged or part of the layout. This can save a lot of processing time.

Add placeholders to your layout

Requirements

  • The placeholder text must be located in a single text frame (not linked with any other)
  • The frame can have any proportions
  • You can choose any text you like (a-z, 0-9, _-)
  • The placeholder text including tags must be the only content of the text frame (be careful with spaces)
  • If you want to use Autolink you can add @ to identify the placeholder as image, e.g. <<@image>> (for using Autolink you also have to make sure that the label of the placeholder and the title of your datasource colum must match (in the example above, the datasource column title must be “image”)

Note: The position/alignment of the text inside the frame is not taken into account. You can control the alignment and fitting in the configuration.

Import

Importing your layout is easy:

Open MyDataMerge, start a new project and drag and drop your .indd file on the INDD area [1] or select the file by clicking the folder button [2]

After adding a datasource you can import both files.

Most common issues that may arise

  • If you have missing links or fonts, MyDataMerge will throw an error and ask you to fix this
  • If you have no placeholders defined (surrounded by << >>), MyDataMerge will throw an error
  • If you have auto-download fonts from Adobe Cloud enabled, MyDataMerge will throw an error – this is because InDesign loads these fonts asynchronously and doesn’t let developers (like us) check the loaded state of these fonts. You can bypass this issue by activating the fonts directly in the cloud (so they are always active)

3 MyDataMerge configuration

Configurations

Once you open a placeholders editor you will see that you can select a replacement type to show MyDataMerge what kind of data you want to inject [1] to that placeholder and you can select a setup [2]. Initially there’s a setup called “Initial setup” you can work with. But you can add as many others as you like.

In the center area (“Add item to ‘Initial setup'”) you can configure the output to be injected in the merge process dynamically. Each setup can have custom style settings (brush icon) and a custom hyperlink setting (chain icon).

By default, only the selected setup is used for the merge process. But setups become really powerful once you add them in a row (if first fails use second then third …) (path icon) or use them based on conditions (“If ‘First Name’ is ‘John’ then use this, otherwise use that).

 

For every placeholder you can add more than one setup.

If you have a well formed database with no missing data, usually one setup is enough. More than one setup will come in handy in situations where this isn’t the case or where you want to apply different styles.

Example:

You have a subject line in a letter where you want to output a salutation and last name e.g. “Dear Forrest” where “Forrest” is the first name and comes from the database and “Dear” is a static text. You can do this easily with a simple setup of your placeholder:

In the below image you can see the setup to output “Dear [First Name]”, a static text for “Dear ” [1] and a dynamic datasource element for the first name [2]. The output can be checked in the preview [3]:

Now imagine you don’t have a first name, then you’d like to output “To whom it may concern” which you can do with a second setup. So we add another setup here and give it an appropriate name [1]:

Then we configure it to output the static text “To whom it may concern”.

Right now, MyDataMerge would output “To whom it may concern” for every data record, because it’s the currently selected setup. To allow multiple setups to be processed you need to enable the process chain [1 + 2] as shown in the image below. Then all setups in the right table [3] will be processed from top down. If first setup fails (e.g. because first name is missing) then use second one and so on.

You can move unused setups to the left table, they will have no effect there. If the last setup in the right table fails, the “Action if last setup fails” will be executed which you can select at the bottom.

Note: You can add more control by adding conditions (on when it should be executed) to each setup.

While the default behaviour will toggle each setup in the process chain in a row (first fails, use second, second fails, use third …), conditions will trigger a setup if conditions are met. To enable conditions you have to enable process chain first [1]. Then the conditions icon becomes visible [2]. Enable conditions and add the conditions you require for the selected setup [3] to get triggered.

Once you have conditions enabled you will see which setup has conditions in the process chain.

Please note that even if you add conditions to a setup they still will be processed in the order they are arranged in the process chain.

According to the above image this would be:

  • “Custom configuration 1” -> Conditions met for the current data record? YES -> Execute it. NO -> Continue with the next.
  • “Custom configuration 2” -> Directly executed because no conditions are set. Does it fail? -> Continue with “Action if last setup fails”.

It is always a good idea to have a setup with no condition as last one.

Editing image placeholders

An image placeholder will inject images based on file paths from various sources into your layout in the merge process.

These sources can be one or a combination of:

  • Datasource content (Changes for each record)
  • Static text (Always the same)
  • Sequence (Different types of counting numbers)
  • Automator workflow (for editing outside of MyDataMerge – learn more here)
  • Custom (java-)script (learn more here)

Open the placeholder by double clicking it (or click the pen icon), then the editor will open. First of all, make sure that “Replace with image” is selected [1]. Then add one or more elements to get file paths to your images. In the below example [2] a datasource element is added, where column “Image” is selected (as this column contains paths to the image files). If the element is valid (green check) and a valid image path is given, you will see a preview on the right [3]. If the preview doesn’t appear, you might need to grant access to the image folder for MyDataMerge – click the “Grant access” button in this case. By deactivating the switch “Show image”, MyDataMerge will output the file path in the preview instead.

After access is granted, you will see the image appear in the preview on the right:

Whenever you have complete image paths in your datasource they do not always fit to your local environment (e. g. if you have received the datasource from your client and the full paths only match their environment). In these cases the client often delivers all images in a folder you put somewhere next to the layout.

For local paths you have to crop the clients paths from the datasource and replace them with your local paths. E. g.

/client/path/to/image.jpg

becomes

/your-path/to/image.jpg

Unfortunately you have to redo this everytime the client sends you an updated datasource. But with MyDataMerge you can update the paths on the fly:

  1. Make sure your placeholder has the right type selected “Replace with image” [1]
  2. Add a datasource entry and select the column with the image paths [2]
  3. Open the settings (gear icon) and activate “Trim pathes from datasource elements” [3]. This will make “/path/to/your/image.pg” to “image.jpg”
  4. Then choose the folder where the images are located. This will add the new path “/your-path/to/image.jpg” [4]

By now you should see the image in the preview (you might grant read access for MyDataMerge to the selected folder).

 

4 Export

Filetypes

With CSV selected in Export > Filetype, MyDataMerge will export a Adobe® Indesign®’s data merge compatible CSV file. Use this option if you don’t want to merge with MyDataMerge but want to use MyDataMerges ability to customise the data.

Please note: Both CSV options …

  • CSV (export only) – Exports a CSV file
  • CSV (export and link) – Exports a CSV file and links it with your data in InDesign so you can continue with the data merge there

… cannot handle MyDataMerge specific actions like:

  • Applying styles
  • Applying the last action if a setup fails
  • Applying GREP actions
  • Applying Hyperlinks
  • Use Automator workflows after export

If you need any of these please use MyDataMerge for merging your data.

 

Extras

Go to Export > Extras > Record sorting and select the data column to sort records after. Currently theres no multi-sort possible. You may then also choose to sort the records ascending or descending. This will not change the datasource itself but provide a sorted datasource to the merge process.