Choosing and configuring the right image storage for your Stripo plugin
Learn how to choose and configure image storage for the Stripo Plugin.
Working with the Stripo plugin requires choosing the right image storage — a key step to ensuring that your email designs load quickly, stay organized, and scale as your needs grow.
The Stripo plugin gives you the flexibility to connect external storage for hosting and managing images used in your email templates. Why does this matter? Having control over where and how your images are stored lets you optimize performance, remain compliant with data regulations, and avoid being tied down to one provider. Whether you’re a small business or a large enterprise, picking the right storage setup helps you keep things running smoothly as your email campaigns grow.
Why is external storage essential?
Relying on external storage for your Stripo plugin isn’t just nice to have — it’s often the smarter move, especially as your email designs grow in size and complexity. Here’s why.
Flexibility and control
External storage allows you to fully own your image assets. You decide where they’re stored, how they’re organized, and how they’re delivered. This gives you the flexibility to scale as needed and optimize performance for your audience, whether they’re across the street or across the globe.
Security and compliance
Keeping your storage in-house (or with a trusted provider) helps ensure that you remain aligned with data protection laws such as GDPR. You can choose storage locations based on data residency requirements, set up custom access rules, and control who sees what.
Cost optimization
Stripo offers built-in storage, although this is limited depending on your plan. Here’s what you get out of the box:
- Free plan: 30 GB;
- Startup plan: 200 GB (with an option to add more at $10 per extra 100 GB);
- Business and Enterprise plans: Unlimited storage.
If your storage needs are modest, this may be enough. However, for growing teams or asset-heavy projects, connecting external storage gives you more room to work with — and often at a better price point as your needs expand.
Whether you’re thinking about performance, security, or budget, external storage gives you the control to make the best choices for your workflow.
Overview of storage options
The Stripo plugin supports a range of external storage providers, giving you the freedom to choose the solution that best fits your needs. Whether you’re looking for something simple or need enterprise-level scalability, you have options.
Here’s a quick look at the supported providers:
- AWS S3: Amazon’s storage service — great for scalability and flexibility;
- Azure Blob Storage: Perfect if you’re already working within the Microsoft Azure ecosystem;
- Google Cloud Storage: A solid choice for teams using the Google Cloud platform;
- Cloudinary: More than just storage — offers built-in image optimization and a global CDN;
- custom server (via HTTPS API): Ideal if you need full control and prefer to manage storage on your own terms.
Each provider has its own strengths. Some offer built-in content delivery networks (CDNs) or advanced optimization features, while others provide greater customization and control. As we dive into each provider in the next sections, you’ll get a clearer picture of what makes sense for your setup.
AWS S3: How to connect Amazon’s storage service to the Stripo plugin
Why choose AWS S3?
Amazon S3 (Simple Storage Service) is a solid choice if you need flexibility, scalability, and tight integration with the AWS ecosystem. Amazon S3 is built to handle everything from a few files to massive libraries of assets, making it a go-to service for businesses that expect to scale.
Key setup steps
Connecting AWS S3 to your Stripo Plugin takes a few steps, but once set up, it runs smoothly in the background:
- Create an IAM user with the right permissions:
You’ll need to set up an IAM (Identity and Access Management) user in your AWS account. This user should have specific permissions to access your S3 bucket — namely, the ability to upload, read, and delete objects. - Define your S3 bucket policies:
These policies control who can access your bucket and what they can do. The bucket must allow public read access (or be configured with signed URLs or a CDN if you prefer greater control) for Stripo to serve images directly from S3. - Enable static website hosting (if needed):
If you plan to serve images directly from your S3 bucket without a CDN, you’ll need to enable static website hosting. This will allow S3 to generate public URLs for your images. - Generate access keys securely:
Once your IAM user is ready, create Access Keys (Access Key ID and Secret Access Key). As these keys will be used to connect your S3 bucket to Stripo, handle them with care and treat them like passwords.
A critical detail to remember
Static website hosting must be enabled for public image serving, as without it, the URLs to your images won’t be accessible outside AWS. In addition, security is controlled through bucket policies, so it’s important to strike a balance between accessibility and protection. Only grant the permissions you truly need.
Azure Blob Storage: How to connect Microsoft’s storage service to the Stripo plugin
Why choose Azure Blob Storage?
If your business is already in the Microsoft Azure ecosystem, then Azure Blob Storage is a natural fit, as it’s designed to integrate seamlessly with Azure’s other services and offers reliable, scalable storage for all file types, including the images you use in Stripo.
Key setup steps
Setting up Azure Blob Storage with Stripo is pretty straightforward:
- Generate a SAS token (shared access signature):
A SAS token is a secure way to grant limited access to your Azure storage account without sharing your account keys. You can determine exactly what actions are allowed, such as read, write, or delete, and even define when the token expires. - Create your connection string:
Once you have the SAS token, generate a connection string, which contains all the necessary details — your storage account name, the SAS token, and endpoint information. You’ll use this to connect your Azure Blob Storage to Stripo. - Add the connection string to the Stripo plugin settings:
In Stripo, head to the storage configuration section, choose Azure Blob, and paste in your connection string. Stripo will use this to store and serve your images.
A critical detail to remember
Handle your connection string with care. It contains sensitive information that grants access to your storage account, so treat it like a password. Don’t share it openly, and keep it stored securely.
Azure Blob gives you fine-grained control over access and storage, making it a strong option for enterprise environments that must comply with corporate security standards.
Google Cloud Storage: How to connect Google’s storage to the Stripo plugin
Why choose Google Cloud Storage?
If your team is already working within the Google Cloud Platform (GCP), then Google Cloud Storage is a great choice, as it integrates smoothly with GCP services and provides reliable, scalable storage for your images and other assets.
Key setup steps
Here’s how to get Google Cloud Storage working with your Stripo plugin:
- Create a storage bucket:
In your Google Cloud Console, set up a bucket — this is where your images will live. Choose a region that makes sense for your users (a closer region means faster delivery). - Set bucket permissions (public access):
For Stripo to serve images directly from your bucket, you’ll need to grant public access to the bucket or specific objects via IAM roles. Add the Storage Object Viewer role to the allUsers group, which allows public read access for the images. - Create a service account and generate a key file:
Service accounts are a secure way for Stripo to interact with your Google Cloud Storage. Once you’ve created the account, generate a JSON key file — this file holds the credentials needed for integration. - Connect to Stripo:
In Stripo’s storage settings, select Google Cloud Storage and provide the following:- bucket name;
- project ID;
- the Service Account JSON key file.
A critical detail to remember
Making your bucket public exposes it to anyone with the link. If you’re working with sensitive data or prefer more control, consider using signed URLs instead. These URLs provide temporary secure access to specific objects without opening up the entire bucket.
Google Cloud Storage is a solid option for projects already embedded in the Google Cloud. It offers scalability and easy integration with GCP services.
Cloudinary: How to connect Cloudinary to the Stripo plugin
Why choose Cloudinary?
If your email templates rely heavily on visual content, and you want these images to load fast and look sharp, then Cloudinary is a great option. Cloudinary is more than just storage — it also comes with built-in image optimization and global CDN delivery, which means that your images are automatically compressed, resized, or even converted to next-gen formats such as WebP all without extra effort.
Key setup steps
Connecting Cloudinary to Stripo is quick and simple, as seen in the steps below:
- Get your API credentials:
Once you’ve set up your Cloudinary account, head to your dashboard and grab these three pieces of info:- cloud name;
- API key;
- API secret.
- Connect Cloudinary to Stripo:
Choose Cloudinary in Stripo’s storage settings and enter those credentials. Stripo will handle the integration, and your images will start flowing through Cloudinary’s optimization engine and CDN.
A critical detail to remember
Automatic optimization is what makes Cloudinary stand out, as it handles image compression, resizing, and format conversion. In addition, it delivers your assets through a global content delivery network (CDN). This helps your emails load faster, no matter where your audience is located, all while reducing file size without sacrificing quality.
If performance and simplicity are your top priorities, then Cloudinary is a fantastic fit, especially for image-heavy workflows.
Custom server: How to connect your own storage to the Stripo plugin
Why choose a custom server?
If you need full control over where and how your images are stored — or if you’re working with an in-house system or custom CDN setup — then connecting your own server is the way to go. This option gives you maximum flexibility to tailor storage exactly to your business needs, whether for security, compliance, or performance.
Key setup steps
While connecting your custom storage to Stripo requires more hands-on setup than usual, it offers the most freedom. Here’s how to do so:
- Configure your storage API:
Your server needs to expose an HTTPS API that Stripo can interact with. It should support basic authentication (using a login and password) and provide a base API URL that Stripo will call when uploading or retrieving images. - Ensure that chunked encoding is supported:
Large image uploads may require chunked-encoding support on your server. This ensures smooth data transfers, especially for bigger files. - Align with Stripo’s OpenAPI specification:
Stripo provides an OpenAPI (Swagger) specification for this integration. It defines the expected API structure and communication flow, making it easier for you to set up your server to work seamlessly with Stripo.
Why this matters
While using a custom server is the most flexible option, it also requires the most setup and maintenance. It’s ideal if you need to meet strict security policies, integrate with existing infrastructure, or create a tailored storage workflow that external providers can’t offer.
Advanced configuration: Shared features across providers
Folder configuration
No matter which storage option you choose, the Stripo plugin gives you the ability to organize your images through a flexible folder structure. This helps keep your assets tidy and easy to manage, especially as your library grows.
Purpose
By default, Stripo allows you to create and customize folders such as the following:
- email folders — store images related to specific email templates;
- project folders — organize images for broader projects that may span multiple templates;
- common folders — a shared space for assets used across different projects or templates.
This setup helps you keep everything organized, whether you’re managing a small team or collaborating across departments.
Permissions
You can also define who has access to which folders. Assign write permissions to either Admins or Users, depending on your workflow needs. For example, you might allow admins to manage all folders while restricting users from uploading to certain areas.
This way, your storage stays organized and secure, and everyone on your team has the right level of access.
Dynamic folder paths
Stripo makes it easy to automate folder organization using dynamic folder paths. You can insert variables — like ${templateId} — into folder paths so that images are automatically stored in folders that correspond to the specific email template or project they’re tied to.
This feature helps keep your storage structured without having to be manually sorted. This is especially useful if you’re managing a large number of templates or projects and want to ensure each set of images stays grouped together.
Dynamic paths support metadata-based organization — your folders adapt based on the template, project, or other data points you define. This keeps your asset library clean and easy to navigate.
System folders (non-manageable)
Stripo automatically generates system folders for specific image types in addition to the folders you create. Although folders aren’t visible in your regular asset library, they’re essential for storing images used in certain components, such as:
- video previews;
- banner images;
- module thumbnails.
Each system folder follows a specific key structure, such as:
- pluginId_[application_id]_video — for video block previews;
- pluginId_[application_id]_banner — for banner images;
- pluginId_[application_id]_modules — for module thumbnails.
These folders work behind the scenes to ensure that system-generated images are stored properly and load efficiently.
Image limits and storage management
There are a few important limits and options to keep in mind to ensure smooth storage and performance when working with images in the Stripo plugin.
Maximum upload size
The maximum upload size for any single image in Stripo is 20 MB. This keeps file sizes reasonable and helps your emails load faster without putting too much strain on your storage.
If you have larger images, consider compressing or resizing them before uploading. You could also use services like Cloudinary, which can optimize images automatically.
Storage usage
Your storage capacity depends on whether you’re using Stripo’s built-in storage or an external storage provider:
- Stripo’s built-in storage follows the limits based on your plan (e.g., Free, Startup, or Business);
- external storage depends on the provider’s settings (AWS, Azure, Google Cloud, Cloudinary, or your custom server).
This gives you the flexibility to scale your storage based on your project’s needs.
Stock image configuration (optional but powerful)
Stripo also supports stock image searches directly inside the editor, making it easy to find and use royalty-free images without leaving your workspace. You can enable integration with popular stock libraries such as the following:
- Pexels;
- Pixabay;
- Iconfinder.
To set this up, you’ll need to configure API keys for each service. Once connected, you can search for and insert images securely right from the editor, streamlining your design process.
Wrapping up
So, which storage solution is right for you? It really comes down to what your project needs most — whether that’s optimization, scalability, or complete control. Here’s a quick rundown to help you decide:
- Cloudinary: Go with Cloudinary if image optimization and ease of use are your top priorities. Cloudinary takes care of resizing, compressing, and delivering images quickly through its built-in CDN, making it perfect for image-heavy workflows where performance matters;
- AWS S3/Azure Blob/Google Cloud Storage: Choose one of these if you need scalability, enterprise-level integration, and fine-grained control over your storage and security. These platforms fit well into larger infrastructures, giving you flexibility to grow as your needs expand;
- custom server: Opt for a custom server if full customization and ownership are non-negotiables for you. This option requires more setup and maintenance, but in return, you retain complete control over how your assets are stored, delivered, and secured.
Considerations checklist
When making your final decision, keep these key points in mind:
- cost management: Does the provider’s pricing scale well with your storage needs?
- compliance: Can you meet data protection regulations such as GDPR and handle data locality requirements?
- performance: Do you need a CDN or low-latency delivery for a global audience?
- ease of maintenance: How simple is it to manage the storage? Do you need a user-friendly UI or more advanced access controls?
Weighing these factors will help you pick the storage option that fits your workflow today and scales with your needs tomorrow.