# Pornire rapidă - Price Asset Updater pentru Merchant Center

Această fișă este destinată instalării scriptului într-un singur cont Google Ads. Repetați procesul pentru fiecare cont în care doriți sincronizare. Nu porniți aplicarea modificărilor până când rularea de simulare nu este validată.

| Fișier necesar | Rol |
| --- | --- |
| `price_asset_updater_merchant_center.js` | Scriptul care se copiază în Google Ads. |
| `Ghid_Price_Asset_Updater_Merchant_Center.md` | Ghidul tehnic complet, inclusiv referințe și limitări. |
| `Copy_website_Price_Asset_Updater_Merchant_Center.md` | Textul pentru catalogul de scripturi și pagina de prezentare. |

## 1. Pregătire

Înainte de instalare, confirmați că utilizatorul care creează sau autorizează scriptul are acces la contul Google Ads și la contul Merchant Center din care se vor citi produsele. Pregătiți ID-ul numeric Merchant Center și verificați că asseturile de preț au fost create cu minimum trei carduri.

| Informație de pregătit | Exemplu |
| --- | --- |
| Merchant Center ID | `123456789` |
| Tip de asset | `PRODUCT_TIERS`, `BRANDS` sau `PRODUCT_CATEGORIES` |
| Câmp de categorie | `customLabel0` până la `customLabel4` |
| Câmp de brand | brand nativ sau `customLabel0` până la `customLabel4` |
| Destinatar raport | `ppc@companie.ro` |

## 2. Instalare

Deschideți contul Google Ads, apoi mergeți la **Tools > Bulk actions > Scripts** și creați un script nou. Copiați conținutul complet din `price_asset_updater_merchant_center.js`.

În editorul scriptului, deschideți **Advanced APIs** și activați **Merchant API - Products v1**. Aliasul de serviciu trebuie să rămână `MerchantApiProducts`, deoarece acesta este numele utilizat în cod. Dacă Google solicită activarea API-ului în proiectul Google Cloud asociat, finalizați și acel pas. În Merchant Center, proiectul trebuie înregistrat pentru Merchant API.

## 3. Configurare minimă

Actualizați obiectul `CONFIG` de la începutul scriptului. Mai jos este o configurație sigură pentru prima rulare.

```javascript
const CONFIG = {
  merchantId: '123456789',
  includeProductTiers: true,
  includeBrands: false,
  includeCategories: false,
  categoryField: 'customLabel0',
  brandField: '',
  dryRun: true,
  removeUnmatchedItems: false,
  maxItemChangesPerRun: 40,
  reporting: {
    logLevel: 'SUMMARY',
    emailRecipients: 'ppc@companie.ro',
    sendOnNoChange: false,
    includeVerifiedRows: false,
    maxRowsPerSection: 30,
  },
};
```

| Obiectiv | Setare necesară |
| --- | --- |
| Produse individuale | `includeProductTiers: true` și URL final corect pe fiecare card. |
| Branduri | `includeBrands: true`; titlul cardului trebuie să corespundă brandului sau labelului ales. |
| Categorii | `includeCategories: true`; `categoryField` trebuie să fie unul dintre `customLabel0`-`customLabel4`. |
| Nicio ștergere automată | Mențineți `removeUnmatchedItems: false`. |
| Fără modificări live | Mențineți `dryRun: true`. |

## 4. Prima rulare - simulare

Salvați și autorizați scriptul. Rulați-l manual cu `dryRun: true`. În acest mod, nu sunt modificate asseturile Google Ads. Consultați logurile și, dacă ați configurat o adresă, raportul e-mail.

Validați ca fiecare actualizare propusă să aibă sens: URL-ul produsului să fie corect, suma să fie în moneda corectă, iar titlul unui card de brand sau categorie să corespundă grupului din Merchant Center. Rezolvați înainte de aplicare orice alertă de tip **AMBIGUU**, **MONEDĂ NEPOTRIVITĂ** sau **NEPOTRIVIT**.

## 5. Activare și programare

După ce simularea este corectă, schimbați `dryRun` în `false`, salvați și executați din nou manual. Pentru prima aplicare, păstrați plafonul `maxItemChangesPerRun` între 20 și 40. Consultați imediat raportul de rulare.

Programați apoi rularea zilnică sau la frecvența justificată de dinamica prețurilor din magazin. Merchant Center poate expune cu întârziere produsul procesat după o modificare de feed, de aceea nu programați scriptul exact în același minut cu importul feedului.

> **Regulă de siguranță:** nu activați `removeUnmatchedItems: true` până nu ați observat mai multe rulări corecte. Această opțiune elimină doar cardurile fără corespondent eligibil, dar este mai sigur să rămână dezactivată la început.

## 6. Dacă apare o eroare

| Simptom | Verificare imediată |
| --- | --- |
| Nu pot fi citite produse Merchant Center | Merchant API Products este activă, aliasul este `MerchantApiProducts`, iar utilizatorul are acces. |
| Nu sunt propuse modificări | Confirmați Merchant ID-ul, disponibilitatea produselor, URL-urile și cheia de potrivire. |
| Monedă nepotrivită | Cardul Price Asset și produsul din feed trebuie să folosească aceeași monedă. |
| Card păstrat | Assetul ar ajunge sub minimum trei carduri sau eliminarea este dezactivată. |
| Potrivire ambiguă | Nu activați fallback-ul URL până nu există o singură cale eligibilă în feed. |

Pentru explicații detaliate și sursele oficiale, consultați `Ghid_Price_Asset_Updater_Merchant_Center.md`.
