Copernica

Welcome to the Squeezely Public Knowledgebase. Here is where you will find everything you need to know about using the Squeezely Platform.

Connecting Squeezely & Copernica

This guide helps you setup & use your data on the Copernica email platform. The following steps are covered in this guide:

  1. Setting up the connection
  2. Using Squeezely Audiences
  3. Using dynamic product content in your template
  4. Triggering Campaigns from Journey Builder

What will happen if I connect my Copernica account to Squeezely?

First we will ask you to select a database where Squeezely will add the following information:

  • A new field will be created called 'SqueezelyCustomerId'
  • A new collection called squeezely_audiences will be created. This collection will contain subprofiles that store the following contact information from Squeezely: audience ids, consent status & (custom) fields for the user.
  • Mini views will be added to the squeezely_audiences collection for each Squeezely Audience synced to Copernica. 
  • A new collection called squeezely_triggers will be created.
  • A new collection called squeezely_products will be created.

Squeezely will import all your contacts from your connected Copernica database to Squeezely once after the connection has been made.

If a consent mapping is setup in the Copernica connector, consent will be synced to the selected field mapping in the following ways:

  • Newsletter consent will be synced from Copernica to Squeezely after you connect your Copernica account.
  • Daily updates of newsletter consent will be synced from Copernica to Squeezely.
  • Optional - Implement a webhook to receive real time consent updates from Copernica to Squeezely.
  • Consent information will be synced from Squeezely to Copernica with each subprofile entry in one of our collections.

To make sure Squeezely knows into which profile we should sync the information, you will have to select in which database fields email addresses are being stored. If a profile in Squeezely does not yet exist in Copernica, we will add it to your database.

Setting up the Connection

Go to https://www.squeezely.tech/company/settings and find the 'Channels' tab. Select the Copernica button and press 'Connect Copernica'.

This will redirect you to your Copernica account, so make sure you are logged in. Below screen will show, on which you press allow access for the Copernica account you want to link:

After linking your account, you will return to Squeezely and find below screen. 

  • Select the Copernica Database where Squeezely should synchronize information to.
  • Select the Copernica field that contains the email address to match Squeezely profiles with existing Copernica profiles.
    • If a profile in Squeezely does not yet exist in Copernica, we will add it to your Copernica database.
  • Select the field that stores consent in your Copernica Profile
    • Squeezely will synchronize consent with this field
    • Determine the values for consent in your Copernica profile for unknown, subscribed & unsubscribed. 

Adding a webhook for real time consent changes

By adding a webhook in Copernica, you can synchronize the below information in real time:

  • New email addresses in the Copernica database 

  • Changes to consent of email addresses in the Copernica database

Configure webhook

Set the webhook up as following:

  • Navigate in Squeezely to Copernica

  • Copy the webhook url

  • Login in Copernica Marketing Suite and navigate to the database you want to link with Squeezely

  • Click on 'configuration' and then 'webhooks'

  • Click on 'make webhook' / 'webhook aanmaken' 

  • Enter the following settings:

    • Events / Gebeurtenissen: ‘Profiel Aangepast’ / 'Profile modified'

    • Callback URL: Paste your Squeezely webhook here

    • Click save

    • To receive updates when new profiles are added in Copernica a second webhook needs to be installed. Under 'Gebeurtenissen' select 'Profiel aangemaakt' and follow steps like above..

Verify webhook

Before the webhook is activated, it needs to be validated:

  • Navigate to your account settings in Copernica and click on webhooks.

  • Ensure your webhook is linked to the correct database. If your webhook looks like the below example but with your personal database name, it means it's set up correctly. 

(warning) When you don't limit the webhook to one database, Squeezely will receive updates from other databases too. This is not as intended and should be avoided. 

  • Click on the webhook

  • Then click on ‘Test webhook’

  • Click on ‘Download the verification file’

  • Navigate to the Squeezely Help Center

  • Submit a support request titled  ‘Webhook verificatie’ containing the verification file

The Squeezely Team will notify you when the webhook is activated. 

✅ The profiles are now synced in real time to Squeezely

Collection: squeezely_audiences

