You are here:  » Product mapping question

Support Forum



Product mapping question

Submitted by Wouter Rens on Tue, 2012-10-30 18:57 in

Hi David,

I have a question about the product mapping tool.

I imported one datafeet CSV with products. A lot of products have a name I don't want them to have. For example:

SAMSUNG GALAXY S III CERAMIC WHITE, O2 CALL-SMS 130, TTN 2012 MOBILE DE 1 JEAR

In the product mapping tool I created a master product name 'Samsung Galaxy SIII'. Then i used Product Mapping Helper to find all the products (containing Galaxy SIII) that should appear as 'Samsung Galaxy SIII'.

For example:
=SAMSUNG GALAXY S III CERAMIC WHITE, O2 CALL-SMS 130, TTN 2012 MOBILE DE 1 JEAR (in Product Mapping Helper).

On my website the productnames are not 'Samsung Galaxy SIII', but they have still the name as i imported them. When i delete the feed, and keep the master product name, and then import the feed again, only 30 of the 3000 feeds are imported.

Do you know what could be the problem?

Thanks a lot!
Wouter

Submitted by support on Wed, 2012-10-31 09:18

Hello Wouter,

That sounds like the mapping is being applied too broadly. The first thing I would suggest is trying a keyword match, so instead of using the helper tool simply create a master product name of "Samsung Galaxy SIII" and then in the Alternatives box on the configuration page, I would try dropping "Samsung" as some of your feeds may only have this in a brand field, and start with just

"Galaxy SIII"

Now there is a potential problem that this could pull in accessories (e.g. case, car kit etc.) for the Galaxy SIII in which case then revert to using exact matches.

As before, enter your query "Samsung Galaxy SIII" in the Product Mapping Helper search box and then highlight and click to add each of the exact matches over to the Alternatives box, so you will have e.g.

=SAMSUNG GALAXY S III CERAMIC WHITE, O2 CALL-SMS 130, TTN 2012 MOBILE DE 1 JEAR
=SAMSUNG GALAXY SIII WHITE

etc. Then save and import and see if that has mapped the products as required. If you're still not sure I can look at your Product Mapping easily as follows. Click Database Tool from your /admin/ home page, uncheck everything except "Product Mapping" and click Backup. If you could then open the Backup file in your text editor and copy / paste the content into a reply (I'll remove before publishing) I'll look at the mapping on my test server and check that it looks OK...

Cheers,
David.
--
PriceTapestry.com

Submitted by Wouter Rens on Wed, 2012-10-31 11:56

Hi David,

Thanks for the answer, i appreciate the good feedback.

I followed all the steps, but the product names are still not mapped. Here is a copy of my backup file.

{code saved}

Submitted by support on Wed, 2012-10-31 12:33

Thanks Wouter,

I noticed, right at the very end of your Alternatives list was just "Samsung" on its own - so I think that may be the problem. Delete that line from the end of your Alterntiaves list and re-import - that may be all it is.

As it stands, with that entry there everything containing "Samsung" would have been imported as "Samsung Galaxy SIII" which I don't think is what is intended...

Let me know if you're still not sure...

Cheers,
David.
--
PriceTapestry.com

Submitted by Wouter Rens on Wed, 2012-10-31 12:49

Hi David,

I tried it, but when I use the searchform on (for exaple keyword) 'SIII' no products can be found. And I am sure I allso imported Samsung Galaxy SII phones. It seems to the product mapping tool is not working at all.

When I ad or change a master product name, do I have to import the again?

Thanks!
Wouter

Submitted by support on Wed, 2012-10-31 12:53

Hello Wouter,

Yes - after editing Product Mappings you need to re-import all affected feeds as the mappings are applied at import time.

