Discover Promotional Item Ideas

Magento Update and Microservices Implementation for SOURCE-Werbeartikel

About SOURCE-Werbeartikel

 

SOURCE is a German company that prints promotional items and gifts with logos. It offers over 80,000 advertising materials. The company experts are always ready to give free online advice for their clients on choosing the best promotional products.

 

About the Project

 

Source has 4 stores that are designed to offer maximum customization for each product. Users have the flexibility to choose color and the logo placement and specify the required quantity. They can easily upload a logo file and download the order in PDF. The total order price is then determined and customers can add everything to the cart.

 

However, due to the site’s advanced functionality, it experienced the following issues:

 

  • longer loading times, many users left before the process is completed
  • each order had to go through the client’s office for validation, often resulting in an overload
  • the site suffered from low visit rates and minimal user engagement.

 

To address these challenges, Source turned to the BelVG team. Our tasks were the following:

 

  • conducted an update of Magento to a newer version
  • implemented multiple microservices to optimize site performance and customization for heightened user engagement and improved site statistics
  • added integrations to customize products by users themselves
  • alleviated the client’s office workload.

 

For further details on our work stages, we invite you to continue reading.

Client

SOURCE-Werbeartikel

Country

Germany

Industry

Advertising Services

Platform

Magento

Services & notable features

  • Magento update
  • Previous technology fixing
  • Design implementation
  • Cart customization
  • Node.js microservice development
  • Module customization

Integrations

  • Celebros
  • Branding calculator
  • Weltpixel GA4

Optimization of ERP Integration with Magento

 

On the SOURCE website, all data that is entered onto the website is transferred to a third-party ERP, which processes orders. Our team’s task was to connect Magento with this system so that the data can be updated several times a day there.

 

Before our team came to the project, another third-party organization was working on the site. Due to the previous structure, it was impossible to update the site and introduce new features. Therefore, our team took the following steps:

 

  • make a complete refactoring of the part responsible for business logic
  • connect to the API to optimize requests, add loading speed and the ability to more easily expand functionality
  • complete certain parts that did not work correctly and interfered with updating Magento to the new version

 

As a result, the site began to work faster, and more information arrives quicker to the client’s ERP. After we rewrote everything that could be implemented with the default Magento functionality, we updated Magento to the latest version at that time. This helped us develop our modules based on the core Magento logic.

Implementing the New Website Design

 

Source already had the website design, which they wanted to implement. Before getting down to work we discussed all the necessary points with the client: requirements and functionality, what can be implemented on the site and what cannot.

 

The client decided to implement the new design gradually:

 

Menu -> Header and Footer -> Category Page -> Product Page and Home Page -> Checkout and Cart Checkout.

 

Each part of the site changed gradually from 2 weeks to a month. This allowed us to fix possible errors and bugs that might appear, and at the same time develop the next part.

 

The client has 4 stores, the main one is German. However, the design was first developed for the Swiss store, since it is not overloaded with requests. Then it was tested on live clients, and after that, it was released to the main German store.

Product Page

 

Since the specificity of the site is the complete customization of products, we made the following changes for the convenience of using the site:

 

  • Price difference. Depending on the choice of the number of products, their color and logo, the price of the order may change. This function has already been done before us, but we rewrote it for the convenience of updating the store in the future.
  • Logo location. For this function, we installed a separate microservice that offers possible places where you can print the logo for each product. When you select a specific product, a request is sent to this microservice. It returns a list of possible places where the logo can be located to a product page, where the user can select the appropriate one.
  • Multi Add to Cart. Our team developed a module with which you can add one product in different colors and quantities. For example, 5 orange and 10 green mugs.

Checkout changes

 

Initially, the checkout did not have a brief information on the order: the number of goods, colors, and the total cost of the entire order. The team’s task was to add all these missing items that would summarize the orders and provide the ability to adjust it. As a result, we added a wide functionality, which helped to unload the client’s office – since most of the information was automatically filled in by the buyers themselves and the office did not need to call them. Here are some additional features:

 

  • Branding calculator. In order to count how much will need to be spent on printing, etc, the team installed a separate microservice called branding calculator. All data is saved and updated in this microservice. After counting, the data is processed in the client’s ERP. We linked Magento with ERP and a branding calculator to pull up-to-date data, update it several times a day and display it in both Magento and the client’s ERP.
  • Calculator to checkout. All calculations of the order cost were initially carried out only on the product page. We also moved them to the checkout so that the client could see the final cost when placing an order and double-check it.
  • Cost display. The order cost and additional cost, such as taxes, are displayed separately. The price and how it changes are immediately visible in the checkout. Then the list of orders is transferred back to the ERP from Magento, where information about the order is indicated – which products are selected, colors, file with the logo, quantity, etc.
  • Module for VAT ID. We installed the geissweb/module-euvat module, which covered all the client’s needs for checking the VAT IDs of B2B customers.

