Jump to content
gottaloveit

Automatically send data feed to Froogle

Recommended Posts

Jack,

 

We added a products_upc field so we could pass UPC to Google.  (Using your handy Add-A-Field add-on.)  We have many products for which we do not have a UPC.  (Most OEM replacement auto parts do not have a UPC and that is actually acknowledged by Google in the product feed specifications.)  Anyway, in the generated txt file, I see a value of "Not Supported" for those products that do not have a UPC in our database.  Is Google actually expecting to see "Not Supported" in that position if there is not a UPC?  I can't find reference to that particular text string needing to be in that 'field'.  (Or any 'field', for that matter.)

 

Thanks.

 

-Kevin


Add-Ons personally installed:

Step by Step Manual Order -- Request Reviews -- Reviews in Product Listing -- Reviews in Product Display -- Review Approval System -- Leverage Browser Cache --
Header Tag Controller -- Multilayer SEO Pop Out Menu -- Follow Us Box -- View All Products -- USPS Shipping Labels -- UPS Shipping Labels -- Monthly Sales/Tax Report --
htacess Optimisation -- Remove Unused Images -- Master Password -- Admin Change Customer Password -- Database Backup Manager -- Zero Stock Report --
Searchbox Search In Descriptions -- Easy Populate 2.76i -- Barcode Rendering -- Admin Sort By Model -- Products Purchased Report

Add-Ons personally developed:

Search for email address, etc in Orders -- Discontinue Product

Add-Ons installed by others:

View Counter -- Site Monitor -- Image Thumbnailer -- Database Optimizer -- Recaptcha -- Discount Coupons -- Add More Fields

Share this post


Link to post
Share on other sites

@@kru They have required fields for products: MPN, Brand and UPC (GTIN). If any of your products don't require any of those, or if you are not sure, then enable the identifier option. If some of them are required, which usually the first two are, then just fill in the ones you have and leave the others blank. This page explains it better, I think.

Share this post


Link to post
Share on other sites

@@kru They have required fields for products: MPN, Brand and UPC (GTIN). If any of your products don't require any of those, or if you are not sure, then enable the identifier option. If some of them are required, which usually the first two are, then just fill in the ones you have and leave the others blank. This page explains it better, I think.

Yes.  I have been using that same page as a reference.  It is my understanding you only use the 'identifier exists' attribute if you are missing both GTIN (UPC, in this case) and MPN.  From the page you referenced:

 

"In the rare situation where your product has neither a GTIN nor MPN (for example, made-to-order or handmade items), set ‘identifier exists’ to 'FALSE' to indicate that you have no identifier for the product."

 

Regardless, that's really a separate issue.  I was trying to figure out why the Google Base program is adding "Not Supported" in the UPC field of the txt file.  It only happens if the products record has not been updated to include a UPC and, as a result, the UPC field is still set to NULL.  (Which is a fair number of our OEM auto parts.)  Wouldn't it be better for Google Base to populate a value of '' (empty) if the UPC field is either empty or still set to NULL?  The help document you referenced says it is acceptable to provide no value for UPC as long as the Brand and MPN attributes are populated, which is the case with our feed.

 

My goal is to create output that's ready to load into Google without manually tweaking any records, because that can lead to typos and/or formatting problems.  (Not to mention delays.)  If "Not Supported" is never supposed to appear in the UPC field, as far as Google is concerned, shouldn't the code which is adding it actually be removed from the Google Base program?  I see where "Not Supported" is truly a valid value for another field, but not for UPC.  Perhaps it was at one time and the code is still in the program?

 

I can modify the code (@ line 501, if I recall) to keep it from happening in our file, but I thought I should bring it to your attention.


Add-Ons personally installed:

Step by Step Manual Order -- Request Reviews -- Reviews in Product Listing -- Reviews in Product Display -- Review Approval System -- Leverage Browser Cache --
Header Tag Controller -- Multilayer SEO Pop Out Menu -- Follow Us Box -- View All Products -- USPS Shipping Labels -- UPS Shipping Labels -- Monthly Sales/Tax Report --
htacess Optimisation -- Remove Unused Images -- Master Password -- Admin Change Customer Password -- Database Backup Manager -- Zero Stock Report --
Searchbox Search In Descriptions -- Easy Populate 2.76i -- Barcode Rendering -- Admin Sort By Model -- Products Purchased Report

