Skip to content

Upload by staff

This page is for the people who upload the daily file. You need no software skills. You fill in an Excel file and upload it.

  1. Fill in the Excel template with the leads that changed since your last file.
  2. Save it with the right name.
  3. Upload it to your MarsX upload account.
  4. Check the result.

Do this once each working day, by 09:00 WIB. Send an extra file within 24 hours of any privacy request. A privacy request is a customer asking you to withdraw their consent or to delete their data.

MarsX gives an upload account to each named member of your staff. Your company’s technical contact asks for it in writing. That is the person who deals with MarsX for your company.

The account is safe by design:

  • It is limited to your company’s link with MarsX. It cannot see any other company.
  • It shows no lead data. After an upload it shows only the file name, the file number, the row counts and the result.
  • It needs a six-digit code at every sign-in. The code comes from an authenticator app. That is a phone app that shows a new code every 30 seconds.
  • It records who uploaded each file.

MarsX sends each person the sign-in address with the account. MarsX removes an account on written request.

Fill it from your own records, by export or by hand. Every row must be a lead that exists in your own system, with your own lead ID for it. MarsX may ask you to show any lead in your system, together with its consent record.

Download the Excel template (version 1.2). The picture shows the sheet where you work.

The Leads sheet of the template, with five callouts. All values are made up.
  1. Plain title. Row 1 says in plain words what to enter. Do not change it.
  2. System name. Row 2 holds the name that MarsX reads. Do not change it. Start typing in row 3.
  3. Title colour. Black means required for every new lead. Dark grey means fill if you can: a blank is accepted and the lead is marked incomplete. Light grey means optional. Red means a privacy request only.
  4. Dropdown. Click the arrow and pick an answer. This is where a cell has a list.
  5. Pale red cell. A required cell is still empty. It is only a prompt. MarsX checks every row again.

The workbook has five sheets:

  • Start here lists six steps.
  • Leads is where you work. One row is one lead event: a new lead, a change to a lead, or a privacy request.
  • Example shows three filled rows to copy from.
  • Lists shows every dropdown answer.
  • File info holds the file number and the row count.
  1. Open the Example sheet first. Then open Leads.
  2. Start typing in row 3.
  3. Use the dropdown wherever a cell has one.
  4. Add one row for each lead that changed since your last file.
  5. The preferred dealer is optional. Pick a dealer from the dropdown, or leave it blank. A lead with no dealer goes to a MarsX queue, where staff route it to a dealer.
  6. Never delete a row to remove a lead. A lead that is missing from a file means “no change”.

For a new lead or a change, fill in the full current state of the lead. A blank cell means that detail is now empty.

Here is one new lead, explained. Every value is made up.

A filled row for a new lead, explained. All values are fictional.

A. Identity and control

Lead ID in your systempartner_lead_id
SRC-TEST-0001
Your own ID for this lead. Letters, digits, full stops, underscores and hyphens, up to 64 characters. Never reused.
Customer ID in your systempartner_customer_id
SRC-CUST-TEST-0001
Optional. Your own ID for the person, if you keep one.
Revision numbersource_revision
1
A whole number that goes up with every change to this lead. The first version is 1. On a new lead you may leave it out, and MarsX uses 1.
What is this row?record_action
new
What this row is: new, update, withdraw or delete.
Enquiry date and timecreated_at
2026-10-01T09:15:00+07:00
When the customer made the enquiry. The +07:00 is the offset from UTC and is required.
Date and time of this changeupdated_at
2026-10-01T09:15:00+07:00
When this version was made. The same as created_at for a first version. On a new lead you may leave it out, and MarsX uses created_at.

B. Customer

Customer namecustomer_name
Contoh Pelanggan
The customer's name. Required.
Mobile number (+62...)phone
+6280000000001
Starts with +628. Give a phone number or an email address, or both. At least one is required.
Email addressemail
contoh.pelanggan@contoh.example
A normal email address.

C. Interest

Model of interestmodel_interest
Model A
A model from the Lists sheet of the template, or not_specified. Not required: a lead without a model is accepted and marked incomplete.
When they plan to buypurchase_timeframe
3 bulan ke depan
Optional. One of four fixed phrases: Bulan ini, 1 bulan ke depan, 3 bulan ke depan, Belum tahu.
Test drive requested?test_drive_requested
N
Optional. Y or N.
Customer's own requestenquiry_notes
Ingin meminta penawaran untuk Model A.
Optional. The customer's own request, up to 500 characters. No chat transcripts.

D. Location

Provincecustomer_province
Jawa Barat
Optional. A province from the Lists sheet.
City (Kota or Kabupaten)customer_city
Kota Bandung
Kota or Kabupaten. Not required: a lead without a city is accepted and marked incomplete.

E. Source

How the lead reached yousource_channel
chat
Where the enquiry came from. Required. One of eight values from the Lists sheet.
campaign, utm_source, utm_medium, utm_campaign
campaign-test, example, chat, campaign-test
Optional marketing labels.
Session IDsession_id
SESSION-TEST-0001
Optional. Your own session reference.

F. Consent

Customer agreed to be contactedcontact_consent
yes
The customer agreed to be contacted. Required. The only accepted value is yes.
Consent date and timeconsent_time
2026-10-01T09:14:40+07:00
When the customer agreed to be contacted. Required.
Consent record numberconsent_reference
CONSENT-TEST-0001
Optional. A reference to your record of the real consent. Not a yes or no.
Privacy notice versionnotice_version
NOTICE-TEST-1
Optional. Which privacy notice wording the customer saw.
What the customer agreed toconsent_purpose
sales_follow_up
Optional. What the customer agreed to. One value from the Lists sheet.