To sync profiles from Squeezely into Copernica, you will first need to export a Squeezely Audience to Copernica. This will give the following result:

  • Subprofiles will be created in the squeezely_audiences collection
  • Subprofiles will contain consent information, (custom) fields and audience id's that represent the active Squeezely Audiences they are part of.
  • Every audience is created as a mini view within squeezely_audiences.

NOTE: Copernica only updates these mini selections once per day, or when you use them for sending an email. After exporting from Squeezely, they will appear empty in your account. 

Collection: squeezely_triggers

The collection Squeezely_triggers can be used to create follow up actions within Copernica.

A subprofile is added to the collection squeezely_triggers when:

  • A user is added to or removed from a Squeezely audience 
  • A trigger is made from Journey Builder to Copernica

The subprofile will contain the following information:

  • ID - Unique Trigger ID
  • Trigger
    • For Audiences it will appear as 'Audience'
    • For Journey Triggers it will appear as 'Trigger Name'
  • AudienceId
    • For Audiences it will appear as 'Squeezely Audience ID'
    • For Journey Triggers it will appear as '0'
  • AudienceName
    • For Audiences it will appear as empty
    • For Journey Triggers it will appear as 'Squeezely Audience Name'
  • Status
    • For Audiences it will appear as 'on' or 'off'. Indicating add or remove from the audience.
    • For Journey Triggers it will appear as empty

Collection: squeezely_products

The collection Squeezely_product can be used to lookup products associated with a trigger from Squeezely Journey Builder. For each product sent along with your triggers a subprofile is added to the collection squeezely_triggers.

The subprofile will contain the following information:

  • ID - Unique ID
  • Product information: Product Title, Description, product id, product image url
  • Trigger: The name of the trigger that created the subprofiles. 
  • Trigger_id: the id of the trigger that created the products. Use this to lookup multiple products for the same trigger.

Triggering an email in Copernica from Journey Builder

You are able to trigger campaigns directly from Squeezely Journey Builder.

In below example the 'play' icon determines who will enter your journey. In this case an email will be sent to everybody that enters your journey after 1 day. From the blue 'Email' block, you will be able to select a template in your Copernica account that will be triggered for sending at this point. 

Find out more about building journeys here.

Trigger a template directly

In Journey Builder, you are able to select one of your Copernica templates in Publisher or Marketing Suite. The selected will be sent directly to users from Journey builder when they meet your criteria.  

Trigger a subprofile into squeezely_triggers

Alternatively you can create a followup action in Copernica for subprofiles created in the squeezely_triggers collection. 

  • Trigger - Enter a name that will be added to your subprofiles in squeezely_triggers as 'Trigger Name'
  • Products - Select the products that should be added to the squeezely_products collection

Adding dynamic product content to your email template

You can use information from your Squeezely Product Sets to create dynamic product blocks in your Copernica template. Select the product set you want to use in your template from the product set overview in Squeezely. Click on the three dots like shown below and select the RSS Feed option.

This will give you the RSS feed link you can use to personalize your template, which will look something like:

  • Non personalized product sets: https://www.squeezely.tech/products?account={youraccountid}&productset={productsetid}
  • Personalized product sets: https://www.squeezely.tech/products?account={youraccountid}&productset={productsetid}&email=|*EMAIL*|

Step 1: Create an XSLT Stylesheet in Copernica

In Copernica Publisher. Navigate to 'Stijl' and create a new XSLT.

Change the XSLT settings to match below and press save.

Within the XSLT paste below code snippet for a snippet that shows three products and press save.