Would you like me to take a look at your site? If you could post the installation URL, and any password required for /admin/ (i'll remove before publishing your reply) I'll check it out right away for you...

Cheers,
David.
--
PriceTapestry.com

Submitted by Wouter Rens on Wed, 2012-10-31 13:16

Hi David,

After editing the Product Mappings I deleted and imported the same feed again (with te same product title etc.). I registered and then imported te feed. Now 0 products are imported. Feel free to have a look, and thanks!

Greetz Wouter

Submitted by support on Wed, 2012-10-31 13:42

Hello Wouter,

Thanks for the info, I've had a look on your site.

I think the zero products was unrelated to Product Mapping, as I deleted the mapping and re-imported and there were still zero products. So I re-registered the feed as follows:

Product Name: title
Description: description
Image URL: image
Buy URL: url
Price: initial_price

Note that the Price field auto-detects as "price", but I think that field is empty in many records in the feed. Using initial_price it imported all 4000+ products.

I then re-created a Product Mapping for "Samsung Galaxy SIII", and then used a search in the Product Mapping Helper for "Samsung Galaxy S III" which returns that merchant's products. It looks OK just adding it as a keyword match, which you will see when looking at the configuration page for the mapping.

I then did the same for Samsung Galaxy SII, so now if you search on your site e.g.

http://www.yoursite.com/pt/search.php?q=Samsung+Galaxy+SII

...you will see both products listed with their mapped name...

Hope this helps!

Cheers,
David.
--
PriceTapestry.com

Submitted by Wouter Rens on Wed, 2012-10-31 14:03

Thanks David,

I wil experiment with it to learn about the datafeeds & mapping tools.

The results of what you did are good, but I noticed there is now only 1 Samsung Galaxy SII and only 1 Samsung Galaxy SIII (using the searchform: SII/SIII). How come?

Grz Wouter

Submitted by Wouter Rens on Wed, 2012-10-31 14:04

I mean, in the stocklist there should be more than 1 (a black one, a white one etc.)

Grz

Submitted by support on Wed, 2012-10-31 14:11

Hello Wouter,

Mobile phone feeds are slightly more complex to work with due to their nature of not being "tangible" products but where each product record may related to the same product (phone) but with different contract, e.g. texts, minutes, contract length etc.

It does take a bit of taming but "out of the box" with a Product Mapping applied duplicate prevention works against the product name field.

However, there is a feature of the script that preserves the original (unmapped) name; for use in the price comparison table - as this gives additional keyword variety on product pages, and one option would be to make duplicate prevention apply to the original name and not the master product name.

To make this change, you will need to edit your includes/admin.php and look for the following code at line 354:

    $dupe_key .= $normalisedName;

...and REPLACE with:

    $dupe_key .= $importRecord["original_name"];

Then re-import; and then you will see all the different records that you mapped on the product page...

On a separate note, I noticed when looking at your site that your value for $config_currencyHTML (in config.php) is missing the ";" part of the HTML entity for the Euro symbol - it should be:

  $config_currencyHTML = "€";

(not to be confused with the ";" on the end of a line of PHP code!!)

Hope this helps!

Cheers,
David.
--
PriceTapestry.com

Submitted by Wouter Rens on Wed, 2012-11-07 10:58

Hi David,

Thanks for the support! The product mapping is working fine :)

I changed the Euro symbol, added the " sign. But on the website, there is still no € sign.

Now this is the setting in config.php:

$config_currencyHTML = "€";

and the character settings are:

$config_charset = "utf-8";

Do you allso have a suggestion how to ad 'p.m.' (per month) after each price? Mij prices are contracts, so the price is per month.

Thanks,
Wouter

Submitted by support on Wed, 2012-11-07 11:59

Hello Wouter,

The code for $config_currencyHTML looks fine - perhaps double-check that the changes were uploaded is the first thing I would suggest, if you're still not sure email me your config.php and I'll check it out for you.

Regarding adding "p.m." to the prices, this is easily done in the template files. In each of:

html/featured.php
html/prices.php
html/searchresults.php

...search for

$product["price"]

...and REPLACE with:

$product["price"]."p.m."

And in html/product.php search for:

$mainProduct["price"]

...and REPLACE with:

$mainProduct["price"]."p.m."

Hope this helps!

Cheers,
David.
--
PriceTapestry.com