G. AI values

ai_intent_label, ai_summary
ingin_penawaran, Pelanggan meminta penawaran Model A.
Optional. Your own derived label and short summary. They never decide access or routing.

Blank in this row: phone_verified, preferred_dealer_code, ad_click_id, ad_id, ad_creative_id and section H (privacy request). A blank cell means the field is empty.

Each change to a lead needs a higher revision number than the one before, and the time of the change. Start at 1. Add 1 each time you change that lead. Never reuse a number for different details. On a new lead you may leave the revision number and the time of the change blank. MarsX then uses 1 and the enquiry time.

A new lead needs eight things, shown in black cells: your lead ID, what the row is, the enquiry time, the customer’s name, a mobile number or an email, how the lead reached you, “Customer agreed to be contacted” answered Yes, and the consent time. A lead without one of them is set aside with a reason. If the model or the city is missing, MarsX still accepts the lead and marks it incomplete.

Item What to enter
Template version Leave it as it is
Partner code The short code MarsX gave your company, in capital letters
File number Six digits. Add 1 for each new file, for example 000123
Date and time of export When you made the file, for example 2026-10-01T14:30:00+07:00
Number of lead rows How many filled rows the Leads sheet holds. A wrong number rejects the file

Save the workbook as .xlsx. Name it like this:

<partner code>_<year-month-day>_<file number>.xlsx

For example, EXAMPLE_2026-10-01_000123.xlsx.

  • The number of lead rows matches the number on File info.
  • The file has no formulas, no macros, no merged cells and no links. MarsX rejects the whole file if it finds any.
  • You did not edit the file by hand after your system exported it, if a system made it.
  • The file is no bigger than 10 MiB (about 10 MB). It has at most 10,000 rows and 500 characters in a cell. A file over a limit is rejected whole.
  • The file holds none of the details listed in “Never do this” below.

Sign in to your upload account and upload the file. The account then shows the file name, the file number, the row counts and the result.

MarsX also emails the result to your company’s technical contact. The result is one of three:

  • accepted
  • rejected, with the reason
  • a gap in the sequence: a file number is missing

If you upload the same file twice, nothing changes.

  • One row has a problem. MarsX sets that row aside with a reason. The other rows in the file still load.
  • MarsX rejects the whole file. This happens when the template version or the row count is wrong. It also happens when the file holds a formula, a macro or a link, or breaks a size limit. Fix the file and send it again.
  • A file is missing or incomplete. MarsX tells you. Send that file again, unchanged, within 24 hours of the notice. A later file does not replace the missing one. Until the gap closes, MarsX keeps your connection restricted and shows a file gap.

When a customer withdraws or asks for deletion

Section titled “When a customer withdraws or asks for deletion”

Act at once. MarsX needs these rows within 24 hours of the request.

  1. Add a row for the lead. In What is this row?, pick Withdraw (privacy request) or Delete (privacy request).
  2. Fill in only the first five columns and the three red columns at the end. Leave every column between them empty.
  3. Pick the Type of privacy request: withdraw consent, erase personal data, or restrict use of personal data.
  4. Send the file within 24 hours of the request. Send it even if it holds only privacy rows.
  5. Include every privacy request since your previous file, also for leads you no longer hold.
A filled row for a withdrawal, explained. All values are fictional.

A. Identity and control

Lead ID in your systempartner_lead_id
SRC-TEST-0001
The same lead as before.
Revision numbersource_revision
3
Still rises, but a withdrawal is applied even if it carries an older number than MarsX holds.
What is this row?record_action
withdraw
Or delete, for an erasure.
Enquiry date and timecreated_at
2026-10-01T09:15:00+07:00
Same as the first version.
Date and time of this changeupdated_at
2026-10-04T15:00:00+07:00
When this version was made.

H. Privacy request

Type of privacy requestrequest_type
withdraw_consent
withdraw_consent, restriction or erasure.
Privacy request date and timerequest_time
2026-10-04T14:59:30+07:00
When the customer made the request.
Privacy request referencerequest_reference
PRIV-TEST-0001
Your own reference for the request. Same character rules as the lead ID.

Leave every customer, interest, location, source, consent and AI column blank. A removal row carries identity and request fields only.

What MarsX does with these rows:

  • It restricts the lead’s personal data. A salesperson can no longer see or contact the lead.
  • The restriction stays until an approved privacy process lifts it. A later change to that lead, in any file, cannot lift it. MarsX sets the change aside.
  • After an erasure, MarsX keeps only the minimum: the lead ID, the restriction and the request details.

When MarsX asks, you also send a full list of leads that are currently withdrawn, restricted or erased. Send it as a file with only withdraw and delete rows, named <partner code>_<year-month-day>_privacy-list.xlsx.

  • Never send a lead file by email or WhatsApp

    MarsX does not accept it. Use the signed upload or the staff upload account.

  • Never edit or retype a file after export

    Upload the file exactly as your system produced it. Do not re-key a lead.

  • Never send identity or money documents

    No KTP or family-card numbers, income, financing documents or full chat transcripts. No AI guesses about affordability or location.

  • Never send status or sales outcomes

    No status, assignment, follow-up, test drives, sales or SPK numbers. Dealers record these in MarsX Dashboard.

  • Never reuse a revision number for different content

    The number must rise with every change. Reuse sets the event aside as a conflict.

Before your first real file, send a made-up sample file. MarsX checks it. See Testing and going live.

Write to fjrgumilang@gmail.com. Say which file and which day. Never attach a real lead file to an email.