Add-Ons personally developed:

Search for email address, etc in Orders -- Discontinue Product

Add-Ons installed by others:

View Counter -- Site Monitor -- Image Thumbnailer -- Database Optimizer -- Recaptcha -- Discount Coupons -- Add More Fields

Share this post


Link to post
Share on other sites

The identifier option can always be enabled. It is ignored if the products don't need it, unless they've changed the rules again. The not supported text appears when the UPC option is enabled and there isn't an entry for it from the database. This, too, used to be valid but google may have changed that. You can change the code where it says "Not Supported" to '' (remove the words). There are three places you should change that.  

Share this post


Link to post
Share on other sites

The identifier option can always be enabled. It is ignored if the products don't need it, unless they've changed the rules again. The not supported text appears when the UPC option is enabled and there isn't an entry for it from the database. This, too, used to be valid but google may have changed that. You can change the code where it says "Not Supported" to '' (remove the words). There are three places you should change that.  

"Not Supported" is only appearing in the output file if the value is still set to NULL.  If that field is empty, it is appearing as such instead.  If we modified the record for any other field, the value in the UPC was being changed from NULL to empty, whether we updated the UPC field or not.  So there was a weird mixture of values in the googlefeeder output file since we are constantly modifying product records.  A lot of blanks, some "Not Supported" and a lot of UPCs.  So I had to change the code whether "Not Supported" was a valid value or not.  It didn't make sense to have a mixture of blanks and "Not Supported" for those records that did not have a UPC.

 

FYI - The pickup-method attribute is the only one I could find that has a valid value of "not supported".

 

I'm not complaining.  I know Google is constantly making changes and it's incredibly hard, if not impossible, to keep up with them.  I'm just pointing it out so you can incorporate it into the next version, assuming there is one.  In the meantime, if others have problems with this and want to change it in the code, now they know how.  (Line 501 in admin/googlefeeder.php)


Add-Ons personally installed:

Step by Step Manual Order -- Request Reviews -- Reviews in Product Listing -- Reviews in Product Display -- Review Approval System -- Leverage Browser Cache --
Header Tag Controller -- Multilayer SEO Pop Out Menu -- Follow Us Box -- View All Products -- USPS Shipping Labels -- UPS Shipping Labels -- Monthly Sales/Tax Report --
htacess Optimisation -- Remove Unused Images -- Master Password -- Admin Change Customer Password -- Database Backup Manager -- Zero Stock Report --
Searchbox Search In Descriptions -- Easy Populate 2.76i -- Barcode Rendering -- Admin Sort By Model -- Products Purchased Report

Add-Ons personally developed:

Search for email address, etc in Orders -- Discontinue Product

Add-Ons installed by others:

View Counter -- Site Monitor -- Image Thumbnailer -- Database Optimizer -- Recaptcha -- Discount Coupons -- Add More Fields

Share this post


Link to post
Share on other sites

I have read multiple pages on this subject but cannot seem to find an answer to a question. Has anyone used this version of googlebase with the addon "Add more fields."  I am having an issue with the fields not being brought into the Description on the google feed. Anyone help me with the code for the googlefeeder.php needed to bring the data into the feed description. both are the latest versions

Thanks very much, Any help greatly appreciated. Am using bootstrap 2.3.4

 

Mike

 

 

Share this post


Link to post
Share on other sites

Add More Fields uses a placeholder in the description. You would need to include the Add More Fields function file to the googlefeeder file and then change the code that displays the product description to use the function that interprets the placeholder.

Share this post


Link to post
Share on other sites

A ton of questions. I'll try to organize them here as best I can. 
 

My settings:

