Supplier
- references / identifiers
- titles / descriptions
- price / stock
- images / categories
PROFESSIONAL EXPERIENCE
I joined Dromersland in 2019 working on catalog and technical e-commerce operations. As the business grew, I took on responsibilities across automation, supplier integration, Data Quality and Data Governance, TecDoc, Collibra, customers and vehicles, pricing, logistics and measurement architecture.
I started working with one website, one main supplier and a catalog focused on lighting and automotive components. My first responsibilities were related to product management and publishing, but catalog growth made it necessary to automate processes with Python, pandas, CSV and SQL and improve data quality and structure.
I used Python and pandas to automate CSV catalog transformation, perform joins by SKU or reference, normalize attributes and prepare bulk loads for WooCommerce.
I defined and applied reproducible rules to normalize titles, references, attributes, descriptions and derived fields, keeping source-to-destination SKU traceability.
The catalog started at about 15,000 items in 2019, reached around 50,000 in 2021–2022 and eventually exceeded 150,000, forcing me to progressively adapt load, query and validation processes.
I structured the lighting catalog by modeling relationships among SKU, references, technology, position, components and compatibilities, and applied basic Data Quality controls.
The automotive catalog combined SKU, internal and manufacturer references, categories, technical attributes, position, side, technology, stock, images and compatibilities. Information could not be maintained only as isolated product sheets because products depended on relationships between components and vehicles.
On this data I applied controls for completeness, consistency, uniqueness, validity, accuracy and standardization, especially on references, required attributes and compatibilities.
I implemented Universal Analytics to connect e-commerce operational data with traffic, behavior, conversions and sales.
I worked on the implementation and maintenance of Universal Analytics to measure traffic origin, navigation, product views, user behavior, conversions and sales associated with the different channels.
I prepared and maintained the product feed to Google Merchant Center and Google Shopping, resolving identifier, title, price and availability errors that affected campaigns.
Input / preparation
Publishing
Quality control / feedback
Detected issues were corrected in the data transformation or in the internal catalog before regenerating and publishing the feed.
Input / preparation
Publishing
Quality control / feedback
Detected issues were corrected in the data transformation or in the internal catalog before regenerating and publishing the feed.
During this period the number of suppliers grew progressively to about five or six. Catalogs arrived in different languages, formats and quality levels, so I took on normalization, integration, definition of a common product model and application of Data Quality rules.
I integrated catalogs from five or six suppliers with heterogeneous formats, languages and quality (CSV, Excel, APIs and custom structures).
Integration required resolving differences in structure, language, references and completeness before adding data to the internal model.
I built a common product representation to integrate heterogeneous sources and normalize technical vocabulary across suppliers and languages.
Integration stopped being adapted individually to each supplier. Different sources were transformed into a common internal model, preserving the technical meaning of part, position, side, technology, manufacturer, reference, compatibility and vehicle or component characteristics.
ES
EN
PT
Normalization
Part
Vehicle
Matching to the internal model
Representaciones resueltas
SEAT León 2 · SEAT Leon II · SEAT Leon MK2
I applied common Data Quality rules on required fields, formats, categories, references, duplicates, attributes and compatibilities.
Source data as it could arrive from the supplier
Information inferred from received data
Supplier reference convention
Sufijo L → posible lado izquierdo
Source-specific rule; it was not a universal convention.
Problemas detectables
Interpretation of supplier abbreviations and nomenclature
Source conventions and cross-check against OEM equivalences
Model, generation and fitment resolution with TecDoc and internal sources
Technical cross-check when the supplier did not provide enough information
Derivation and cross-check
PIL → Piloto
DEL → Delantero
Suffix L → possible left side per that source’s convention
Cross-check of the reference against manufacturer equivalences
Vehicle, generation, fitment and compatibility resolution
Obtaining or validating via references and technical sources when it was not provided
Additional cross-check when source data was not enough
Pregunta clave
Do we have the required data, and are formats and values usable?
Pregunta clave
Have we correctly determined which part it is and which technical attributes belong to it?
Pregunta clave
Do references, equivalences and compatibilities resolve against the same entity without duplicates or contradictions?
The record can continue into integration or publication processes.
The record requires review or correction before continuing.
I managed cookie and consent requirements: purpose, allowed scripts and conditions under which data could be sent to third parties.
The ecosystem grew to three platforms and the same products started to depend on multiple suppliers, references, pricing and commercial terms. During this stage I worked on Supplier Data normalization, supplier-selection logic, consistency across applications and TecDoc integration.
I kept consistency of references, products, prices, stock, images, events and compatibilities across two WordPress sites and one Django application.
The environment grew to two WordPress platforms and one Django application, with shared catalogs and application-specific data. One platform targeted B2B customers and added accounts, commercial terms and B2B features.
Catalog and e-commerce operations
B2B customers and commercial terms
Application with its own catalog and logic
Even when each application had specific features and data, shared entities had to keep consistent references, relationships and meaning.
The same reference or product had to resolve against the same entity regardless of the application.
Categories, relationships and compatibilities had to keep the same interpretation across platforms.
Price, stock and other operational data had to stay consistent with the sources feeding them.
I separated product identity from each supplier’s offers and normalized their price lists so cost, shipping, availability and terms could be compared.
The same product could be available from several suppliers with different references, prices, shipping, stock and terms.
A single product identity
Ejemplo
The same headlight for a 2005 SEAT Ibiza could have several internal offers while the customer saw a single product.
Identifier received in each price list
Relationship between the supplier reference and the corresponding part
Resolution against a single internal product identity
Before comparing pricing, it was necessary to confirm that the different references really corresponded to the same part.
Each supplier price list was transformed into a common structure and resolved against the Product Master before it could be compared.
Received data
Normalized structure
Same comparison base
Purchase price on the same product identity
Logistics cost associated with the offer
Stock or availability reported by the supplier
Commercial terms applicable to that offer
Once identity was resolved and data normalized, different supply alternatives could be compared on the same product.
I implemented supplier-selection logic based on matching, freshness, actual cost, shipping, availability, margin and terms.
Each Supplier Offer represented a real supply alternative for the same Product Master.
The reference had to be correctly resolved against the Product Master to avoid comparing different parts or losing equivalent offers.
Rate, stock and terms had to be up to date before using an offer in the decision.
Once the offer was validated, the decision was not based only on purchase price.
Purchase price plus costs associated with the offer.
Transport cost associated with the supply.
Stock available at the time of the decision.
Economic impact and applicable commercial terms.
The selected offer was the one that best matched the real order conditions once identity was resolved and data validity checked.
Result of comparing the valid alternatives available for that Product Master.
I secured the technical layer of feeds, events, conversions and measurement required by Smart Shopping, while the agency defined the campaign strategy.
It defined the strategic acquisition side.
I prepared and maintained the technical base so Smart Shopping could operate correctly.
My work was to ensure the catalog reached Merchant Center correctly and that event and conversion measurement reliably fed Google Ads and Analytics integrations.
The catalog could be published and maintained with controlled incidents.
Events and conversions were available for the advertising layer.
The agency could run campaigns on a maintained and debugged technical base.
I integrated TecDoc by resolving relationships among vehicles, makes, engines, OE/OEM, equivalences and compatibilities with our catalog and applications.
Fitment and compatibility entity
Vehicle hierarchy
Technical vehicle variant
Manufacturer references
Relationships between references
Technical part grouping
Part–vehicle relationship
Linking to the own catalog
Cross-matching with external references and equivalences
Data consumption in catalog platforms
Applying the data to navigation, search and compatibilities
The critical part was distinguishing whether a reference pointed to the same product, an equivalence, a compatible alternative or a different part.
The reference resolved against the same part in our catalog.
The part was the same, but the reference came from another nomenclature.
The part was not identical, but could be applied to the same vehicle or context.
The reference must not be mixed with the primary identity or its equivalences.
That work made it possible to integrate TecDoc without breaking catalog identity, compatibilities or the applications' search logic.
I adapted feeds, conversions, products, events and integrations during the replacement of Smart Shopping with Performance Max.
Previous base on which feed, measurement and integrations already existed.
New environment the existing technical layer had to be adapted to.
Migration was not about rebuilding campaign strategy, but about adapting products, signals and measurement to the new technical model.
Product, feed and availability prepared for the new environment.
Events, conversions and signals reviewed to maintain technical continuity.
Connections with Google Ads and Analytics adapted to the new operating model.
Products and their availability could continue to be used in the new environment.
Conversions, events and signals were ready for the technical transition.
Google Ads and Analytics remained connected on the adapted technical base.
Migration required adjusting the existing infrastructure without losing coherence among catalog, measurement and integrations.
Adding TecDoc substantially increased the number of entities, references and relationships that had to be maintained. We evaluated Microsoft Purview and Collibra and finally adopted Collibra. I handled a substantial part of the technical implementation, modeling and maintenance automation, while continuing to work on GTM, dataLayer, GA4 and data contracts across the three platforms.
The complexity introduced by TecDoc led to formalizing Data Governance; we evaluated Microsoft Purview and selected Collibra for maturity, depth, flexibility and fit.
TecDoc multiplied entities, identifiers, equivalences and relationships until relying on isolated scripts, scattered documentation and implicit knowledge became insufficient.
We evaluated it through tests, but for our case it did not offer the depth, flexibility and maturity we needed in a heterogeneous environment.
It offered a better fit for the model we had to govern and the relationships we needed to maintain.
Enough capacity to sustain a real governance model.
Level of detail needed for assets, relationships and mappings.
Ability to adapt to heterogeneous sources and structures.
Fit with the data model and the relationships we needed to maintain.
Selected for its better fit to the model and the level of governance we needed.
I handled a substantial part of Collibra implementation and maintenance, including mappings, relationships, nomenclatures, sources, consumers and rules of the real ecosystem.
I moved into Collibra a substantial share of the knowledge that previously lived across systems, documents and operational know-how.
Model governed in Collibra
Definition of structures and nomenclatures to represent the data ecosystem.
Connection between fields, assets, products, suppliers and references.
Documentation and rules needed to preserve the meaning of the model.
Source
Campo / activo
Consumidor
Product
Supplier
Reference
The goal was to turn scattered operational knowledge into a maintainable structure of assets, mappings, relationships, sources, consumers and rules.
I developed reusable processes to prepare, validate and maintain Collibra data through changes in suppliers, TecDoc, catalogs and rules.
When volume made it impractical to maintain the model manually, I developed scripts to transform structures, normalize names, validate fields, compare datasets, detect differences and prepare additions or updates.
The same processes were reused when suppliers, catalogs, attributes or relationships changed, reducing manual work and making maintenance more consistent and reproducible.
Changes in structures, references or received data.
Changes in entities, references or technical relationships.
Changes in products, attributes and catalog structures.
Changes in attributes, relationships or rules.
Changes were reviewed before being incorporated into the model.
The model was updated more consistently and reproducibly as the ecosystem changed.
I defined consistent event contracts between WordPress and Django and implemented GTM and dataLayer as a common instrumentation layer.
I worked with tags, triggers, variables, JavaScript, ecommerce, conversions and consent in Google Tag Manager. The dataLayer acted as the interface between applications and measurement tools.
Two WordPress platforms generating events with the same contractual structure.
Django application using the same event contract.
Common identifier of the measured action.
Minimum data the event had to provide.
Values needed to correctly relate the event.
Expected structure and content for each field.
Consistent representation across applications.
Rules that determined when the event could be emitted.
Required fields
A purchase had to consistently provide transaction_id, value, currency and items regardless of the source application.
Event origin.
Common data interface.
Processing of tagging and send rules.
Measurement and conversion destinations.
Across three platforms, I standardized event names, required fields, identifiers, types, values, formats and send conditions.
I rebuilt the measurement model in the migration to GA4: events, conversions, ecommerce, tags, triggers, dataLayer, Ads and JavaScript logic.
Measurement model that had to be replaced.
Reconstruction of business actions and the ecommerce model.
Adaptation of the instrumentation layer.
Review of goals and audiences linked to the new model.
Adaptation of measurement-dependent connections.
Events, conversions and integrations adapted to the new measurement model.
The retirement of Universal Analytics forced a full review of the instrumentation model. I adapted events, conversions, ecommerce, tags, triggers, dataLayer, Google Ads integrations, goals and audiences, and also reviewed platform-specific JavaScript.
I implemented reconciliation of campaigns, leads, customers, sales and identifiers to relate offline conversions to their origin and keep first-party data consistent.
Acquisition origin.
Prior action recorded.
Contact related to the opportunity.
Conversion completed outside the online journey.
Record used to reconcile the operation.
Conversion returned to the platform with its context.
Part of sales could be completed outside the web flow. To relate them to their origin I worked with identifiers, dates, values, leads, customers, orders, deduplication and validations.
First-party data prepared for external integrations.
Second first-party identifier prepared under the same quality rules.
Removal of unusable formats or characters.
Homogenization of data representation.
Reduction of repeated records.
Verification that the data could be used correctly.
Control of the conditions of data use.
First-party data prepared and validated for use in the corresponding integrations.
I also normalized and prepared first-party email and phone for external integrations, applying cleaning, deduplication, validation and consent controls.
Between 2023 and 2025 I expanded my responsibilities across Consent Mode, product metadata, search and compatibilities, professional pricing, Customer Master Data and Vehicle Data. In parallel, the catalog stopped being mainly lighting-focused and expanded into many bodywork families and other components: product volume grew roughly threefold and the taxonomy went from about five or six main categories to more than thirty. That growth forced a review of normalization, classification, Google feeds, logistics and supplier/carrier selection rules.
I implemented and debugged Consent Mode v2 on GTM, dataLayer and gtag, controlling signals, states and execution order.
I standardized attributes needed for search, filters, categories and compatibilities so products could be found and published correctly.
I implemented B2B pricing and access controls to apply the correct rate by customer, segment, volume and commercial terms.
In the professional area, price started to depend on the relationship between product, customer, segment and commercial terms. The model used data such as customer type, volume, pricing level, discounts, exceptions and validity.
Part on which the professional rate had to be calculated.
Commercial context used to determine the pricing level.
Rules that could modify the applicable rate.
Result of combining product, customer or segment and commercial terms.
Product + Customer / segment + Terms → Applicable rate
I also restricted visibility of professional prices and terms to reduce errors and prevent a rate from another customer or segment from being shown or shared out of context.
The professional rate had to be shown only in the corresponding context.
Commercial terms had to remain associated with the correct customer or segment.
Access was limited to the information needed for each context.
Access rules reduced the risk of exposing rates out of context.
These controls were applied through existing system logic, not through a formal DLP suite.
I modeled customers and workshops as business entities related to contacts, accounts, rates, orders, balance and commercial status.
Person who could act as a contact for an account or company.
Identity used to access the platform.
Entity to which commercial and operational terms were applied.
Professional organization related to contacts, orders and rates.
Separating these entities avoided duplicates or incorrect associations.
People associated with the workshop.
Operations linked to the B2B customer.
Applicable commercial terms.
Customer financial and operational situation.
A workshop could have several contacts, orders, a given rate, terms and its own commercial situation.
Accumulated financial situation.
Outstanding amounts associated with the customer.
Operations not yet closed.
Payment situation used in the commercial context.
Accuracy and, especially, freshness of those data could condition new commercial operations.
I related supplier availability and lead time to transport costs and timelines, selecting the most suitable carrier by part size, shipping cost and estimated delivery time.
Acquisition price associated with the supplier offer.
Logistics cost associated with supply from the supplier.
Stock available at the time of the decision.
Economic impact of the supply alternative.
Expected time until the part is available.
Dimensions that could restrict carriers or increase shipping cost.
Actual cost of shipping that part.
Transport terms applicable by product type and size.
Lead time that could be communicated to the customer based on supplier and transport.
With the addition of bodywork parts, product size and volume also started to condition logistics: a large part could make an apparently cheaper offer stop being optimal because of shipping cost.
Supply alternative selected by cost, availability and margin.
Logistics alternative selected by size, restrictions, cost and lead time.
Coste total
Economic result of supplier + transport.
Estimated delivery
Lead time resulting from availability + transport.
Receiving an estimated date consistent with the selected alternative.
I compared shipping alternatives by part dimensions, cost, carrier restrictions and estimated delivery time. The final decision combined supplier and transport to reduce total cost without compromising the date communicated to the customer.
I integrated Vehicle Master Data, license plate/VIN and TecDoc to resolve product identity and compatibilities, controlling false positives and false negatives in the displayed catalog.
Input used to identify the vehicle when available.
Identifier used to resolve the vehicle with higher precision.
Alternative when the vehicle was selected directly by its characteristics.
Vehicle make.
Model identified.
Specific variant within the model.
Technical vehicle configuration.
Period used to bound compatibilities.
Identifiers used to relate the vehicle to TecDoc.
Search started by first identifying the vehicle via license plate, VIN or manual selection and then querying TecDoc to resolve compatible products. The Vehicle Data domain included make, model, version, engine, year and TecDoc identifiers related to product references and equivalences.
References related to the part.
Manufacturer references used to resolve equivalences.
Relationships among technically equivalent references.
Final relationship between part and vehicle.
Products compatible with the identified vehicle.
We also allowed saving vehicles in the account to reuse them in search and filters. These relationships required correct association among user, vehicle and identifiers, plus controls on access, storage and minimization.
Account the vehicle was associated with.
Saved vehicle entity.
Data needed to keep the correct association.
Control of who could read the information.
Persistence of the data needed to reuse the vehicle.
Keeping only the data needed for the functionality.
Showing an incompatible part.
Hiding a valid part.
I governed a catalog that grew roughly threefold, moving from about five or six main categories to more than thirty and incorporating bodywork and other families, with direct impact on taxonomy, feeds, search and Data Quality.
×3 aproximadamente
Product volume
Approximate growth versus the previous catalog.
5–6 → 30+
Main categories
Increase in the taxonomy needed to classify the catalog.
Lighting → bodywork and other families
Domain expansion
Entry of new product families with different classification and logistics requirements.
Between 2023 and 2025 the catalog stopped being mainly lighting-focused and expanded into many bodywork families and other components. That growth roughly tripled product volume and required a much broader taxonomy, with more than thirty main categories and new classification, attribute and compatibility rules.
Historical catalog families.
New families with greater impact on classification and logistics.
Products with specific categorization inside the catalog.
Remaining groups added during the expansion.
At an earlier stage, feeds could be kept more separated by brands.
Catalog growth forced a more precise split and classification of the products sent.
The Google feed structure also had to evolve. Feeds that could initially be kept more separated by brands started to require much more granular segmentation by product groups and families, while keeping consistency among internal classification, attributes sent and Merchant Center requirements.
Foundation for bulk transformation processes.
Joining datasets by keys and references.
Detection and reduction of repeated records.
Homogenization of fields, names and formats.
Detection of changes across versions or sources.
Batch processing when volume made it impractical to process everything at once.
Checks before and after transformations.
When multiple sources offered different information, I defined the reliable source by attribute.
From a supplier
From another supplier
From TecDoc
From internal information
Result of combining each attribute from the source considered reliable for that data.
The same catalog continued to be fed by suppliers, TecDoc and internal information. To keep it consistent I kept applying normalization, matching, deduplication, validations and Source of Truth by attribute.
In 2025–2026 I went deeper into the technical measurement and first-party data layer, implementing Enhanced Conversions and server-side tagging with normalization, consent, events, identifiers, validation and debugging. In parallel, the company internalized a larger share of Google Ads operations; my responsibility remained focused mainly on Data Quality, tagging, events, conversions and measurement, while commercial and creative strategy belonged to another layer.
I integrated Enhanced Conversions with first-party data to strengthen measurement amid growing restrictions on traditional tracking.
I took part directly in the technical implementation of Enhanced Conversions using first-party data, conversion events, normalization, validation, consent, Google Tag Manager and Google Ads.
Customer first-party data used when available and usable under the corresponding consent conditions.
Second first-party identifier prepared under the same quality and consent rules.
Homogenization of data before adding it to the measurement flow.
Verification that the data had a usable structure before sending it.
Control of the conditions under which data could be used in measurement.
Business interaction or action that had to be measured.
Result associated with the event sent to the measurement platform.
Email / phone normalized, validated and subject to consent.
Instrumentation of the measurement flow.
Destination of the conversion and associated data.
Strengthening measurement with first-party data.
Hashing was handled by the corresponding tools; my responsibility was to provide and correctly validate the data and the measurement flow.
In 2025, with greater internalization of Google Ads, my specialization remained focused on Data Quality, tagging, events, conversions and measurement, and I obtained official Google certifications related to advertising and measurement.
The agency concentrated strategy, campaign structure, creatives, budgets and optimization.
The company took on a larger share of Google Ads operations.
That change widened the context I worked in, but my main responsibility remained in the technical data and measurement layer.
My work focused on preparing, instrumenting, validating and debugging the data that fed measurement and advertising integrations.
Review of consistency of the data used by integrations.
Maintenance of the technical instrumentation needed for measurement.
Verification of actions and signals sent from the applications.
Validation of the path from the event to the recorded conversion.
Debugging of discrepancies and continuity across applications and platforms.
Technical integration of data and conversions with the advertising platform.
Product, feeds and commercial Data Quality.
Events, conversions and measurement.
Consumption of product, signals and conversions.
Commercial and campaign decisions.
Data and instrumentation needed to measure and feed the platforms.
In 2025 I obtained official Google certifications related to advertising and measurement.
They formalized knowledge I was already using in production and were also useful in the Google Partners context.
I implemented and maintained the server-side measurement layer as a direct technical responsibility.
Growing browser and privacy restrictions made it necessary to move part of the instrumentation to a server-side layer, keeping a complementary relationship with client-side measurement.
I directly handled implementing and maintaining that layer, working with structured events, payloads, identifiers, conversions, first-party data, consent, validation and debugging of flows into GA4 and Google Ads.
Origin
Applications generated the source interactions and events.
Processing
It received structured events and prepared subsequent processing and sending.
Destinations
Destination platforms for measurement and conversions.
Structure of the data sent across flow layers.
Data used to relate events and conversions.
Business events that had to arrive correctly at destinations.
First-party data prepared for use within applicable conditions.
State that conditioned data processing and sending.
I checked event structure, the data sent and correct arrival at destinations.
I investigated incidents across the source, the processing layer and destination platforms.
Browser-side instrumentation continued to collect part of the interactions and events.
The additional layer made it possible to process and forward certain events while reducing part of the direct browser dependency.
The server-side model complemented client-side measurement; it did not fully replace it.
My responsibility included implementation, maintenance, validation and debugging of the server-side layer and associated measurement flows.
This implementation reduced browser dependency and complemented client-side measurement within privacy restrictions.