XSLT
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="items">
  <xsl:call-template name="item" />
 </xsl:template>
 <xsl:template name="item">  
  <xsl:for-each select="item">
    
     <table align="left" class="mcnTable" border="0" cellpadding="0" cellspacing="0" width="198" style="margin-top: 10px;">
            <tr>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%" style="">
                        <tbody>
                        <tr>
                            <td valign="top">
                                <table align="left" border="0" cellpadding="0" cellspacing="0">
                                    <tbody>
                                      <tr>
                                        <td style="text-align: left">
                                          <a href="{url}" target="_blank">
                                            <img class="mcnImage" src="{image}" width="162" style="max-width: 200px; min-height: 162px; border: 0;height: auto;outline: none;vertical-align: bottom; margin: 0 0 10px 10px;" /></a>
                                        </td>
                                      </tr>
                                      
                                        <tr>
                                          <td style="color: #202020;font-family: Helvetica;font-size: 16px;line-height: 150%;text-align:left; vertical-align: top"
                                              width="164" height="32" valign="top">
                                            <div style="overflow: hidden; font-size: 14px; margin: 0 0 5px 10px;">
                                              <a title="Shop Now" href="{url}" target="_blank" style="font-weight: 500;letter-spacing: normal;line-height: 100%;text-align: left;text-decoration: none; color: #333; font-size: 13px;">
                                                <xsl:choose>
                                                          <xsl:when test="string-length(name) > '40'">
                                                              <xsl:value-of select="substring(name, 1, 40)" disable-output-escaping="yes" />... 
                                                          </xsl:when>
                                                          <xsl:otherwise>
                                                              <xsl:value-of select="name" disable-output-escaping="yes" />
                                                          </xsl:otherwise>
                                                      </xsl:choose>
                                                
                                              </a>
                                            </div>
                                          </td>
                                       </tr>
                                      

                                            <tr>
                                                <td style="font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: left; font-weight: bold;" width="164" >
                                                    <a href="{url}" style="color: #555;text-decoration: none; margin: 0 0 0 10px;" target="_blank"><span style="text-decoration: none; font-size: 15px;">
                                                            <xsl:value-of select="currency_sign" disable-output-escaping="yes" /><xsl:value-of select="price" disable-output-escaping="yes" />
                                                        </span></a>
                                                </td>
                                            </tr>


                                            <tr>
                                                <td style="font-family: Helvetica;font-size: 16px;text-align: left;" width="164" height="53" valign="top">
                                                  <a href="{url}" style="color: #555;text-decoration: none; margin: 0 0 0 10px; font-size: 12px;" target="_blank">
                                                      <xsl:choose>
                                                          <xsl:when test="string-length(description) > '55'">
                                                              <xsl:value-of select="substring(description, 1, 60)" disable-output-escaping="yes" />... 
                                                          </xsl:when>
                                                          <xsl:otherwise>
                                                              <xsl:value-of select="description" disable-output-escaping="yes" />
                                                          </xsl:otherwise>
                                                      </xsl:choose>
                                                  </a>
                                                </td>
                                            </tr>

                                        

                                            <tr>
                                                <td class="btncontainer" style="font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: center;"
                                                    width="164">
                                                        <table class="btncontainer" border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:separate; line-height:100%; margin: 10px 0 0 10px" width="164">
                                                            <tbody>
                                                            <tr>
                                                                <td align="center" bgcolor="#2e74f5" role="presentation" valign="middle" style="border:none; border-radius:3px; padding: 10px; background:#2e74f5">
                                                                    <a href="{url}" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" style="background:#2e74f5; color:#ffffff; font-family:Arial,sans-serif; font-size:15px; font-weight:normal; line-height:120%; margin:0; text-decoration:none; text-transform:none; ">
                                                                        Shop now
                                                                    </a>
                                                                </td>
                                                            </tr>
                                                            </tbody>
                                                        </table>
                                                </td>
                                            </tr>

                                    </tbody>
                                </table>
                            </td>
                        </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </table>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

Step 2: Add your RSS url to your template in Copernica

Go to templates and create a new template with below settings.

Use below code to insert the product set you want to use into your template.

Load the RSS feed
{capture assign=feedurl}https://www.squeezely.tech/products?account={accountid}&productset={productsetid}&email={emailaddress}&limit={productlimit}{/capture}
{loadfeed feed={$feedurl} xslt="{XSLTName}" personalizable="true"}

Replace the following place holders with:

  • {accountid} - Insert your Squeezely account id here.
  • {productsetid} - insert the product set you want to use here
  • {emailaddress} - Load the email address you are sending to as a variable here. (optional - use this for personalized product sets)
  • {productlimit} - determine the maximum products that should be shown here
  • {XSLTName} - Use the name of your XSLT that you created in step 1.

Your end result should look something like this:

Save your template.

When you go on to create documents based on this template, they will contain your products in the email body and look something like the image below:



Search


Navigate

Want to find info about a specific feature? Check out these topics below!