define('OPTIONS_ENABLED', 0);
define('OPTIONS_ENABLED_AGE_GROUP', 0);
define('OPTIONS_ENABLED_ATTRIBUTES', 0);
define('OPTIONS_ENABLED_BRAND', 0);            //if set, see options for this setting below
define('OPTIONS_ENABLED_CONDITION', 1);
define('OPTIONS_ENABLED_CURRENCY', 0);
define('OPTIONS_ENABLED_EXPIRATION', 1);
define('OPTIONS_ENABLED_FEED_LANGUAGE', 0);
define('OPTIONS_ENABLED_GTIN', 0);              //if set, a database field named products_gtin must exist
define('OPTIONS_ENABLED_GOOGLE_PRODUCT_CATEGORY', 1); //http://www.google.com/support/merchants/bin/answer.py?answer=160081
define('OPTIONS_ENABLED_GOOGLE_UTM', 0);
define('OPTIONS_ENABLED_IDENTIFIER_EXISTS', 1); //set to 0 if required - https://support.google.com/merchants/answer/188494?hl=en
define('OPTIONS_ENABLED_ISBN', 0);              //if set, a database field named products_isbn must exist
define('OPTIONS_ENABLED_LABEL', 0);  
define('OPTIONS_ENABLED_MADE_IN', 0);
define('OPTIONS_ENABLED_MPN', 1);               //if set, see options for this setting below
define('OPTIONS_ENABLED_PRODUCT_MODEL', 0);     //displays the product model
define('OPTIONS_ENABLED_PRODUCT_TYPE', 1);
define('OPTIONS_ENABLED_SHIPPING', 0);
define('OPTIONS_ENABLED_INCLUDE_TAX', 0);       //0 = no tax, 1 = uses google method, 2 = UK Vat
define('OPTIONS_ENABLED_UPC', 1);               //if set, a database field named products_upc must exist
define('OPTIONS_ENABLED_WEIGHT', 0);

  • The only column headers showing in the feed are: link    title    description    price     image_link     id     availability (these columns all contain the correct information)
  • "products_upc" does exist in the table "products". Not all products have a upc so I would expect those to return false and the others to contain the upc. (no column or contents)
  • Condition is not showing (no column or contents)
  • Google Product Category is not showing (no column or contents)
  • MPN (name) is not showing. (no column no contents)
  • Identifier exists is not showing ( no column or contents but should all be false)

I've attached an image of the errors in the google merchant center with all the errors. 

 

I also have this error when creating the feed:

 

 

 

Warning: SQLiteDatabase::query() [sqlitedatabase.query]: too much data for one table row in /home/xxxxxx/public_html/includes/modules/ultimate_seo_urls5/cache_system/sqlite.php on line 130

post-124357-0-20782200-1475242652_thumb.jpg

Edited by queenzukie

Share this post


Link to post
Share on other sites

You only show some of the settings so I can't say what the problem is. But, in case you didn't notice, for many of the options there is a main option that enables/disables an option (those are what you show). Below those are related options that have to be filled in. For example, you have the google product category option enabled but you have to enter what that category is in the related setting. Please take another look with that in mind and post again if it doesn't help. And, in that case, post all of the settings.

Share this post


Link to post
Share on other sites

I'll post the options I've filled in later today. Thank you for checking it out Jack. 

 

What Jack is saying is, your first define statement says:

 

define('OPTIONS_ENABLED', 0);

 

However, if you're using any of the options at all, that first define should say:

 

define('OPTIONS_ENABLED', 1);

 

So you enable the options, then tell the program specifically which ones you want to use...


Add-Ons personally installed:

Step by Step Manual Order -- Request Reviews -- Reviews in Product Listing -- Reviews in Product Display -- Review Approval System -- Leverage Browser Cache --
Header Tag Controller -- Multilayer SEO Pop Out Menu -- Follow Us Box -- View All Products -- USPS Shipping Labels -- UPS Shipping Labels -- Monthly Sales/Tax Report --
htacess Optimisation -- Remove Unused Images -- Master Password -- Admin Change Customer Password -- Database Backup Manager -- Zero Stock Report --
Searchbox Search In Descriptions -- Easy Populate 2.76i -- Barcode Rendering -- Admin Sort By Model -- Products Purchased Report

Add-Ons personally developed:

Search for email address, etc in Orders -- Discontinue Product

Add-Ons installed by others:

View Counter -- Site Monitor -- Image Thumbnailer -- Database Optimizer -- Recaptcha -- Discount Coupons -- Add More Fields

Share this post


Link to post
Share on other sites

I have just upgraded to PHP5.4 and hopefully intend to update to 7 shortly

 

I am currently using 3.3 and the feed seems to generate some of the items but not all and goes to a http error 500 page

 

does anybody no whether any changes made between 3.3 and 3.5 make it usable in php5.4 and php7 as it does not look very different 

 

I am going to try to load 3.5 anyway on my test site but it would be nice to know if anybody has it running


