Fun with APIs! Using a low code solution, create your own holiday postcard (to be printed and mailed by Lob)
Companies Mentioned
It’s Holiday Card season! But my hand hurts just thinking about addressing all those envelopes, and I can’t remember the last time I bought stamps…let’s be real, ain’t nobody got time for that.
Fortunately, I happen to work for a company that sends direct mail programmatically.
Many developers using one of our SDKs in their preferred programming language, but we recently launched our low-code and I thought I’d give it a whirl.
The following is a step-by-step tutorial so you too can create personalized full-color 6”x9” holiday postcards—to be printed and mailed by Lob.
For under a dollar each (inclusive of printing and postage) send season greetings to your loved ones. We’ll use the sample shown below, but those with more HTML knowledge can customize all they wish!
Select and Prep Your Photos
Choose two of your favorite photos: one landscape (for the front) and one portrait (for the back). Use your photo editing tool of choice to format each correctly; I used Preview on my Mac.
To ensure they print at the highest quality they should be:
5x7 inches (1500 pixels x 2100 pixels in portrait and 2100 pixels x 1500 pixels in landscape),
at a resolution of 300 pixels per inch,
and saved in an RGB color profile.
(If you are snagging photos from your iPhone, see the Appendix for a cheat sheet.)
Label each clearly FRONT and BACK. You will then need to host your images somewhere; I used a free account at .
Prep Your Data
1. You will then need to snag the HTML for the and of the postcard (we’ll use it in a later step).
2. Next, you will prep your address data. and input your data:
Do not modify or add any column headers!
Add the full name in the `name` column
Add the address data (make sure that leading zeroes aren’t being dropped and that the state code is used)
Replace the “Lorem ipsum” in the `message` column with your own personalized message. Make sure that the message fits within the space by being shorter than the placeholder examples (about 65 characters). You can test your holiday card messaging .
Add the links to your front and back images to every row in the `image_front` and `image_back` columns (links should look something like this: )
3. Download your address file as a .csv.
Create Your HTML Templates
Now, you are ready to create your postcards in the Lob dashboard.
1. First, you will need to .
2. Once you have registered, you will be taken to the dashboard. In the Developer tier, there is no cost to test out the Print & Mail APIs, but if you want to send live requests—and have a postcard printed and mailed—it will currently run you $0.896 a postcard (inclusive of printing and postage). Payment information will need to be entered : Your name (top right) -> Settings -> Payment
3. Create & save HTML templates for the Front and Back of your postcard:
On the left menu bar, Navigate to .
Make sure Live is highlighted!
Click on ‘Create’.
Name this ‘Front Template’ and paste in the HTML code for the front. Click ‘Create’ to save.
On the left menu, click HTML Templates to go back to the main template screen (You should see your new Front template there under Live templates.)
Once again, ensuring Live is highlighted, click ‘Create’ again. Name this ‘Back Template’ and paste in the HTML code for the back. Click 'Create' to save.
Click HTML templates to go back to the main template screen; you should see your new Back template there under Live templates.
** Make sure you see both templates are listed when Live is highlighted before proceeding.**
Create and Send Your Postcards
On the left menu bar, navigate to ; click on “Create Campaign”
Step 1: Configure Campaign
1. Enter a Name and Description
2. Campaign Type: Marketing
3. Mail Type: Postcard; Size: 6x9
4. Postage references: Return address is not required; Select postage: Up to you, note the listed expected delivery times
5. Cancellation Window: This is set at 5 minutes; you will not have the option to edit on the free Developer plan
6. Campaign-Level Metadata: Optional
Step 2: Add Audience
1. Upload your CSV file (created during prep stages), or drag and drop it into the dashboard
2. Map required address variable: These are mapped automatically
Step 3: Choose Creative
1. Under ‘Postcard Front’, select the HTML Template you created from the dropdown menu (note the previews will not show your images or messages as they are not mapped yet)
2. Under ‘Postcard Back’, select the HTML Template you created from the dropdown menu (note the previews will not show your images or messages as they are not mapped yet)
3. Connect your creative to your audience:
Merge variable strictness: Ignore
Connect/map your merge Variable from HTML to the appropriate column in the CSV: {{img_front}} to img_front, {{img_back}} to img_back, {{message}} to message
Step 4: Review Campaign
Review carefully, once you place your order, after 5 minutes, the live request will be sent to Lob; your postcards will be created and mailed, and you will be charged. If something is not correct, click ‘Previous Step’ to edit.
If everything looks good, click ‘Place Order’ and your holiday cards will be on their way! You can view your postcards under Campaigns or Postcards (Live) in the Lob dashboard.
Wrap up
Lob was started by two developers who needed to solve a problem, and were the answer; the goal was to make sending mail just as easy as sending an email.
This is a fun personal use case, but Lob is meant to automate direct mail—postcards, letters, checks, self-mailers, and more—at scale. Just like email, each mailpiece can be highly personalized, and automated.
For advanced tiers, Mail Analytics is available for each mailpiece to track each postcard along its journey to delivery (and if you included a QR code, you could even track the open rate).
Appendix: How to Prep a Photo
Not every developer is a designer, nor do they have commercial printing experience, so this part can be tricky.
Email/Download a photo from your iPhone on your computer. The following steps are shown in the Preview app (Mac) but are a good guideline for any editing program.
Select your back photo (portrait orientation). Under Tools, select Adjust Size.
Change Resolution to 300 pixels/inch.
For this photo (portrait orientation): Change the Width to 5 inches, and the Height will automatically change. Alternatively, update the Height to 7, and the Width will change. It’s highly likely you won’t end up with a perfect 5x7; that’s ok: Change the field that results in one of the measurements being slightly too big; you will crop in the next step).
Under Edit, Select All. Drag the dotted line to crop the image to the necessary 1500x2100 pixels (as you move the line, the measurements will display; exaggerated below).
Under Tools, Assign Profile select Generic RGB. (Photos must be saved in RGB.)
Make sure your photo is named clearly as the BACK. Save!
Repeat these steps for the FRONT photo but in landscape orientation (7” wide x 5” high, 2100 pixels x 1500 pixels).