Celebros Integration

 

For website search and navigation our client uses the Celebros platform. There you can create certain rules in the platform depending on how you want it to work. Our team set it up so that the service takes all the products from the website, indexes them, and then displays them in the order we specified in the rules. As a result, the Celebros search is shown in Magento. Here are some features that we implemented for the site:

 

  • When users go to the product page and scroll down a little, they can see cross-sales products. We decided to use the Celebros functionality instead of the usual cross-sales section. It allows you to show a custom block that makes a request to Celebros, pulls out similar products and shows them as a cross-sales category, but it loads as an infinite scroll. There are also filters for this block so that users can specify them on the product page.
  • It turned out that some users who followed a direct link to the product page did not see the cross-sales block. It was located at the bottom and loaded only after scrolling down to reduce the load on the server. To focus attention on this block, our team added new functionality: when the user wants to close the page, a pop-up is shown with the same cross-sales block and infinite scrolling. This function appears only on one page that was opened via a direct link, so as not to be too intrusive for users.

Get an Upgrade for the Magento Store!

Contact our team to update your Magento version for enhanced performance and new features.

Get Started

Cart Improvements

 

When updating the shopping cart, we implemented several important features that simplified both the use of the site and work on Source side:

 

  • Logo upload. Most products necessarily include a file upload or confirmation that there is no need to upload your logo layout for printing. This feature was implemented, since the cost of the entire order changes depending on the type of file uploaded. In case the user does not want the logo to be applied to the selected product, they can select the “No Advertising” option on the product page. If they want to send the logo file separately by email, this option can be selected in the shopping cart.
  • Sample Orders. Initially, it was impossible to add a product in the amount of one piece, since it is considered a sample. One product was put in the cart, and the description indicated the quantity of such products. However, we rewrote the branding calculator, and the quantity is added on the product page, and if 1 is selected, it is considered as a separate product in the cart.
  • Product color selection. This is a separate microservice that was made by our team and written in Node.js. The client wanted this integration to work on their ERP in the absolutely identical form as on the site. The entire color selection is based on a request to our color microservice, and it returns a ready-made template that has a list of pantone colors. Then the user can select a color that completely matches the one that will ultimately appear on the product.

Marketing features

 

From a marketing point of view we have made several changes:

 

  • Delivery date. The delivery date microservice is designed and run on a separate server, with a separate manager responsible for its update. The delivery date is pulled from this microservice to both Magento and ERP to pull the same data. This block was added as a separate feature first on the product page. When a user selects a specific product, quantity and upload a file, an approximate delivery date is shown. And then, based on all this functionality, a delivery date is added to a confirmation email. We also added logic to help display the latest delivery date for multiple items with different delivery dates.
  • Installing Weltpixel GA4. We installed and updated the plugin and synchronized it with the needs of Google for more accurate collection of information on site statistics.

Project communication

 

For communication on each project, we choose the platform that will be convenient for our clients to use. In this case, the communication takes place through Google Chat and there is one mandatory call per week with the team. We also performed several integrations:

 

  • YouTrack synchronization with GitLab, but the main repository is on the client’s GitHub, where the workflow for deploying projects was implemented.
  • Marker.io is used for communication with the client. Access was provided through cloudflare for certain IP addresses. This greatly simplified the work process, since the client could immediately report some issues faster, and we distributed tasks within the team further.

 

At the moment, we continue to work with the source and implement new features that will help promote the site and increase sales. Many functional elements are under discussion and development.

Results of Magento Update and Microservice Implementation

Less Workload for the Office

Now the client's office is only checking orders, and if something is filled in incorrectly they contact the buyer

The Lower Number of Cart Abandonment

We have increased the transparency of all product purchasing processes, so most users make purchases on the site

Higher Site Speed Index

We’ve done a complete refactoring of the initial website version and updated it to the new Magento version

Vlad-Yunusov banner
Vlad-Yunusov

Tell us about your project

Get in touch with our team. Send us an email at [email protected] or call us 1 650 353 2301

Send request