David

Share this post


Link to post
Share on other sites

It will definitely run under 5.4. I've not tried it under 7. But you need to upgrade regardless since some options in 3.3 are no longer used by google.

Share this post


Link to post
Share on other sites

Thank you Jack, have installed it with PHP5.4 and all is as should be, would be interested if anyone using on PHP7, its going to be a bit of time before i switch over yet a while

 

Regards


David

Share this post


Link to post
Share on other sites

Thank you Jack and Kru. I've enabled options. I now have these column headers:

 

link title description price image_link id availability condition expiration_date google product category mpn product_type upc

 

I think I have it working correctly now. My CSV file isn't showing headers but my txt is. No big deal at this point since google is accepting my feed in txt form. 

 

I changed the code on this line from "not supported" to "FALSE" as described here: https://support.google.com/merchants/answer/160161?hl=en

           $output .= "\t" . (isset($row->isbn) ? $row->isbn : (strlen(OPTIONS_ISBN) ? OPTIONS_ISBN : "FALSE"));

I have some items that are just showing a blank space for the ISBN. I believe that's on my end and I'll look at each individually. 

I am also getting that same sqlite error but the feed seems to be going through fine. I'll look into this later. 

 

 

 

Warning: SQLiteDatabase::query() [sqlitedatabase.query]: too much data for one table row in /home/xxxx/public_html/includes/modules/ultimate_seo_urls5/cache_system/sqlite.php on line 130

Thank you for your support Jack! 

Share this post


Link to post
Share on other sites

@ The csv file is not meant to be used. It is just for a quick look at the feed from while in the browser since most pc's will load the txt file in a text editor. The database error doesn't have anything to do with this addon. If you have the SEO 5 url rewriter installed, trying disabling it to see if the problem goes away. If the problem persists, you will need to open a new thread in the general forum.

Share this post


Link to post
Share on other sites

 Any suggestions on how to truncate the name (title) length down to 150 characters?

 

I found this when researching:

 

 

 

$length = 150; //modify for desired width if (strlen($string) <= $length) else  

Code above will truncate the string at the first space after the desired length, useless for people who wants the string to have at least a minimum amount of characters, but immediately bring to a halt right after the whole word exceeding the limit.

 

Would this work to put somewhere around this?
 


      $output .=
      preg_replace($_strip_search, $_strip_replace, strip_tags( strtr($row->name, $_cleaner_array) ) ) . "\t" .
      preg_replace($_strip_search, $_strip_replace, strip_tags( strtr($row->description, $_cleaner_array) ) ) . "\t" .

Share this post


Link to post
Share on other sites

I cannot seem to get the settings right for the column "Identifier exists" to show up with a "False" in each row. Any help on that one?

Share this post


Link to post
Share on other sites

@ For the limit, find

products_description.products_name AS name,

and change it to

LEFT(products_description.products_name, 150) AS name,

The identifier code checks the Brand, GTIN and MPN columns. If two of those are empty, or not used, the identifier should be false.

Share this post


Link to post
Share on other sites

Hi There

 

After come changes at my host, which i am not 100% sure what they were, but to do with permissions, my feeder file will no longer work goes to a HTTP 500 page, I am sure its going to n=be permissions on a file but /goglefeeder,php is set to 755 as it was before

 

the reason i think its permisioon is if i edit out chdir('../'); googlefeeder.php will at least load even if it does not perform the function properly

 

any clues as to which file or folder you think the permission issue will be

 

the feed is 777

running 3.5 version

has been working for last few weeks, nothing else has changed

 

or can i change

 

chdir('../');

 

thank you 


David

Share this post


Link to post
Share on other sites

Just as a update i put the googlefeeder.php in the catalog and commented out chdir('../'); to test and it works as it should

 

So there must be a permission problem probably something that application_top.php is calling but haven't found it yet

 

I assume hard coding chdir('../') will not make any differnce as it will still be calling everything from within catalog rather than admin so i will keep looking, looks like all =the folders though are 755, some files are 644 and some 755


David

Share this post


Link to post
Share on other sites

@@DAVID3733 Putting the file in the catalog section creates a security hole so it is not a good idea. I suggest you look at the error_log file in the admin, if one exists, or in your control panel to determine the error. If neither exists, as your host to look at it to find the error.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×